diff --git a/.gitignore b/.gitignore index 43995bd..aae665e 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,10 @@ target/ #Ipython Notebook .ipynb_checkpoints + +# OpenAPI Generator metadata +.openapi-generator/ + +# Claude Code local settings +.claude/settings.local.json +.claude/settings.json diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES deleted file mode 100644 index fce2375..0000000 --- a/.openapi-generator/FILES +++ /dev/null @@ -1,721 +0,0 @@ -.github/workflows/python.yml -.gitignore -.gitlab-ci.yml -.travis.yml -README.md -cyperf/__init__.py -cyperf/api/__init__.py -cyperf/api/agents_api.py -cyperf/api/application_resources_api.py -cyperf/api/authorization_api.py -cyperf/api/brokers_api.py -cyperf/api/configurations_api.py -cyperf/api/data_migration_api.py -cyperf/api/diagnostics_api.py -cyperf/api/license_servers_api.py -cyperf/api/licensing_api.py -cyperf/api/notifications_api.py -cyperf/api/reports_api.py -cyperf/api/sessions_api.py -cyperf/api/statistics_api.py -cyperf/api/test_operations_api.py -cyperf/api/test_results_api.py -cyperf/api/utils_api.py -cyperf/api_client.py -cyperf/api_response.py -cyperf/configuration.py -cyperf/dynamic_model_meta.py -cyperf/dynamic_models/__init__.py -cyperf/exceptions.py -cyperf/models/__init__.py -cyperf/models/action.py -cyperf/models/action_base.py -cyperf/models/activation_code_info.py -cyperf/models/activation_code_list_request.py -cyperf/models/activation_code_request.py -cyperf/models/advanced_settings.py -cyperf/models/agent.py -cyperf/models/agent_assignment_by_port.py -cyperf/models/agent_assignment_details.py -cyperf/models/agent_assignments.py -cyperf/models/agent_cpu_info.py -cyperf/models/agent_features.py -cyperf/models/agent_optimization_mode.py -cyperf/models/agent_release.py -cyperf/models/agent_reservation.py -cyperf/models/agent_to_be_rebooted.py -cyperf/models/agents_group.py -cyperf/models/api_link.py -cyperf/models/api_relationship.py -cyperf/models/app_exchange.py -cyperf/models/app_flow.py -cyperf/models/app_id.py -cyperf/models/app_mode.py -cyperf/models/application.py -cyperf/models/application_profile.py -cyperf/models/application_type.py -cyperf/models/appsec_app.py -cyperf/models/appsec_attack.py -cyperf/models/appsec_config.py -cyperf/models/archive_info.py -cyperf/models/array_v2_element_metadata.py -cyperf/models/async_context.py -cyperf/models/async_operation_response.py -cyperf/models/attack.py -cyperf/models/attack_action.py -cyperf/models/attack_objectives_and_timeline.py -cyperf/models/attack_profile.py -cyperf/models/attack_timeline_segment.py -cyperf/models/attack_track.py -cyperf/models/auth_method_type.py -cyperf/models/auth_profile.py -cyperf/models/auth_realms_keysight_protocol_openid_connect_token_post200_response.py -cyperf/models/auth_settings.py -cyperf/models/authentication_settings.py -cyperf/models/automatic_ip_type.py -cyperf/models/broker.py -cyperf/models/capture_settings.py -cyperf/models/category.py -cyperf/models/category_filter.py -cyperf/models/category_value.py -cyperf/models/cert_config.py -cyperf/models/certificate.py -cyperf/models/change_aggregation_mode_operation.py -cyperf/models/change_link_state_operation.py -cyperf/models/chassis_info.py -cyperf/models/choice.py -cyperf/models/cipher_tls12.py -cyperf/models/cipher_tls13.py -cyperf/models/cisco_any_connect_settings.py -cyperf/models/cisco_encapsulation.py -cyperf/models/clear_ports_ownership_operation.py -cyperf/models/command.py -cyperf/models/compute_node.py -cyperf/models/config.py -cyperf/models/config_category.py -cyperf/models/config_id.py -cyperf/models/config_metadata.py -cyperf/models/config_metadata_config_data_value.py -cyperf/models/config_validation.py -cyperf/models/conflict.py -cyperf/models/connection.py -cyperf/models/connection_persistence.py -cyperf/models/consumer.py -cyperf/models/controller.py -cyperf/models/counted_feature_consumer.py -cyperf/models/counted_feature_stats.py -cyperf/models/create_app_operation.py -cyperf/models/custom_dashboards.py -cyperf/models/custom_import_handler.py -cyperf/models/custom_stat.py -cyperf/models/dashboard.py -cyperf/models/data_type.py -cyperf/models/data_type_values_inner.py -cyperf/models/definition.py -cyperf/models/dh_p1_group.py -cyperf/models/diagnostic_component.py -cyperf/models/diagnostic_component_context.py -cyperf/models/diagnostic_options.py -cyperf/models/disk_usage.py -cyperf/models/dns_resolver.py -cyperf/models/dns_server.py -cyperf/models/dtls_settings.py -cyperf/models/dut_network.py -cyperf/models/effective_ports.py -cyperf/models/emulated_router.py -cyperf/models/emulated_router_range.py -cyperf/models/emulated_subnet_config.py -cyperf/models/enc_p1_algorithm.py -cyperf/models/enc_p2_algorithm.py -cyperf/models/endpoint.py -cyperf/models/entitlement_code_info.py -cyperf/models/entitlement_code_request.py -cyperf/models/enum.py -cyperf/models/error_description.py -cyperf/models/error_response.py -cyperf/models/esp_over_udp_settings.py -cyperf/models/eth_range.py -cyperf/models/exchange.py -cyperf/models/exchange_payload.py -cyperf/models/expected_disk_space.py -cyperf/models/expected_disk_space_message.py -cyperf/models/expected_disk_space_pretty_size.py -cyperf/models/expected_disk_space_size.py -cyperf/models/export_all_operation.py -cyperf/models/export_apps_operation_input.py -cyperf/models/export_files_operation_input.py -cyperf/models/export_files_request.py -cyperf/models/export_package_operation.py -cyperf/models/external_resource_info.py -cyperf/models/f5_encapsulation.py -cyperf/models/f5_settings.py -cyperf/models/feature.py -cyperf/models/feature_reservation.py -cyperf/models/feature_reservation_reserve.py -cyperf/models/file_metadata.py -cyperf/models/file_value.py -cyperf/models/filter.py -cyperf/models/filtered_stat.py -cyperf/models/fortinet_encapsulation.py -cyperf/models/fortinet_settings.py -cyperf/models/fulfillment_request.py -cyperf/models/generate_all_operation.py -cyperf/models/generate_csv_reports_operation.py -cyperf/models/generate_pdf_report_operation.py -cyperf/models/generic_file.py -cyperf/models/get_agent_tags200_response.py -cyperf/models/get_agent_tags200_response_one_of.py -cyperf/models/get_agents200_response.py -cyperf/models/get_agents200_response_one_of.py -cyperf/models/get_application_types200_response.py -cyperf/models/get_application_types200_response_one_of.py -cyperf/models/get_apps200_response.py -cyperf/models/get_apps200_response_one_of.py -cyperf/models/get_async_operation_result200_response.py -cyperf/models/get_attacks200_response.py -cyperf/models/get_attacks200_response_one_of.py -cyperf/models/get_attacks_operation.py -cyperf/models/get_auth_profiles200_response.py -cyperf/models/get_auth_profiles200_response_one_of.py -cyperf/models/get_brokers200_response.py -cyperf/models/get_brokers200_response_one_of.py -cyperf/models/get_categories_operation.py -cyperf/models/get_certificates200_response.py -cyperf/models/get_certificates200_response_one_of.py -cyperf/models/get_config_categories200_response.py -cyperf/models/get_config_categories200_response_one_of.py -cyperf/models/get_configs200_response.py -cyperf/models/get_configs200_response_one_of.py -cyperf/models/get_consumers200_response.py -cyperf/models/get_consumers200_response_one_of.py -cyperf/models/get_controllers200_response.py -cyperf/models/get_controllers200_response_one_of.py -cyperf/models/get_custom_import_operations200_response.py -cyperf/models/get_custom_import_operations200_response_one_of.py -cyperf/models/get_files200_response.py -cyperf/models/get_files200_response_one_of.py -cyperf/models/get_http_profiles200_response.py -cyperf/models/get_http_profiles200_response_one_of.py -cyperf/models/get_license_async_operation_result200_response.py -cyperf/models/get_license_servers200_response.py -cyperf/models/get_license_servers200_response_one_of.py -cyperf/models/get_meta200_response.py -cyperf/models/get_meta200_response_one_of.py -cyperf/models/get_notifications200_response.py -cyperf/models/get_notifications200_response_one_of.py -cyperf/models/get_plugins200_response.py -cyperf/models/get_plugins200_response_one_of.py -cyperf/models/get_result_tags200_response.py -cyperf/models/get_result_tags200_response_one_of.py -cyperf/models/get_results200_response.py -cyperf/models/get_results200_response_one_of.py -cyperf/models/get_sessions200_response.py -cyperf/models/get_sessions200_response_one_of.py -cyperf/models/get_stats200_response.py -cyperf/models/get_stats200_response_one_of.py -cyperf/models/get_strikes_operation.py -cyperf/models/hash_p1_algorithm.py -cyperf/models/hash_p2_algorithm.py -cyperf/models/health_check_config.py -cyperf/models/health_issue.py -cyperf/models/host_id.py -cyperf/models/http_profile.py -cyperf/models/http_version.py -cyperf/models/id_p_signature_algo.py -cyperf/models/import_all_operation.py -cyperf/models/import_offline_license_result.py -cyperf/models/ingest_operation.py -cyperf/models/inner_ip_range.py -cyperf/models/interface.py -cyperf/models/ip_mask.py -cyperf/models/ip_network.py -cyperf/models/ip_preference.py -cyperf/models/ip_range.py -cyperf/models/ip_sec_range.py -cyperf/models/ip_sec_stack.py -cyperf/models/ip_ver.py -cyperf/models/license.py -cyperf/models/license_receipt.py -cyperf/models/license_server_metadata.py -cyperf/models/link.py -cyperf/models/load_config_operation.py -cyperf/models/local_subnet_config.py -cyperf/models/log_config.py -cyperf/models/log_level.py -cyperf/models/mac_dtls_stack.py -cyperf/models/marked_as_deleted.py -cyperf/models/media_file.py -cyperf/models/media_track.py -cyperf/models/metadata.py -cyperf/models/mos_mode.py -cyperf/models/name_id_format.py -cyperf/models/name_server.py -cyperf/models/network_mapping.py -cyperf/models/network_profile.py -cyperf/models/network_segment_base.py -cyperf/models/notification.py -cyperf/models/notification_counts.py -cyperf/models/ntp_info.py -cyperf/models/objective_type.py -cyperf/models/objective_unit.py -cyperf/models/objective_value_entry.py -cyperf/models/objectives_and_timeline.py -cyperf/models/open_api_definitions.py -cyperf/models/p1_config.py -cyperf/models/p2_config.py -cyperf/models/pair.py -cyperf/models/pangp_encapsulation.py -cyperf/models/pangp_settings.py -cyperf/models/param_metadata.py -cyperf/models/param_metadata_type_info.py -cyperf/models/param_metadata_type_info_array_v2.py -cyperf/models/param_metadata_type_info_array_v2_elements_inner.py -cyperf/models/param_metadata_type_info_int.py -cyperf/models/param_metadata_type_info_media.py -cyperf/models/param_metadata_type_info_string.py -cyperf/models/param_source_type.py -cyperf/models/param_type.py -cyperf/models/parameter.py -cyperf/models/parameter_metadata.py -cyperf/models/params.py -cyperf/models/params_enum.py -cyperf/models/payload_meta.py -cyperf/models/payload_metadata.py -cyperf/models/pep_dut.py -cyperf/models/pfs_p2_group.py -cyperf/models/plugin.py -cyperf/models/plugin_stats.py -cyperf/models/port.py -cyperf/models/port_settings.py -cyperf/models/prepare_test_operation.py -cyperf/models/prepared_test_options.py -cyperf/models/prf_p1_algorithm.py -cyperf/models/protected_subnet_config.py -cyperf/models/reboot_operation_input.py -cyperf/models/reboot_ports_operation.py -cyperf/models/reference.py -cyperf/models/release_operation_input.py -cyperf/models/remote_access.py -cyperf/models/remote_subnet_config.py -cyperf/models/replay_capture.py -cyperf/models/required_file_types.py -cyperf/models/reserve_operation_input.py -cyperf/models/result_file_metadata.py -cyperf/models/result_metadata.py -cyperf/models/results_group.py -cyperf/models/rtp_encryption_mode.py -cyperf/models/rtp_profile.py -cyperf/models/rtp_profile_meta.py -cyperf/models/save_config_operation.py -cyperf/models/scenario.py -cyperf/models/secondary_objective.py -cyperf/models/segment_type.py -cyperf/models/selected_env.py -cyperf/models/session.py -cyperf/models/session_reuse_method_tls12.py -cyperf/models/session_reuse_method_tls13.py -cyperf/models/set_dpdk_mode_operation_input.py -cyperf/models/set_ntp_operation_input.py -cyperf/models/simulated_id_p.py -cyperf/models/snapshot.py -cyperf/models/sort_body_field.py -cyperf/models/specific_objective.py -cyperf/models/start_root_batch_delete_request_inner.py -cyperf/models/stateless_stream.py -cyperf/models/static_arp_entry.py -cyperf/models/stats_result.py -cyperf/models/steady_segment.py -cyperf/models/step_segment.py -cyperf/models/stream_direction.py -cyperf/models/stream_payload_type.py -cyperf/models/stream_profile.py -cyperf/models/supported_group_tls13.py -cyperf/models/switch_app_operation.py -cyperf/models/system_info.py -cyperf/models/tcp_profile.py -cyperf/models/test_info.py -cyperf/models/test_state_changed_operation.py -cyperf/models/time_value.py -cyperf/models/timeline_segment.py -cyperf/models/timeline_segment_base.py -cyperf/models/timeline_segment_union.py -cyperf/models/timers.py -cyperf/models/tls_profile.py -cyperf/models/track.py -cyperf/models/track_type.py -cyperf/models/traffic_agent_info.py -cyperf/models/traffic_profile_base.py -cyperf/models/traffic_settings.py -cyperf/models/transport_profile.py -cyperf/models/transport_profile_base.py -cyperf/models/tunnel_range.py -cyperf/models/tunnel_settings.py -cyperf/models/tunnel_stack.py -cyperf/models/type_array_v2_metadata.py -cyperf/models/type_info_metadata.py -cyperf/models/type_int_metadata.py -cyperf/models/type_media_metadata.py -cyperf/models/type_string_metadata.py -cyperf/models/udp_profile.py -cyperf/models/update_network_mapping.py -cyperf/models/validation_message.py -cyperf/models/version.py -cyperf/models/vlan_range.py -cyperf/py.typed -cyperf/rest.py -docs/APILink.md -docs/APIRelationship.md -docs/Action.md -docs/ActionBase.md -docs/ActivationCodeInfo.md -docs/ActivationCodeListRequest.md -docs/ActivationCodeRequest.md -docs/AdvancedSettings.md -docs/Agent.md -docs/AgentAssignmentByPort.md -docs/AgentAssignmentDetails.md -docs/AgentAssignments.md -docs/AgentCPUInfo.md -docs/AgentFeatures.md -docs/AgentOptimizationMode.md -docs/AgentRelease.md -docs/AgentReservation.md -docs/AgentToBeRebooted.md -docs/AgentsApi.md -docs/AgentsGroup.md -docs/AppExchange.md -docs/AppFlow.md -docs/AppId.md -docs/AppMode.md -docs/Application.md -docs/ApplicationProfile.md -docs/ApplicationResourcesApi.md -docs/ApplicationType.md -docs/AppsecApp.md -docs/AppsecAttack.md -docs/AppsecConfig.md -docs/ArchiveInfo.md -docs/ArrayV2ElementMetadata.md -docs/AsyncContext.md -docs/Attack.md -docs/AttackAction.md -docs/AttackObjectivesAndTimeline.md -docs/AttackProfile.md -docs/AttackTimelineSegment.md -docs/AttackTrack.md -docs/AuthMethodType.md -docs/AuthProfile.md -docs/AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.md -docs/AuthSettings.md -docs/AuthenticationSettings.md -docs/AuthorizationApi.md -docs/AutomaticIpType.md -docs/Broker.md -docs/BrokersApi.md -docs/CaptureSettings.md -docs/Category.md -docs/CategoryFilter.md -docs/CategoryValue.md -docs/CertConfig.md -docs/Certificate.md -docs/ChangeAggregationModeOperation.md -docs/ChangeLinkStateOperation.md -docs/ChassisInfo.md -docs/Choice.md -docs/CipherTLS12.md -docs/CipherTLS13.md -docs/CiscoAnyConnectSettings.md -docs/CiscoEncapsulation.md -docs/ClearPortsOwnershipOperation.md -docs/Command.md -docs/ComputeNode.md -docs/Config.md -docs/ConfigCategory.md -docs/ConfigId.md -docs/ConfigMetadata.md -docs/ConfigMetadataConfigDataValue.md -docs/ConfigValidation.md -docs/ConfigurationsApi.md -docs/Conflict.md -docs/Connection.md -docs/ConnectionPersistence.md -docs/Consumer.md -docs/Controller.md -docs/CountedFeatureConsumer.md -docs/CountedFeatureStats.md -docs/CreateAppOperation.md -docs/CustomDashboards.md -docs/CustomImportHandler.md -docs/CustomStat.md -docs/DNSResolver.md -docs/DNSServer.md -docs/DTLSSettings.md -docs/DUTNetwork.md -docs/Dashboard.md -docs/DataMigrationApi.md -docs/DataType.md -docs/DataTypeValuesInner.md -docs/Definition.md -docs/DhP1Group.md -docs/DiagnosticComponent.md -docs/DiagnosticComponentContext.md -docs/DiagnosticOptions.md -docs/DiagnosticsApi.md -docs/DiskUsage.md -docs/ESPOverUDPSettings.md -docs/EffectivePorts.md -docs/EmulatedRouter.md -docs/EmulatedRouterRange.md -docs/EmulatedSubnetConfig.md -docs/EncP1Algorithm.md -docs/EncP2Algorithm.md -docs/Endpoint.md -docs/EntitlementCodeInfo.md -docs/EntitlementCodeRequest.md -docs/Enum.md -docs/ErrorDescription.md -docs/ErrorResponse.md -docs/EthRange.md -docs/Exchange.md -docs/ExchangePayload.md -docs/ExpectedDiskSpace.md -docs/ExpectedDiskSpaceMessage.md -docs/ExpectedDiskSpacePrettySize.md -docs/ExpectedDiskSpaceSize.md -docs/ExportAllOperation.md -docs/ExportAppsOperationInput.md -docs/ExportFilesOperationInput.md -docs/ExportFilesRequest.md -docs/ExportPackageOperation.md -docs/ExternalResourceInfo.md -docs/F5Encapsulation.md -docs/F5Settings.md -docs/Feature.md -docs/FeatureReservation.md -docs/FeatureReservationReserve.md -docs/FileMetadata.md -docs/FileValue.md -docs/Filter.md -docs/FilteredStat.md -docs/FortinetEncapsulation.md -docs/FortinetSettings.md -docs/FulfillmentRequest.md -docs/GenerateAllOperation.md -docs/GenerateCSVReportsOperation.md -docs/GeneratePDFReportOperation.md -docs/GenericFile.md -docs/GetAgentTags200Response.md -docs/GetAgentTags200ResponseOneOf.md -docs/GetAgents200Response.md -docs/GetAgents200ResponseOneOf.md -docs/GetApplicationTypes200Response.md -docs/GetApplicationTypes200ResponseOneOf.md -docs/GetApps200Response.md -docs/GetApps200ResponseOneOf.md -docs/GetAsyncOperationResult200Response.md -docs/GetAttacks200Response.md -docs/GetAttacks200ResponseOneOf.md -docs/GetAttacksOperation.md -docs/GetAuthProfiles200Response.md -docs/GetAuthProfiles200ResponseOneOf.md -docs/GetBrokers200Response.md -docs/GetBrokers200ResponseOneOf.md -docs/GetCategoriesOperation.md -docs/GetCertificates200Response.md -docs/GetCertificates200ResponseOneOf.md -docs/GetConfigCategories200Response.md -docs/GetConfigCategories200ResponseOneOf.md -docs/GetConfigs200Response.md -docs/GetConfigs200ResponseOneOf.md -docs/GetConsumers200Response.md -docs/GetConsumers200ResponseOneOf.md -docs/GetControllers200Response.md -docs/GetControllers200ResponseOneOf.md -docs/GetCustomImportOperations200Response.md -docs/GetCustomImportOperations200ResponseOneOf.md -docs/GetFiles200Response.md -docs/GetFiles200ResponseOneOf.md -docs/GetHttpProfiles200Response.md -docs/GetHttpProfiles200ResponseOneOf.md -docs/GetLicenseAsyncOperationResult200Response.md -docs/GetLicenseServers200Response.md -docs/GetLicenseServers200ResponseOneOf.md -docs/GetMeta200Response.md -docs/GetMeta200ResponseOneOf.md -docs/GetNotifications200Response.md -docs/GetNotifications200ResponseOneOf.md -docs/GetPlugins200Response.md -docs/GetPlugins200ResponseOneOf.md -docs/GetResultTags200Response.md -docs/GetResultTags200ResponseOneOf.md -docs/GetResults200Response.md -docs/GetResults200ResponseOneOf.md -docs/GetSessions200Response.md -docs/GetSessions200ResponseOneOf.md -docs/GetStats200Response.md -docs/GetStats200ResponseOneOf.md -docs/GetStrikesOperation.md -docs/HTTPProfile.md -docs/HTTPVersion.md -docs/HashP1Algorithm.md -docs/HashP2Algorithm.md -docs/HealthCheckConfig.md -docs/HealthIssue.md -docs/HostID.md -docs/IPNetwork.md -docs/IPRange.md -docs/IPSecRange.md -docs/IPSecStack.md -docs/IdPSignatureAlgo.md -docs/ImportAllOperation.md -docs/ImportOfflineLicenseResult.md -docs/IngestOperation.md -docs/InnerIPRange.md -docs/Interface.md -docs/IpMask.md -docs/IpPreference.md -docs/IpVer.md -docs/License.md -docs/LicenseReceipt.md -docs/LicenseServerMetadata.md -docs/LicenseServersApi.md -docs/LicensingApi.md -docs/Link.md -docs/LoadConfigOperation.md -docs/LocalSubnetConfig.md -docs/LogConfig.md -docs/LogLevel.md -docs/MacDtlsStack.md -docs/MarkedAsDeleted.md -docs/MediaFile.md -docs/MediaTrack.md -docs/Metadata.md -docs/MosMode.md -docs/NameIdFormat.md -docs/NameServer.md -docs/NetworkMapping.md -docs/NetworkProfile.md -docs/NetworkSegmentBase.md -docs/Notification.md -docs/NotificationCounts.md -docs/NotificationsApi.md -docs/NtpInfo.md -docs/ObjectiveType.md -docs/ObjectiveUnit.md -docs/ObjectiveValueEntry.md -docs/ObjectivesAndTimeline.md -docs/OpenAPIDefinitions.md -docs/P1Config.md -docs/P2Config.md -docs/PANGPEncapsulation.md -docs/PANGPSettings.md -docs/Pair.md -docs/ParamMetadata.md -docs/ParamMetadataTypeInfo.md -docs/ParamMetadataTypeInfoArrayV2.md -docs/ParamMetadataTypeInfoArrayV2ElementsInner.md -docs/ParamMetadataTypeInfoInt.md -docs/ParamMetadataTypeInfoMedia.md -docs/ParamMetadataTypeInfoString.md -docs/ParamSourceType.md -docs/ParamType.md -docs/Parameter.md -docs/ParameterMetadata.md -docs/Params.md -docs/ParamsEnum.md -docs/PayloadMeta.md -docs/PayloadMetadata.md -docs/PepDUT.md -docs/PfsP2Group.md -docs/Plugin.md -docs/PluginStats.md -docs/Port.md -docs/PortSettings.md -docs/PrepareTestOperation.md -docs/PreparedTestOptions.md -docs/PrfP1Algorithm.md -docs/ProtectedSubnetConfig.md -docs/RTPEncryptionMode.md -docs/RTPProfile.md -docs/RTPProfileMeta.md -docs/RebootOperationInput.md -docs/RebootPortsOperation.md -docs/Reference.md -docs/ReleaseOperationInput.md -docs/RemoteAccess.md -docs/RemoteSubnetConfig.md -docs/ReplayCapture.md -docs/ReportsApi.md -docs/RequiredFileTypes.md -docs/ReserveOperationInput.md -docs/ResultFileMetadata.md -docs/ResultMetadata.md -docs/ResultsGroup.md -docs/SaveConfigOperation.md -docs/Scenario.md -docs/SecondaryObjective.md -docs/SegmentType.md -docs/SelectedEnv.md -docs/Session.md -docs/SessionReuseMethodTLS12.md -docs/SessionReuseMethodTLS13.md -docs/SessionsApi.md -docs/SetDpdkModeOperationInput.md -docs/SetNtpOperationInput.md -docs/SimulatedIdP.md -docs/Snapshot.md -docs/SortBodyField.md -docs/SpecificObjective.md -docs/StartRootBatchDeleteRequestInner.md -docs/StatelessStream.md -docs/StaticARPEntry.md -docs/StatisticsApi.md -docs/StatsResult.md -docs/SteadySegment.md -docs/StepSegment.md -docs/StreamDirection.md -docs/StreamPayloadType.md -docs/StreamProfile.md -docs/SupportedGroupTLS13.md -docs/SwitchAppOperation.md -docs/SystemInfo.md -docs/TLSProfile.md -docs/TcpProfile.md -docs/TestInfo.md -docs/TestOperationsApi.md -docs/TestResultsApi.md -docs/TestStateChangedOperation.md -docs/TimeValue.md -docs/TimelineSegment.md -docs/TimelineSegmentBase.md -docs/TimelineSegmentUnion.md -docs/Timers.md -docs/Track.md -docs/TrackType.md -docs/TrafficAgentInfo.md -docs/TrafficProfileBase.md -docs/TrafficSettings.md -docs/TransportProfile.md -docs/TransportProfileBase.md -docs/TunnelRange.md -docs/TunnelSettings.md -docs/TunnelStack.md -docs/TypeArrayV2Metadata.md -docs/TypeInfoMetadata.md -docs/TypeIntMetadata.md -docs/TypeMediaMetadata.md -docs/TypeStringMetadata.md -docs/UdpProfile.md -docs/UpdateNetworkMapping.md -docs/UtilsApi.md -docs/VLANRange.md -docs/ValidationMessage.md -docs/Version.md -git_push.sh -pyproject.toml -requirements.txt -setup.cfg -setup.py -test-requirements.txt -test/__init__.py -tox.ini diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION deleted file mode 100644 index 1985849..0000000 --- a/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -7.7.0 diff --git a/.pypirc b/.pypirc index 502c84a..6555c91 100644 --- a/.pypirc +++ b/.pypirc @@ -9,6 +9,3 @@ repository = https://test.pypi.org/legacy/ [pypi] repository = https://upload.pypi.org/legacy/ - -[artifactory] -repository=https://artifactory.it.keysight.com/artifactory/api/pypi/pypi-local-wap diff --git a/API-endpoints-changelog.txt b/API-endpoints-changelog.txt deleted file mode 100644 index edb5b90..0000000 --- a/API-endpoints-changelog.txt +++ /dev/null @@ -1,817 +0,0 @@ -AgentsApi - DELETE /api/v2/agents/{agentId} - old: delete_agents - new: delete_agent - GET /api/v2/agents/{agentId} - old: get_agents_by_id - new: get_agent_by_id - GET /api/v2/tags - old: get_agent_tags - new: get_agents_tags - GET /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports/{portId} - old: get_ports_by_id - new: get_compute_node_port_by_id - GET /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports - old: get_ports - new: get_compute_node_ports - GET /api/v2/controllers/{controllerId} - old: get_controllers_by_id - new: get_controller_by_id - GET /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId} - old: get_compute_nodes_by_id - new: get_controller_compute_node_by_id - GET /api/v2/controllers/{controllerId}/compute-nodes - old: get_compute_nodes - new: get_controller_compute_nodes - PATCH /api/v2/agents/{agentId} - old: patch_agents - new: patch_agent - GET /api/v2/agents/operations/batch-delete/{id} - old: poll_batch_delete - new: poll_agents_batch_delete - GET /api/v2/agents/operations/exportFiles/{id} - old: poll_export_files - new: poll_agents_export_files - GET /api/v2/agents/operations/reboot/{id} - old: poll_reboot - new: poll_agents_reboot - GET /api/v2/agents/operations/release/{id} - old: poll_release - new: poll_agents_release - GET /api/v2/agents/operations/reserve/{id} - old: poll_reserve - new: poll_agents_reserve - GET /api/v2/agents/operations/set-dpdk-mode/{id} - old: poll_set_dpdk_mode - new: poll_agents_set_dpdk_mode - GET /api/v2/agents/operations/set-ntp/{id} - old: poll_set_ntp - new: poll_agents_set_ntp - GET /api/v2/agents/operations/update/{id} - old: poll_update - new: poll_agents_update - POST /api/v2/agents/operations/batch-delete - old: start_batch_delete - new: start_agents_batch_delete - POST /api/v2/agents/operations/exportFiles - old: start_export_files - new: start_agents_export_files - POST /api/v2/agents/operations/reboot - old: start_reboot - new: start_agents_reboot - POST /api/v2/agents/operations/release - old: start_release - new: start_agents_release - POST /api/v2/agents/operations/reserve - old: start_reserve - new: start_agents_reserve - POST /api/v2/agents/operations/set-dpdk-mode - old: start_set_dpdk_mode - new: start_agents_set_dpdk_mode - POST /api/v2/agents/operations/set-ntp - old: start_set_ntp - new: start_agents_set_ntp - POST /api/v2/agents/operations/update - old: start_update - new: start_agents_update -ApplicationResourcesApi - DELETE /api/v2/resources/captures/{captureId} - old: delete_captures - new: delete_resources_capture - DELETE /api/v2/resources/certificates/{certificateId} - old: delete_certificates - new: delete_resources_certificate - DELETE /api/v2/resources/flow-library/{flowLibraryId} - old: delete_flow_library - new: delete_resources_flow_library - DELETE /api/v2/resources/global-playlists/{globalPlaylistId} - old: delete_global_playlists - new: delete_resources_global_playlist - DELETE /api/v2/resources/http-library/{httpLibraryId} - old: delete_http_library - new: delete_resources_http_library - DELETE /api/v2/resources/media-files/{mediaFileId} - old: delete_media_files - new: delete_resources_media_file - DELETE /api/v2/resources/media-library/{mediaLibraryId} - old: delete_media_library - new: delete_resources_media_library - DELETE /api/v2/resources/other-library/{otherLibraryId} - old: delete_other_library - new: delete_resources_other_library - DELETE /api/v2/resources/payloads/{payloadId} - old: delete_payloads - new: delete_resources_payload - DELETE /api/v2/resources/pcaps/{pcapId} - old: delete_pcaps - new: delete_resources_pcap - DELETE /api/v2/resources/playlists/{playlistId} - old: delete_playlists - new: delete_resources_playlist - DELETE /api/v2/resources/sip-library/{sipLibraryId} - old: delete_sip_library - new: delete_resources_sip_library - DELETE /api/v2/resources/stats-profile/{statsProfileId} - old: delete_stats_profile - new: delete_resources_stats_profile - DELETE /api/v2/resources/tls-certificates/{tlsCertificateId} - old: delete_tls_certificates - new: delete_resources_tls_certificate - DELETE /api/v2/resources/tls-dhs/{tlsDhId} - old: delete_tls_dhs - new: delete_resources_tls_dh - DELETE /api/v2/resources/tls-keys/{tlsKeyId} - old: delete_tls_keys - new: delete_resources_tls_key - DELETE /api/v2/resources/user-defined-apps/{userDefinedAppId} - old: delete_user_defined_apps - new: delete_resources_user_defined_app - GET /api/v2/resources/captures/{captureId}/flows - old: get_flows - new: get_capture_flows - GET /api/v2/resources/captures/{captureId}/flows/{flowId}/exchanges - old: get_exchanges - new: get_flow_exchanges - GET /api/v2/resources/apps/{appId} - old: get_apps_by_id - new: get_resources_app_by_id - GET /api/v2/resources/application-types/{applicationTypeId} - old: get_application_types_by_id - new: get_resources_application_type_by_id - GET /api/v2/resources/application-types - old: get_application_types - new: get_resources_application_types - GET /api/v2/resources/apps - old: get_apps - new: get_resources_apps - GET /api/v2/resources/attacks/{attackId} - old: get_attacks_by_id - new: get_resources_attack_by_id - GET /api/v2/resources/attack-categories - old: get_attack_categories - new: get_resources_attack_categories - GET /api/v2/resources/attacks - old: get_attacks - new: get_resources_attacks - GET /api/v2/resources/auth-profiles/{authProfileId} - old: get_auth_profiles_by_id - new: get_resources_auth_profile_by_id - GET /api/v2/resources/auth-profiles - old: get_auth_profiles - new: get_resources_auth_profiles - GET /api/v2/resources/captures/{captureId} - old: get_captures_by_id - new: get_resources_capture_by_id - GET /api/v2/resources/captures - old: get_captures - new: get_resources_captures - GET /api/v2/resources/captures/operations/uploadFile/{uploadFileId}/result - old: get_resources_captures_operations_upload_file_operation_id_result - new: get_resources_captures_upload_file_result - GET /api/v2/resources/certificates/{certificateId} - old: get_certificates_by_id - new: get_resources_certificate_by_id - GET /api/v2/resources/certificates/{certificateId}/contentFile - old: get_resources_certificates_certificates_id_content_file - new: get_resources_certificate_content_file - GET /api/v2/resources/certificates - old: get_certificates - new: get_resources_certificates - GET /api/v2/resources/certificates/operations/uploadFile/{uploadFileId}/result - old: get_resources_certificates_operations_upload_file_operation_id_result - new: get_resources_certificates_upload_file_result - GET /api/v2/resources/flow-library - old: get_flow_library - new: get_resources_flow_library - GET /api/v2/resources/flow-library/{flowLibraryId} - old: get_flow_library_by_id - new: get_resources_flow_library_by_id - GET /api/v2/resources/flow-library/{flowLibraryId}/contentFile - old: get_resources_flow_library_flow_library_id_content_file - new: get_resources_flow_library_content_file - GET /api/v2/resources/flow-library/operations/uploadFile/{uploadFileId}/result - old: get_resources_flow_library_operations_upload_file_operation_id_result - new: get_resources_flow_library_upload_file_result - GET /api/v2/resources/global-playlists/{globalPlaylistId} - old: get_global_playlists_by_id - new: get_resources_global_playlist_by_id - GET /api/v2/resources/global-playlists/{globalPlaylistId}/contentFile - old: get_resources_global_playlists_global_playlists_id_content_file - new: get_resources_global_playlist_content_file - GET /api/v2/resources/global-playlists - old: get_global_playlists - new: get_resources_global_playlists - GET /api/v2/resources/global-playlists/operations/uploadFile/{uploadFileId}/result - old: get_resources_global_playlists_operations_upload_file_operation_id_result - new: get_resources_global_playlists_upload_file_result - GET /api/v2/resources/http-library - old: get_http_library - new: get_resources_http_library - GET /api/v2/resources/http-library/{httpLibraryId} - old: get_http_library_by_id - new: get_resources_http_library_by_id - GET /api/v2/resources/http-library/{httpLibraryId}/contentFile - old: get_resources_http_library_http_library_id_content_file - new: get_resources_http_library_content_file - GET /api/v2/resources/http-library/operations/uploadFile/{uploadFileId}/result - old: get_resources_http_library_operations_upload_file_operation_id_result - new: get_resources_http_library_upload_file_result - GET /api/v2/resources/http-profiles/{httpProfileId} - old: get_http_profiles_by_id - new: get_resources_http_profile_by_id - GET /api/v2/resources/http-profiles - old: get_http_profiles - new: get_resources_http_profiles - GET /api/v2/resources/media-files/{mediaFileId} - old: get_media_files_by_id - new: get_resources_media_file_by_id - GET /api/v2/resources/media-files/{mediaFileId}/contentFile - old: get_resources_media_files_media_files_id_content_file - new: get_resources_media_file_content_file - GET /api/v2/resources/media-files - old: get_media_files - new: get_resources_media_files - GET /api/v2/resources/media-files/operations/uploadFile/{uploadFileId}/result - old: get_resources_media_files_operations_upload_file_operation_id_result - new: get_resources_media_files_upload_file_result - GET /api/v2/resources/media-library - old: get_media_library - new: get_resources_media_library - GET /api/v2/resources/media-library/{mediaLibraryId} - old: get_media_library_by_id - new: get_resources_media_library_by_id - GET /api/v2/resources/media-library/{mediaLibraryId}/contentFile - old: get_resources_media_library_media_library_id_content_file - new: get_resources_media_library_content_file - GET /api/v2/resources/media-library/operations/uploadFile/{uploadFileId}/result - old: get_resources_media_library_operations_upload_file_operation_id_result - new: get_resources_media_library_upload_file_result - GET /api/v2/resources/other-library - old: get_other_library - new: get_resources_other_library - GET /api/v2/resources/other-library/{otherLibraryId} - old: get_other_library_by_id - new: get_resources_other_library_by_id - GET /api/v2/resources/other-library/{otherLibraryId}/contentFile - old: get_resources_other_library_other_library_id_content_file - new: get_resources_other_library_content_file - GET /api/v2/resources/other-library/operations/uploadFile/{uploadFileId}/result - old: get_resources_other_library_operations_upload_file_operation_id_result - new: get_resources_other_library_upload_file_result - GET /api/v2/resources/payloads/{payloadId} - old: get_payloads_by_id - new: get_resources_payload_by_id - GET /api/v2/resources/payloads/{payloadId}/contentFile - old: get_resources_payloads_payloads_id_content_file - new: get_resources_payload_content_file - GET /api/v2/resources/payloads - old: get_payloads - new: get_resources_payloads - GET /api/v2/resources/payloads/operations/uploadFile/{uploadFileId}/result - old: get_resources_payloads_operations_upload_file_operation_id_result - new: get_resources_payloads_upload_file_result - GET /api/v2/resources/pcaps/{pcapId} - old: get_pcaps_by_id - new: get_resources_pcap_by_id - GET /api/v2/resources/pcaps/{pcapId}/contentFile - old: get_resources_pcaps_pcaps_id_content_file - new: get_resources_pcap_content_file - GET /api/v2/resources/pcaps - old: get_pcaps - new: get_resources_pcaps - GET /api/v2/resources/pcaps/operations/uploadFile/{uploadFileId}/result - old: get_resources_pcaps_operations_upload_file_operation_id_result - new: get_resources_pcaps_upload_file_result - GET /api/v2/resources/playlists/{playlistId} - old: get_playlists_by_id - new: get_resources_playlist_by_id - GET /api/v2/resources/playlists/{playlistId}/contentFile - old: get_resources_playlists_playlists_id_content_file - new: get_resources_playlist_content_file - GET /api/v2/resources/playlists/{playlistId}/values - old: get_resources_playlists_playlists_id_values - new: get_resources_playlist_values - GET /api/v2/resources/playlists - old: get_playlists - new: get_resources_playlists - GET /api/v2/resources/playlists/operations/uploadFile/{uploadFileId}/result - old: get_resources_playlists_operations_upload_file_operation_id_result - new: get_resources_playlists_upload_file_result - GET /api/v2/resources/sip-library - old: get_sip_library - new: get_resources_sip_library - GET /api/v2/resources/sip-library/{sipLibraryId} - old: get_sip_library_by_id - new: get_resources_sip_library_by_id - GET /api/v2/resources/sip-library/{sipLibraryId}/contentFile - old: get_resources_sip_library_sip_library_id_content_file - new: get_resources_sip_library_content_file - GET /api/v2/resources/sip-library/operations/uploadFile/{uploadFileId}/result - old: get_resources_sip_library_operations_upload_file_operation_id_result - new: get_resources_sip_library_upload_file_result - GET /api/v2/resources/stats-profile - old: get_stats_profile - new: get_resources_stats_profile - GET /api/v2/resources/stats-profile/{statsProfileId} - old: get_stats_profile_by_id - new: get_resources_stats_profile_by_id - GET /api/v2/resources/stats-profile/{statsProfileId}/contentFile - old: get_resources_stats_profile_stats_profile_id_content_file - new: get_resources_stats_profile_content_file - GET /api/v2/resources/stats-profile/operations/uploadFile/{uploadFileId}/result - old: get_resources_stats_profile_operations_upload_file_operation_id_result - new: get_resources_stats_profile_upload_file_result - GET /api/v2/resources/strikes/{strikeId} - old: get_strikes_by_id - new: get_resources_strike_by_id - GET /api/v2/resources/strike-categories - old: get_strike_categories - new: get_resources_strike_categories - GET /api/v2/resources/strikes - old: get_strikes - new: get_resources_strikes - GET /api/v2/resources/tls-certificates/{tlsCertificateId} - old: get_tls_certificates_by_id - new: get_resources_tls_certificate_by_id - GET /api/v2/resources/tls-certificates/{tlsCertificateId}/contentFile - old: get_resources_tls_certificates_tls_certificates_id_content_file - new: get_resources_tls_certificate_content_file - GET /api/v2/resources/tls-certificates - old: get_tls_certificates - new: get_resources_tls_certificates - GET /api/v2/resources/tls-certificates/operations/uploadFile/{uploadFileId}/result - old: get_resources_tls_certificates_operations_upload_file_operation_id_result - new: get_resources_tls_certificates_upload_file_result - GET /api/v2/resources/tls-dhs/{tlsDhId} - old: get_tls_dhs_by_id - new: get_resources_tls_dh_by_id - GET /api/v2/resources/tls-dhs/{tlsDhId}/contentFile - old: get_resources_tls_dhs_tls_dhs_id_content_file - new: get_resources_tls_dh_content_file - GET /api/v2/resources/tls-dhs - old: get_tls_dhs - new: get_resources_tls_dhs - GET /api/v2/resources/tls-dhs/operations/uploadFile/{uploadFileId}/result - old: get_resources_tls_dhs_operations_upload_file_operation_id_result - new: get_resources_tls_dhs_upload_file_result - GET /api/v2/resources/tls-keys/{tlsKeyId} - old: get_tls_keys_by_id - new: get_resources_tls_key_by_id - GET /api/v2/resources/tls-keys/{tlsKeyId}/contentFile - old: get_resources_tls_keys_tls_keys_id_content_file - new: get_resources_tls_key_content_file - GET /api/v2/resources/tls-keys - old: get_tls_keys - new: get_resources_tls_keys - GET /api/v2/resources/tls-keys/operations/uploadFile/{uploadFileId}/result - old: get_resources_tls_keys_operations_upload_file_operation_id_result - new: get_resources_tls_keys_upload_file_result - GET /api/v2/resources/user-defined-apps - old: get_user_defined_apps - new: get_resources_user_defined_apps - GET /api/v2/resources/user-defined-apps/operations/uploadFile/{uploadFileId}/result - old: get_resources_user_defined_apps_operations_upload_file_operation_id_result - new: get_resources_user_defined_apps_upload_file_result - GET /api/v2/resources/apps/operations/export-all/{id} - old: poll_apps_export_all - new: poll_resources_apps_export_all - GET /api/v2/resources/captures/operations/batch-delete/{id} - old: poll_captures_batch_delete - new: poll_resources_captures_batch_delete - GET /api/v2/resources/captures/operations/uploadFile/{uploadFileId} - old: poll_captures_upload_file - new: poll_resources_captures_upload_file - GET /api/v2/resources/certificates/operations/uploadFile/{uploadFileId} - old: get_resources_certificates_operations_upload_file_operation_id - new: poll_resources_certificates_upload_file - GET /api/v2/resources/operations/create-app/{id} - old: poll_create_app - new: poll_resources_create_app - GET /api/v2/resources/operations/edit-app/{id} - old: poll_edit_app - new: poll_resources_edit_app - GET /api/v2/resources/flow-library/operations/uploadFile/{uploadFileId} - old: get_resources_flow_library_operations_upload_file_operation_id - new: poll_resources_flow_library_upload_file - GET /api/v2/resources/operations/get-attack-categories/{id} - old: poll_get_attack_categories - new: poll_resources_get_attack_categories - GET /api/v2/resources/operations/get-attacks/{id} - old: poll_get_attacks - new: poll_resources_get_attacks - GET /api/v2/resources/operations/get-strike-categories/{id} - old: poll_get_strike_categories - new: poll_resources_get_strike_categories - GET /api/v2/resources/operations/get-strikes/{id} - old: poll_get_strikes - new: poll_resources_get_strikes - GET /api/v2/resources/global-playlists/operations/uploadFile/{uploadFileId} - old: get_resources_global_playlists_operations_upload_file_operation_id - new: poll_resources_global_playlists_upload_file - GET /api/v2/resources/http-library/operations/uploadFile/{uploadFileId} - old: get_resources_http_library_operations_upload_file_operation_id - new: poll_resources_http_library_upload_file - GET /api/v2/resources/media-files/operations/uploadFile/{uploadFileId} - old: get_resources_media_files_operations_upload_file_operation_id - new: poll_resources_media_files_upload_file - GET /api/v2/resources/media-library/operations/uploadFile/{uploadFileId} - old: get_resources_media_library_operations_upload_file_operation_id - new: poll_resources_media_library_upload_file - GET /api/v2/resources/other-library/operations/uploadFile/{uploadFileId} - old: get_resources_other_library_operations_upload_file_operation_id - new: poll_resources_other_library_upload_file - GET /api/v2/resources/payloads/operations/uploadFile/{uploadFileId} - old: get_resources_payloads_operations_upload_file_operation_id - new: poll_resources_payloads_upload_file - GET /api/v2/resources/pcaps/operations/uploadFile/{uploadFileId} - old: get_resources_pcaps_operations_upload_file_operation_id - new: poll_resources_pcaps_upload_file - GET /api/v2/resources/playlists/operations/uploadFile/{uploadFileId} - old: get_resources_playlists_operations_upload_file_operation_id - new: poll_resources_playlists_upload_file - GET /api/v2/resources/sip-library/operations/uploadFile/{uploadFileId} - old: get_resources_sip_library_operations_upload_file_operation_id - new: poll_resources_sip_library_upload_file - GET /api/v2/resources/stats-profile/operations/uploadFile/{uploadFileId} - old: get_resources_stats_profile_operations_upload_file_operation_id - new: poll_resources_stats_profile_upload_file - GET /api/v2/resources/tls-certificates/operations/uploadFile/{uploadFileId} - old: get_resources_tls_certificates_operations_upload_file_operation_id - new: poll_resources_tls_certificates_upload_file - GET /api/v2/resources/tls-dhs/operations/uploadFile/{uploadFileId} - old: get_resources_tls_dhs_operations_upload_file_operation_id - new: poll_resources_tls_dhs_upload_file - GET /api/v2/resources/tls-keys/operations/uploadFile/{uploadFileId} - old: get_resources_tls_keys_operations_upload_file_operation_id - new: poll_resources_tls_keys_upload_file - GET /api/v2/resources/user-defined-apps/operations/export-all/{id} - old: poll_user_defined_apps_export_all - new: poll_resources_user_defined_apps_export_all - GET /api/v2/resources/user-defined-apps/operations/uploadFile/{uploadFileId} - old: get_resources_user_defined_apps_operations_upload_file_operation_id - new: poll_resources_user_defined_apps_upload_file - POST /api/v2/resources/apps/operations/export-all - old: start_apps_export_all - new: start_resources_apps_export_all - POST /api/v2/resources/captures/operations/batch-delete - old: start_captures_batch_delete - new: start_resources_captures_batch_delete - POST /api/v2/resources/captures/operations/uploadFile - old: start_captures_upload_file - new: start_resources_captures_upload_file - POST /api/v2/resources/certificates/operations/uploadFile - old: create_resources_certificates_operations_upload_file - new: start_resources_certificates_upload_file - POST /api/v2/resources/operations/create-app - old: start_create_app - new: start_resources_create_app - POST /api/v2/resources/operations/edit-app - old: start_edit_app - new: start_resources_edit_app - POST /api/v2/resources/flow-library/operations/uploadFile - old: create_resources_flow_library_operations_upload_file - new: start_resources_flow_library_upload_file - POST /api/v2/resources/operations/get-attack-categories - old: start_get_attack_categories - new: start_resources_get_attack_categories - POST /api/v2/resources/operations/get-attacks - old: start_get_attacks - new: start_resources_get_attacks - POST /api/v2/resources/operations/get-strike-categories - old: start_get_strike_categories - new: start_resources_get_strike_categories - POST /api/v2/resources/operations/get-strikes - old: start_get_strikes - new: start_resources_get_strikes - POST /api/v2/resources/global-playlists/operations/uploadFile - old: create_resources_global_playlists_operations_upload_file - new: start_resources_global_playlists_upload_file - POST /api/v2/resources/http-library/operations/uploadFile - old: create_resources_http_library_operations_upload_file - new: start_resources_http_library_upload_file - POST /api/v2/resources/media-files/operations/uploadFile - old: create_resources_media_files_operations_upload_file - new: start_resources_media_files_upload_file - POST /api/v2/resources/media-library/operations/uploadFile - old: create_resources_media_library_operations_upload_file - new: start_resources_media_library_upload_file - POST /api/v2/resources/other-library/operations/uploadFile - old: create_resources_other_library_operations_upload_file - new: start_resources_other_library_upload_file - POST /api/v2/resources/payloads/operations/uploadFile - old: create_resources_payloads_operations_upload_file - new: start_resources_payloads_upload_file - POST /api/v2/resources/pcaps/operations/uploadFile - old: create_resources_pcaps_operations_upload_file - new: start_resources_pcaps_upload_file - POST /api/v2/resources/playlists/operations/uploadFile - old: create_resources_playlists_operations_upload_file - new: start_resources_playlists_upload_file - POST /api/v2/resources/sip-library/operations/uploadFile - old: create_resources_sip_library_operations_upload_file - new: start_resources_sip_library_upload_file - POST /api/v2/resources/stats-profile/operations/uploadFile - old: create_resources_stats_profile_operations_upload_file - new: start_resources_stats_profile_upload_file - POST /api/v2/resources/tls-certificates/operations/uploadFile - old: create_resources_tls_certificates_operations_upload_file - new: start_resources_tls_certificates_upload_file - POST /api/v2/resources/tls-dhs/operations/uploadFile - old: create_resources_tls_dhs_operations_upload_file - new: start_resources_tls_dhs_upload_file - POST /api/v2/resources/tls-keys/operations/uploadFile - old: create_resources_tls_keys_operations_upload_file - new: start_resources_tls_keys_upload_file - POST /api/v2/resources/user-defined-apps/operations/export-all - old: start_user_defined_apps_export_all - new: start_resources_user_defined_apps_export_all - POST /api/v2/resources/user-defined-apps/operations/uploadFile - old: create_resources_user_defined_apps_operations_upload_file - new: start_resources_user_defined_apps_upload_file -BrokersApi - DELETE /api/v2/brokers/{brokerId} - old: delete_brokers - new: delete_broker - GET /api/v2/brokers/{brokerId} - old: get_brokers_by_id - new: get_broker_by_id - PATCH /api/v2/brokers/{brokerId} - old: patch_brokers - new: patch_broker -ConfigurationsApi - DELETE /api/v2/configs/{configId} - old: delete_configs - new: delete_config - GET /api/v2/configs/{configId} - old: get_configs_by_id - new: get_config_by_id - GET /api/v2/resources/custom-import-operations - old: get_custom_import_operations - new: get_resources_custom_import_operations - PATCH /api/v2/configs/{configId} - old: patch_configs - new: patch_config - PUT /api/v2/configs/{configId} - old: update_configs - new: update_config -DataMigrationApi - GET /api/v2/controller-migration/operations/export/{id} - old: poll_export - new: poll_controller_migration_export - GET /api/v2/controller-migration/operations/import/{id} - old: poll_import - new: poll_controller_migration_import - POST /api/v2/controller-migration/operations/export - old: start_export - new: start_controller_migration_export - POST /api/v2/controller-migration/operations/import - old: start_import - new: start_controller_migration_import -LicenseServersApi - DELETE /api/v2/license-servers/{licenseServerId} - old: delete_license_servers - new: delete_license_server - GET /api/v2/license-servers/{licenseServerId} - old: get_license_servers_by_id - new: get_license_server_by_id - PATCH /api/v2/license-servers/{licenseServerId} - old: patch_license_servers - new: patch_license_server -NotificationsApi - DELETE /api/v2/notifications/{notificationId} - old: delete_notifications - new: delete_notification - GET /api/v2/notifications/{notificationId} - old: get_notifications_by_id - new: get_notification_by_id -ReportsApi - GET /api/v2/results/{resultId}/download-csv/{downloadCsvId} - old: get_download_csv_by_id - new: get_result_download_csv_by_id - GET /api/v2/results/{resultId}/operations/generate-csv/{id} - old: poll_results_generate_csv - new: poll_result_generate_csv - GET /api/v2/results/{resultId}/operations/generate-pdf/{id} - old: poll_results_generate_pdf - new: poll_result_generate_pdf - POST /api/v2/results/{resultId}/operations/generate-csv - old: start_results_generate_csv - new: start_result_generate_csv - POST /api/v2/results/{resultId}/operations/generate-pdf - old: start_results_generate_pdf - new: start_result_generate_pdf -SessionsApi - POST /api/v2/sessions/{sessionId}/meta - old: create_meta - new: create_session_meta - DELETE /api/v2/sessions/{sessionId} - old: delete_sessions - new: delete_session - DELETE /api/v2/sessions/{sessionId}/meta/{metaId} - old: delete_meta - new: delete_session_meta - GET /api/v2/sessions/{sessionId}/config/$docs - old: get_docs - new: get_config_docs - GET /api/v2/sessions/{sessionId}/config/granular-stats - old: get_granular_stats - new: get_config_granular_stats - GET /api/v2/sessions/{sessionId}/config/granular-stats-filters - old: get_granular_stats_filters - new: get_config_granular_stats_filters - GET /api/v2/sessions/{sessionId} - old: get_sessions_by_id - new: get_session_by_id - GET /api/v2/sessions/{sessionId}/config - old: get_config - new: get_session_config - GET /api/v2/sessions/{sessionId}/meta - old: get_meta - new: get_session_meta - GET /api/v2/sessions/{sessionId}/meta/{metaId} - old: get_meta_by_id - new: get_session_meta_by_id - GET /api/v2/sessions/{sessionId}/test - old: get_test - new: get_session_test - PATCH /api/v2/sessions/{sessionId} - old: patch_sessions - new: patch_session - PATCH /api/v2/sessions/{sessionId}/meta/{metaId} - old: patch_meta - new: patch_session_meta - PATCH /api/v2/sessions/{sessionId}/test - old: patch_test - new: patch_session_test - GET /api/v2/sessions/{sessionId}/config/operations/granular-stats-default-dashboards/{id} - old: poll_config_granular_stats_default_dashboards - new: poll_session_config_granular_stats_default_dashboards - GET /api/v2/sessions/{sessionId}/operations/loadConfig/{id} - old: poll_sessions_load_config - new: poll_session_load_config - GET /api/v2/sessions/{sessionId}/operations/prepareTest/{id} - old: poll_prepare_test - new: poll_session_prepare_test - GET /api/v2/sessions/{sessionId}/operations/testEnd/{id} - old: poll_test_end - new: poll_session_test_end - GET /api/v2/sessions/{sessionId}/operations/testInit/{id} - old: poll_test_init - new: poll_session_test_init - GET /api/v2/sessions/{sessionId}/operations/touch/{id} - old: poll_sessions_touch - new: poll_session_touch - POST /api/v2/sessions/{sessionId}/config/operations/granular-stats-default-dashboards - old: start_config_granular_stats_default_dashboards - new: start_session_config_granular_stats_default_dashboards - POST /api/v2/sessions/{sessionId}/config/operations/save - old: start_config_save - new: start_session_config_save - POST /api/v2/sessions/{sessionId}/operations/loadConfig - old: start_sessions_load_config - new: start_session_load_config - POST /api/v2/sessions/{sessionId}/operations/prepareTest - old: start_prepare_test - new: start_session_prepare_test - POST /api/v2/sessions/{sessionId}/operations/testEnd - old: start_test_end - new: start_session_test_end - POST /api/v2/sessions/{sessionId}/operations/testInit - old: start_test_init - new: start_session_test_init - POST /api/v2/sessions/{sessionId}/operations/touch - old: start_sessions_touch - new: start_session_touch - PUT /api/v2/sessions/{sessionId} - old: update_sessions - new: update_session - PUT /api/v2/sessions/{sessionId}/config - old: update_config - new: update_session_config - PUT /api/v2/sessions/{sessionId}/meta - old: update_meta - new: update_session_meta - PUT /api/v2/sessions/{sessionId}/test - old: update_test - new: update_session_test -StatisticsApi - POST /api/v2/stats/plugins - old: create_plugins - new: create_stats_plugins - DELETE /api/v2/stats/plugins/{pluginId} - old: delete_plugins - new: delete_stats_plugin - GET /api/v2/results/{resultId}/stats/{statId} - old: get_stats_by_id - new: get_result_stat_by_id - GET /api/v2/results/{resultId}/stats - old: get_stats - new: get_result_stats - GET /api/v2/stats/plugins - old: get_plugins - new: get_stats_plugins - GET /api/v2/stats/plugins/operations/ingest/{id} - old: poll_plugins_ingest - new: poll_stats_plugins_ingest - POST /api/v2/stats/plugins/operations/ingest - old: start_plugins_ingest - new: start_stats_plugins_ingest -TestOperationsApi - GET /api/v2/sessions/{sessionId}/test-calibrate/operations/start/{id} - old: poll_start_calibration - new: poll_test_calibrate_start - GET /api/v2/sessions/{sessionId}/test-calibrate/operations/stop/{id} - old: poll_stop_calibration - new: poll_test_calibrate_stop - GET /api/v2/sessions/{sessionId}/test-run/operations/abort/{id} - old: poll_abort - new: poll_test_run_abort - GET /api/v2/sessions/{sessionId}/test-run/operations/start/{id} - old: poll_start_traffic - new: poll_test_run_start - GET /api/v2/sessions/{sessionId}/test-run/operations/stop/{id} - old: poll_stop_traffic - new: poll_test_run_stop - POST /api/v2/sessions/{sessionId}/test-calibrate/operations/start - old: start_start_calibration - new: start_test_calibrate_start - POST /api/v2/sessions/{sessionId}/test-calibrate/operations/stop - old: start_stop_calibration - new: start_test_calibrate_stop - POST /api/v2/sessions/{sessionId}/test-run/operations/abort - old: start_abort - new: start_test_run_abort - POST /api/v2/sessions/{sessionId}/test-run/operations/start - old: start_start_traffic - new: start_test_run_start - POST /api/v2/sessions/{sessionId}/test-run/operations/stop - old: start_stop_traffic - new: start_test_run_stop -TestResultsApi - DELETE /api/v2/results/{resultId} - old: delete_results - new: delete_result - DELETE /api/v2/results/{resultId}/files/{fileId} - old: delete_files - new: delete_result_file - GET /api/v2/results/{resultId} - old: get_results_by_id - new: get_result_by_id - GET /api/v2/results/{resultId}/download-all/{downloadAllId} - old: get_download_all_by_id - new: get_result_download_all_by_id - GET /api/v2/results/{resultId}/download-result-config - old: get_download_result_config - new: get_result_download_result_config - GET /api/v2/results/{resultId}/files/{fileId} - old: get_files_by_id - new: get_result_file_by_id - GET /api/v2/results/{resultId}/files/{fileId}/content - old: get_results_results_id_files_files_id_content - new: get_result_file_content - GET /api/v2/results/{resultId}/files - old: get_files - new: get_result_files - GET /api/v2/results/tags - old: get_result_tags - new: get_results_tags - GET /api/v2/results/{resultId}/operations/generate-all/{id} - old: poll_results_generate_all - new: poll_result_generate_all - GET /api/v2/results/{resultId}/operations/generate-results/{id} - old: poll_results_generate_results - new: poll_result_generate_results - GET /api/v2/results/{resultId}/operations/load/{id} - old: poll_results_load - new: poll_result_load - POST /api/v2/results/{resultId}/operations/generate-all - old: start_results_generate_all - new: start_result_generate_all - POST /api/v2/results/{resultId}/operations/generate-results - old: start_results_generate_results - new: start_result_generate_results - POST /api/v2/results/{resultId}/operations/load - old: start_results_load - new: start_result_load -UtilsApi - GET /api/v2/cert-manager/certificate - old: get_certificate - new: get_cert_manager_certificate - GET /api/v2/disk-usage/consumers/{consumerId} - old: get_consumers_by_id - new: get_disk_usage_consumer_by_id - GET /api/v2/disk-usage/consumers - old: get_consumers - new: get_disk_usage_consumers - GET /api/v2/cert-manager/operations/generate/{id} - old: poll_generate - new: poll_cert_manager_generate - GET /api/v2/cert-manager/operations/upload/{id} - old: poll_upload - new: poll_cert_manager_upload - POST /api/v2/cert-manager/operations/generate - old: start_generate - new: start_cert_manager_generate - POST /api/v2/cert-manager/operations/upload - old: start_upload - new: start_cert_manager_upload \ No newline at end of file diff --git a/README.md b/README.md index 6609198..ed9d422 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # cyperf -CyPerf REST API +Keysight CyPerf REST API This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: @@ -75,12 +75,18 @@ Class | Method | HTTP request | Description *AgentsApi* | [**get_agent_by_id**](docs/AgentsApi.md#get_agent_by_id) | **GET** /api/v2/agents/{agentId} | *AgentsApi* | [**get_agents**](docs/AgentsApi.md#get_agents) | **GET** /api/v2/agents | *AgentsApi* | [**get_agents_tags**](docs/AgentsApi.md#get_agents_tags) | **GET** /api/v2/tags | +*AgentsApi* | [**get_compute_node_compute_resource_by_id**](docs/AgentsApi.md#get_compute_node_compute_resource_by_id) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/compute-resources/{computeResourceId} | +*AgentsApi* | [**get_compute_node_compute_resources**](docs/AgentsApi.md#get_compute_node_compute_resources) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/compute-resources | *AgentsApi* | [**get_compute_node_port_by_id**](docs/AgentsApi.md#get_compute_node_port_by_id) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports/{portId} | *AgentsApi* | [**get_compute_node_ports**](docs/AgentsApi.md#get_compute_node_ports) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports | *AgentsApi* | [**get_controller_by_id**](docs/AgentsApi.md#get_controller_by_id) | **GET** /api/v2/controllers/{controllerId} | *AgentsApi* | [**get_controller_compute_node_by_id**](docs/AgentsApi.md#get_controller_compute_node_by_id) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId} | *AgentsApi* | [**get_controller_compute_nodes**](docs/AgentsApi.md#get_controller_compute_nodes) | **GET** /api/v2/controllers/{controllerId}/compute-nodes | +*AgentsApi* | [**get_controller_front_panel_by_id**](docs/AgentsApi.md#get_controller_front_panel_by_id) | **GET** /api/v2/controllers/{controllerId}/front-panels/{frontPanelId} | +*AgentsApi* | [**get_controller_front_panels**](docs/AgentsApi.md#get_controller_front_panels) | **GET** /api/v2/controllers/{controllerId}/front-panels | *AgentsApi* | [**get_controllers**](docs/AgentsApi.md#get_controllers) | **GET** /api/v2/controllers | +*AgentsApi* | [**get_front_panel_port_by_id**](docs/AgentsApi.md#get_front_panel_port_by_id) | **GET** /api/v2/controllers/{controllerId}/front-panels/{frontPanelId}/ports/{portId} | +*AgentsApi* | [**get_front_panel_ports**](docs/AgentsApi.md#get_front_panel_ports) | **GET** /api/v2/controllers/{controllerId}/front-panels/{frontPanelId}/ports | *AgentsApi* | [**patch_agent**](docs/AgentsApi.md#patch_agent) | **PATCH** /api/v2/agents/{agentId} | *AgentsApi* | [**start_agents_batch_delete**](docs/AgentsApi.md#start_agents_batch_delete) | **POST** /api/v2/agents/operations/batch-delete | *AgentsApi* | [**start_agents_export_files**](docs/AgentsApi.md#start_agents_export_files) | **POST** /api/v2/agents/operations/exportFiles | @@ -90,10 +96,15 @@ Class | Method | HTTP request | Description *AgentsApi* | [**start_agents_set_dpdk_mode**](docs/AgentsApi.md#start_agents_set_dpdk_mode) | **POST** /api/v2/agents/operations/set-dpdk-mode | *AgentsApi* | [**start_agents_set_ntp**](docs/AgentsApi.md#start_agents_set_ntp) | **POST** /api/v2/agents/operations/set-ntp | *AgentsApi* | [**start_agents_update**](docs/AgentsApi.md#start_agents_update) | **POST** /api/v2/agents/operations/update | +*AgentsApi* | [**start_controllers_clear_compute_resource_ownership**](docs/AgentsApi.md#start_controllers_clear_compute_resource_ownership) | **POST** /api/v2/controllers/operations/clear-compute-resource-ownership | +*AgentsApi* | [**start_controllers_clear_front_panel_port_ownership**](docs/AgentsApi.md#start_controllers_clear_front_panel_port_ownership) | **POST** /api/v2/controllers/operations/clear-front-panel-port-ownership | *AgentsApi* | [**start_controllers_clear_port_ownership**](docs/AgentsApi.md#start_controllers_clear_port_ownership) | **POST** /api/v2/controllers/operations/clear-port-ownership | *AgentsApi* | [**start_controllers_power_cycle_nodes**](docs/AgentsApi.md#start_controllers_power_cycle_nodes) | **POST** /api/v2/controllers/operations/power-cycle-nodes | +*AgentsApi* | [**start_controllers_reboot_compute_resource**](docs/AgentsApi.md#start_controllers_reboot_compute_resource) | **POST** /api/v2/controllers/operations/reboot-compute-resource | *AgentsApi* | [**start_controllers_reboot_port**](docs/AgentsApi.md#start_controllers_reboot_port) | **POST** /api/v2/controllers/operations/reboot-port | *AgentsApi* | [**start_controllers_set_app**](docs/AgentsApi.md#start_controllers_set_app) | **POST** /api/v2/controllers/operations/set-app | +*AgentsApi* | [**start_controllers_set_front_panel_fanout**](docs/AgentsApi.md#start_controllers_set_front_panel_fanout) | **POST** /api/v2/controllers/operations/set-front-panel-fanout | +*AgentsApi* | [**start_controllers_set_front_panel_port_link_state**](docs/AgentsApi.md#start_controllers_set_front_panel_port_link_state) | **POST** /api/v2/controllers/operations/set-front-panel-port-link-state | *AgentsApi* | [**start_controllers_set_node_aggregation**](docs/AgentsApi.md#start_controllers_set_node_aggregation) | **POST** /api/v2/controllers/operations/set-node-aggregation | *AgentsApi* | [**start_controllers_set_node_app**](docs/AgentsApi.md#start_controllers_set_node_app) | **POST** /api/v2/controllers/operations/set-node-app | *AgentsApi* | [**start_controllers_set_port_link_state**](docs/AgentsApi.md#start_controllers_set_port_link_state) | **POST** /api/v2/controllers/operations/set-port-link-state | @@ -155,6 +166,8 @@ Class | Method | HTTP request | Description *ApplicationResourcesApi* | [**get_resources_http_library_upload_file_result**](docs/ApplicationResourcesApi.md#get_resources_http_library_upload_file_result) | **GET** /api/v2/resources/http-library/operations/uploadFile/{uploadFileId}/result | *ApplicationResourcesApi* | [**get_resources_http_profile_by_id**](docs/ApplicationResourcesApi.md#get_resources_http_profile_by_id) | **GET** /api/v2/resources/http-profiles/{httpProfileId} | *ApplicationResourcesApi* | [**get_resources_http_profiles**](docs/ApplicationResourcesApi.md#get_resources_http_profiles) | **GET** /api/v2/resources/http-profiles | +*ApplicationResourcesApi* | [**get_resources_llm_api_profile_by_id**](docs/ApplicationResourcesApi.md#get_resources_llm_api_profile_by_id) | **GET** /api/v2/resources/llm-api-profiles/{llmApiProfileId} | +*ApplicationResourcesApi* | [**get_resources_llm_api_profiles**](docs/ApplicationResourcesApi.md#get_resources_llm_api_profiles) | **GET** /api/v2/resources/llm-api-profiles | *ApplicationResourcesApi* | [**get_resources_media_file_by_id**](docs/ApplicationResourcesApi.md#get_resources_media_file_by_id) | **GET** /api/v2/resources/media-files/{mediaFileId} | *ApplicationResourcesApi* | [**get_resources_media_file_content_file**](docs/ApplicationResourcesApi.md#get_resources_media_file_content_file) | **GET** /api/v2/resources/media-files/{mediaFileId}/contentFile | *ApplicationResourcesApi* | [**get_resources_media_files**](docs/ApplicationResourcesApi.md#get_resources_media_files) | **GET** /api/v2/resources/media-files | @@ -262,6 +275,15 @@ Class | Method | HTTP request | Description *ConfigurationsApi* | [**start_configs_import**](docs/ConfigurationsApi.md#start_configs_import) | **POST** /api/v2/configs/operations/import | *ConfigurationsApi* | [**start_configs_import_all**](docs/ConfigurationsApi.md#start_configs_import_all) | **POST** /api/v2/configs/operations/importAll | *ConfigurationsApi* | [**update_config**](docs/ConfigurationsApi.md#update_config) | **PUT** /api/v2/configs/{configId} | +*DashboardsApi* | [**create_stats_dashboard_changes**](docs/DashboardsApi.md#create_stats_dashboard_changes) | **POST** /api/v2/stats-dashboards/{statsDashboardId}/changes | +*DashboardsApi* | [**create_stats_dashboards**](docs/DashboardsApi.md#create_stats_dashboards) | **POST** /api/v2/stats-dashboards | +*DashboardsApi* | [**delete_stats_dashboard**](docs/DashboardsApi.md#delete_stats_dashboard) | **DELETE** /api/v2/stats-dashboards/{statsDashboardId} | +*DashboardsApi* | [**get_stats_dashboard_by_id**](docs/DashboardsApi.md#get_stats_dashboard_by_id) | **GET** /api/v2/stats-dashboards/{statsDashboardId} | +*DashboardsApi* | [**get_stats_dashboard_changes**](docs/DashboardsApi.md#get_stats_dashboard_changes) | **GET** /api/v2/stats-dashboards/{statsDashboardId}/changes | +*DashboardsApi* | [**get_stats_dashboard_metrics**](docs/DashboardsApi.md#get_stats_dashboard_metrics) | **GET** /api/v2/stats-dashboards/{statsDashboardId}/metrics | +*DashboardsApi* | [**get_stats_dashboards**](docs/DashboardsApi.md#get_stats_dashboards) | **GET** /api/v2/stats-dashboards | +*DashboardsApi* | [**start_stats_dashboards_convert**](docs/DashboardsApi.md#start_stats_dashboards_convert) | **POST** /api/v2/stats-dashboards/operations/convert | +*DashboardsApi* | [**update_stats_dashboard**](docs/DashboardsApi.md#update_stats_dashboard) | **PUT** /api/v2/stats-dashboards/{statsDashboardId} | *DataMigrationApi* | [**start_controller_migration_export**](docs/DataMigrationApi.md#start_controller_migration_export) | **POST** /api/v2/controller-migration/operations/export | *DataMigrationApi* | [**start_controller_migration_import**](docs/DataMigrationApi.md#start_controller_migration_import) | **POST** /api/v2/controller-migration/operations/import | *DiagnosticsApi* | [**api_v2_diagnostics_components_get**](docs/DiagnosticsApi.md#api_v2_diagnostics_components_get) | **GET** /api/v2/diagnostics/components | @@ -325,7 +347,6 @@ Class | Method | HTTP request | Description *SessionsApi* | [**start_session_config_granular_stats_default_dashboards**](docs/SessionsApi.md#start_session_config_granular_stats_default_dashboards) | **POST** /api/v2/sessions/{sessionId}/config/operations/granular-stats-default-dashboards | *SessionsApi* | [**start_session_config_save**](docs/SessionsApi.md#start_session_config_save) | **POST** /api/v2/sessions/{sessionId}/config/operations/save | *SessionsApi* | [**start_session_load_config**](docs/SessionsApi.md#start_session_load_config) | **POST** /api/v2/sessions/{sessionId}/operations/loadConfig | -*SessionsApi* | [**start_session_prepare_test**](docs/SessionsApi.md#start_session_prepare_test) | **POST** /api/v2/sessions/{sessionId}/operations/prepareTest | *SessionsApi* | [**start_session_test_end**](docs/SessionsApi.md#start_session_test_end) | **POST** /api/v2/sessions/{sessionId}/operations/testEnd | *SessionsApi* | [**start_session_test_init**](docs/SessionsApi.md#start_session_test_init) | **POST** /api/v2/sessions/{sessionId}/operations/testInit | *SessionsApi* | [**start_session_touch**](docs/SessionsApi.md#start_session_touch) | **POST** /api/v2/sessions/{sessionId}/operations/touch | @@ -368,11 +389,11 @@ Class | Method | HTTP request | Description *UtilsApi* | [**get_docs**](docs/UtilsApi.md#get_docs) | **GET** /api/v2/docs | *UtilsApi* | [**get_docs_json**](docs/UtilsApi.md#get_docs_json) | **GET** /api/v2/docs.json | *UtilsApi* | [**get_docs_yaml**](docs/UtilsApi.md#get_docs_yaml) | **GET** /api/v2/docs.yaml | -*UtilsApi* | [**get_eula**](docs/UtilsApi.md#get_eula) | **GET** /eula/v1/eula/CyPerf | Retrieve EULA detail +*UtilsApi* | [**get_eula**](docs/UtilsApi.md#get_eula) | **GET** /eula/v1/eula/{id} | Retrieve EULA detail *UtilsApi* | [**get_log_config**](docs/UtilsApi.md#get_log_config) | **GET** /api/v2/log-config | *UtilsApi* | [**get_time**](docs/UtilsApi.md#get_time) | **GET** /api/v2/time | *UtilsApi* | [**list_eulas**](docs/UtilsApi.md#list_eulas) | **GET** /eula/v1/eula | list of EULAs -*UtilsApi* | [**post_eula**](docs/UtilsApi.md#post_eula) | **POST** /eula/v1/eula/CyPerf | Update properties an EULA +*UtilsApi* | [**post_eula**](docs/UtilsApi.md#post_eula) | **POST** /eula/v1/eula/{id} | Update properties an EULA *UtilsApi* | [**start_cert_manager_generate**](docs/UtilsApi.md#start_cert_manager_generate) | **POST** /api/v2/cert-manager/operations/generate | *UtilsApi* | [**start_cert_manager_upload**](docs/UtilsApi.md#start_cert_manager_upload) | **POST** /api/v2/cert-manager/operations/upload | *UtilsApi* | [**start_disk_usage_cleanup_diagnostics**](docs/UtilsApi.md#start_disk_usage_cleanup_diagnostics) | **POST** /api/v2/disk-usage/operations/cleanup-diagnostics | @@ -397,8 +418,11 @@ Class | Method | HTTP request | Description - [ActivationCodeRequest](docs/ActivationCodeRequest.md) - [AddActionInfo](docs/AddActionInfo.md) - [AddInput](docs/AddInput.md) + - [Address](docs/Address.md) + - [AdvancedMetric](docs/AdvancedMetric.md) - [AdvancedSettings](docs/AdvancedSettings.md) - [Agent](docs/Agent.md) + - [AgentAssignmentByFrontPanelPort](docs/AgentAssignmentByFrontPanelPort.md) - [AgentAssignmentByPort](docs/AgentAssignmentByPort.md) - [AgentAssignmentDetails](docs/AgentAssignmentDetails.md) - [AgentAssignments](docs/AgentAssignments.md) @@ -441,6 +465,7 @@ Class | Method | HTTP request | Description - [Authenticate200Response](docs/Authenticate200Response.md) - [AuthenticationSettings](docs/AuthenticationSettings.md) - [AutomaticIpType](docs/AutomaticIpType.md) + - [BasicAuthProfile](docs/BasicAuthProfile.md) - [Broker](docs/Broker.md) - [CaptureInput](docs/CaptureInput.md) - [CaptureInputFindParam](docs/CaptureInputFindParam.md) @@ -450,16 +475,24 @@ Class | Method | HTTP request | Description - [CategoryValue](docs/CategoryValue.md) - [CertConfig](docs/CertConfig.md) - [Certificate](docs/Certificate.md) + - [ChangeEvent](docs/ChangeEvent.md) - [ChassisInfo](docs/ChassisInfo.md) - [Choice](docs/Choice.md) - [CipherTLS12](docs/CipherTLS12.md) - [CipherTLS13](docs/CipherTLS13.md) - [CiscoAnyConnectSettings](docs/CiscoAnyConnectSettings.md) - [CiscoEncapsulation](docs/CiscoEncapsulation.md) + - [ClassicalSignatureAlgorithmTLS13](docs/ClassicalSignatureAlgorithmTLS13.md) + - [ClearComputeResourcesOwnershipOperation](docs/ClearComputeResourcesOwnershipOperation.md) + - [ClearFrontPanelPortsOwnershipOperation](docs/ClearFrontPanelPortsOwnershipOperation.md) - [ClearPortsOwnershipOperation](docs/ClearPortsOwnershipOperation.md) - [Command](docs/Command.md) - [CommandMetadata](docs/CommandMetadata.md) + - [CompositePqcSignatureAlgorithmTLS13](docs/CompositePqcSignatureAlgorithmTLS13.md) - [ComputeNode](docs/ComputeNode.md) + - [ComputeResource](docs/ComputeResource.md) + - [ComputeResourcesByController](docs/ComputeResourcesByController.md) + - [ComputeResourcesByNode](docs/ComputeResourcesByNode.md) - [Config](docs/Config.md) - [ConfigCategory](docs/ConfigCategory.md) - [ConfigId](docs/ConfigId.md) @@ -470,19 +503,24 @@ Class | Method | HTTP request | Description - [Connection](docs/Connection.md) - [ConnectionPersistence](docs/ConnectionPersistence.md) - [Consumer](docs/Consumer.md) + - [ContentBlock](docs/ContentBlock.md) - [Controller](docs/Controller.md) + - [ConvertDashboardsOperation](docs/ConvertDashboardsOperation.md) - [CountedFeatureConsumer](docs/CountedFeatureConsumer.md) - [CountedFeatureStats](docs/CountedFeatureStats.md) - [CreateAppOperation](docs/CreateAppOperation.md) - [CreateAppOrAttackOperationInput](docs/CreateAppOrAttackOperationInput.md) - [CustomDashboards](docs/CustomDashboards.md) - [CustomImportHandler](docs/CustomImportHandler.md) + - [CustomSequence](docs/CustomSequence.md) - [CustomStat](docs/CustomStat.md) - [DNSResolver](docs/DNSResolver.md) - [DNSServer](docs/DNSServer.md) - [DTLSSettings](docs/DTLSSettings.md) - [DUTNetwork](docs/DUTNetwork.md) + - [DUTRange](docs/DUTRange.md) - [Dashboard](docs/Dashboard.md) + - [DataSourceDetails](docs/DataSourceDetails.md) - [DataType](docs/DataType.md) - [DataTypeValuesInner](docs/DataTypeValuesInner.md) - [Definition](docs/Definition.md) @@ -492,6 +530,7 @@ Class | Method | HTTP request | Description - [DiagnosticComponentContext](docs/DiagnosticComponentContext.md) - [DiagnosticOptions](docs/DiagnosticOptions.md) - [DiskUsage](docs/DiskUsage.md) + - [DismissOperation](docs/DismissOperation.md) - [ESPOverUDPSettings](docs/ESPOverUDPSettings.md) - [EditActionInput](docs/EditActionInput.md) - [EditAppOperation](docs/EditAppOperation.md) @@ -533,8 +572,12 @@ Class | Method | HTTP request | Description - [Filter](docs/Filter.md) - [FilteredStat](docs/FilteredStat.md) - [FindParamMatchesOperation](docs/FindParamMatchesOperation.md) + - [FormattedDescription](docs/FormattedDescription.md) - [FortinetEncapsulation](docs/FortinetEncapsulation.md) - [FortinetSettings](docs/FortinetSettings.md) + - [FrontPanel](docs/FrontPanel.md) + - [FrontPanelPortsByController](docs/FrontPanelPortsByController.md) + - [FrontPanelsByController](docs/FrontPanelsByController.md) - [FulfillmentRequest](docs/FulfillmentRequest.md) - [GenerateAllOperation](docs/GenerateAllOperation.md) - [GenerateCSVReportsOperation](docs/GenerateCSVReportsOperation.md) @@ -544,18 +587,24 @@ Class | Method | HTTP request | Description - [GetAgents200ResponseOneOf](docs/GetAgents200ResponseOneOf.md) - [GetAgentsTags200Response](docs/GetAgentsTags200Response.md) - [GetAgentsTags200ResponseOneOf](docs/GetAgentsTags200ResponseOneOf.md) - - [GetAppsOperation](docs/GetAppsOperation.md) - [GetAsyncOperationResult200Response](docs/GetAsyncOperationResult200Response.md) - - [GetAttacksOperation](docs/GetAttacksOperation.md) - [GetBrokers200Response](docs/GetBrokers200Response.md) - [GetBrokers200ResponseOneOf](docs/GetBrokers200ResponseOneOf.md) - [GetCategoriesOperation](docs/GetCategoriesOperation.md) + - [GetComputeNodeComputeResources200Response](docs/GetComputeNodeComputeResources200Response.md) + - [GetComputeNodeComputeResources200ResponseOneOf](docs/GetComputeNodeComputeResources200ResponseOneOf.md) + - [GetComputeNodePorts200Response](docs/GetComputeNodePorts200Response.md) + - [GetComputeNodePorts200ResponseOneOf](docs/GetComputeNodePorts200ResponseOneOf.md) - [GetConfigCategorieSubcategories200Response](docs/GetConfigCategorieSubcategories200Response.md) - [GetConfigCategorieSubcategories200ResponseOneOf](docs/GetConfigCategorieSubcategories200ResponseOneOf.md) - [GetConfigCategories200Response](docs/GetConfigCategories200Response.md) - [GetConfigCategories200ResponseOneOf](docs/GetConfigCategories200ResponseOneOf.md) - [GetConfigs200Response](docs/GetConfigs200Response.md) - [GetConfigs200ResponseOneOf](docs/GetConfigs200ResponseOneOf.md) + - [GetControllerComputeNodes200Response](docs/GetControllerComputeNodes200Response.md) + - [GetControllerComputeNodes200ResponseOneOf](docs/GetControllerComputeNodes200ResponseOneOf.md) + - [GetControllerFrontPanels200Response](docs/GetControllerFrontPanels200Response.md) + - [GetControllerFrontPanels200ResponseOneOf](docs/GetControllerFrontPanels200ResponseOneOf.md) - [GetControllers200Response](docs/GetControllers200Response.md) - [GetControllers200ResponseOneOf](docs/GetControllers200ResponseOneOf.md) - [GetDiskUsageConsumers200Response](docs/GetDiskUsageConsumers200Response.md) @@ -579,6 +628,8 @@ Class | Method | HTTP request | Description - [GetResourcesCustomImportOperations200ResponseOneOf](docs/GetResourcesCustomImportOperations200ResponseOneOf.md) - [GetResourcesHttpProfiles200Response](docs/GetResourcesHttpProfiles200Response.md) - [GetResourcesHttpProfiles200ResponseOneOf](docs/GetResourcesHttpProfiles200ResponseOneOf.md) + - [GetResourcesLlmApiProfiles200Response](docs/GetResourcesLlmApiProfiles200Response.md) + - [GetResourcesLlmApiProfiles200ResponseOneOf](docs/GetResourcesLlmApiProfiles200ResponseOneOf.md) - [GetResultFiles200Response](docs/GetResultFiles200Response.md) - [GetResultFiles200ResponseOneOf](docs/GetResultFiles200ResponseOneOf.md) - [GetResultStats200Response](docs/GetResultStats200Response.md) @@ -587,13 +638,19 @@ Class | Method | HTTP request | Description - [GetResults200ResponseOneOf](docs/GetResults200ResponseOneOf.md) - [GetResultsTags200Response](docs/GetResultsTags200Response.md) - [GetResultsTags200ResponseOneOf](docs/GetResultsTags200ResponseOneOf.md) + - [GetScenariosOperation](docs/GetScenariosOperation.md) - [GetSessionMeta200Response](docs/GetSessionMeta200Response.md) - [GetSessionMeta200ResponseOneOf](docs/GetSessionMeta200ResponseOneOf.md) - [GetSessions200Response](docs/GetSessions200Response.md) - [GetSessions200ResponseOneOf](docs/GetSessions200ResponseOneOf.md) + - [GetStatsDashboardChanges200Response](docs/GetStatsDashboardChanges200Response.md) + - [GetStatsDashboardChanges200ResponseOneOf](docs/GetStatsDashboardChanges200ResponseOneOf.md) + - [GetStatsDashboards200Response](docs/GetStatsDashboards200Response.md) + - [GetStatsDashboards200ResponseOneOf](docs/GetStatsDashboards200ResponseOneOf.md) - [GetStatsPlugins200Response](docs/GetStatsPlugins200Response.md) - [GetStatsPlugins200ResponseOneOf](docs/GetStatsPlugins200ResponseOneOf.md) - [GetStrikesOperation](docs/GetStrikesOperation.md) + - [GridPosition](docs/GridPosition.md) - [GroupTLS13](docs/GroupTLS13.md) - [HTTPProfile](docs/HTTPProfile.md) - [HTTPReqMeta](docs/HTTPReqMeta.md) @@ -609,14 +666,19 @@ Class | Method | HTTP request | Description - [IPSecRange](docs/IPSecRange.md) - [IPSecStack](docs/IPSecStack.md) - [IdPSignatureAlgo](docs/IdPSignatureAlgo.md) + - [IdentificationConfig](docs/IdentificationConfig.md) - [ImportAllOperation](docs/ImportAllOperation.md) - [ImportOfflineLicenseResult](docs/ImportOfflineLicenseResult.md) - [IngestOperation](docs/IngestOperation.md) - [InnerIPRange](docs/InnerIPRange.md) + - [InnerIPSecRange](docs/InnerIPSecRange.md) - [Interface](docs/Interface.md) - [IpMask](docs/IpMask.md) - [IpPreference](docs/IpPreference.md) - [IpVer](docs/IpVer.md) + - [Keyword](docs/Keyword.md) + - [LLMAPIProfile](docs/LLMAPIProfile.md) + - [LayoutConfig](docs/LayoutConfig.md) - [License](docs/License.md) - [LicenseReceipt](docs/LicenseReceipt.md) - [LicenseServerMetadata](docs/LicenseServerMetadata.md) @@ -632,6 +694,7 @@ Class | Method | HTTP request | Description - [MediaFile](docs/MediaFile.md) - [MediaTrack](docs/MediaTrack.md) - [Metadata](docs/Metadata.md) + - [MetricsList](docs/MetricsList.md) - [MosMode](docs/MosMode.md) - [NameIdFormat](docs/NameIdFormat.md) - [NameServer](docs/NameServer.md) @@ -653,7 +716,11 @@ Class | Method | HTTP request | Description - [P2Config](docs/P2Config.md) - [PANGPEncapsulation](docs/PANGPEncapsulation.md) - [PANGPSettings](docs/PANGPSettings.md) + - [PPKPair](docs/PPKPair.md) + - [PSPRange](docs/PSPRange.md) + - [PSPStack](docs/PSPStack.md) - [Pair](docs/Pair.md) + - [Panel](docs/Panel.md) - [ParamMetadata](docs/ParamMetadata.md) - [ParamMetadataTypeInfo](docs/ParamMetadataTypeInfo.md) - [ParamMetadataTypeInfoArrayV2](docs/ParamMetadataTypeInfoArrayV2.md) @@ -674,21 +741,25 @@ Class | Method | HTTP request | Description - [PepDUT](docs/PepDUT.md) - [PfsP2Group](docs/PfsP2Group.md) - [PlaylistMetadata](docs/PlaylistMetadata.md) + - [PlaylistSequencingMethod](docs/PlaylistSequencingMethod.md) - [Plugin](docs/Plugin.md) - [PluginStats](docs/PluginStats.md) - [Port](docs/Port.md) - [PortSettings](docs/PortSettings.md) - [PortsByController](docs/PortsByController.md) - [PortsByNode](docs/PortsByNode.md) - - [PrepareTestOperation](docs/PrepareTestOperation.md) - - [PreparedTestOptions](docs/PreparedTestOptions.md) + - [PortsByPanel](docs/PortsByPanel.md) + - [PqcKemGroup](docs/PqcKemGroup.md) + - [PqcSignatureAlgorithmTLS13](docs/PqcSignatureAlgorithmTLS13.md) - [PrfP1Algorithm](docs/PrfP1Algorithm.md) + - [Profile](docs/Profile.md) - [ProtectedSubnetConfig](docs/ProtectedSubnetConfig.md) - [QUICProfile](docs/QUICProfile.md) - [QUICVersion](docs/QUICVersion.md) - [RTPEncryptionMode](docs/RTPEncryptionMode.md) - [RTPProfile](docs/RTPProfile.md) - [RTPProfileMeta](docs/RTPProfileMeta.md) + - [RebootComputeResourcesOperation](docs/RebootComputeResourcesOperation.md) - [RebootOperationInput](docs/RebootOperationInput.md) - [RebootPortsOperation](docs/RebootPortsOperation.md) - [Reference](docs/Reference.md) @@ -708,18 +779,26 @@ Class | Method | HTTP request | Description - [SaveConfigOperation](docs/SaveConfigOperation.md) - [Scenario](docs/Scenario.md) - [SecondaryObjective](docs/SecondaryObjective.md) + - [Section](docs/Section.md) - [SegmentType](docs/SegmentType.md) - [SelectedEnv](docs/SelectedEnv.md) + - [SequenceDataTypes](docs/SequenceDataTypes.md) + - [SequenceValue](docs/SequenceValue.md) + - [SequenceValueTypes](docs/SequenceValueTypes.md) - [Session](docs/Session.md) - [SessionReuseMethodTLS12](docs/SessionReuseMethodTLS12.md) - [SessionReuseMethodTLS13](docs/SessionReuseMethodTLS13.md) - [SetAggregationModeOperation](docs/SetAggregationModeOperation.md) - [SetControllerAppOperation](docs/SetControllerAppOperation.md) - [SetDpdkModeOperationInput](docs/SetDpdkModeOperationInput.md) - - [SetLinkStateOperation](docs/SetLinkStateOperation.md) + - [SetFanOutModeOperation](docs/SetFanOutModeOperation.md) + - [SetFrontPanelPortsLinkStateOperation](docs/SetFrontPanelPortsLinkStateOperation.md) - [SetNodesAppOperation](docs/SetNodesAppOperation.md) - [SetNtpOperationInput](docs/SetNtpOperationInput.md) + - [SetPortsLinkStateOperation](docs/SetPortsLinkStateOperation.md) + - [SimpleSequenceValue](docs/SimpleSequenceValue.md) - [SimulatedIdP](docs/SimulatedIdP.md) + - [SingleValue](docs/SingleValue.md) - [Snapshot](docs/Snapshot.md) - [SnowflakeExporter](docs/SnowflakeExporter.md) - [SortBodyField](docs/SortBodyField.md) @@ -727,19 +806,21 @@ Class | Method | HTTP request | Description - [StartAgentsBatchDeleteRequestInner](docs/StartAgentsBatchDeleteRequestInner.md) - [StatelessStream](docs/StatelessStream.md) - [StaticARPEntry](docs/StaticARPEntry.md) + - [StatsDashboard](docs/StatsDashboard.md) - [StatsResult](docs/StatsResult.md) - [SteadySegment](docs/SteadySegment.md) - [StepSegment](docs/StepSegment.md) - [StreamDirection](docs/StreamDirection.md) - [StreamPayloadType](docs/StreamPayloadType.md) - [StreamProfile](docs/StreamProfile.md) + - [SubStep](docs/SubStep.md) - [SupportedGroupTLS13](docs/SupportedGroupTLS13.md) - [SystemInfo](docs/SystemInfo.md) - [TLSProfile](docs/TLSProfile.md) - [TcpProfile](docs/TcpProfile.md) - [TestInfo](docs/TestInfo.md) - [TestStateChangedOperation](docs/TestStateChangedOperation.md) - - [TestUsage](docs/TestUsage.md) + - [TextSegment](docs/TextSegment.md) - [TimeValue](docs/TimeValue.md) - [TimelineSegment](docs/TimelineSegment.md) - [TimelineSegmentBase](docs/TimelineSegmentBase.md) @@ -764,6 +845,7 @@ Class | Method | HTTP request | Description - [UpdateNetworkMapping](docs/UpdateNetworkMapping.md) - [UpdatePortTagsOperation](docs/UpdatePortTagsOperation.md) - [VLANRange](docs/VLANRange.md) + - [VLANType](docs/VLANType.md) - [ValidationMessage](docs/ValidationMessage.md) - [Version](docs/Version.md) - [VxLANId](docs/VxLANId.md) diff --git a/cyperf/__init__.py b/cyperf/__init__.py index 2975709..dd96614 100644 --- a/cyperf/__init__.py +++ b/cyperf/__init__.py @@ -3,9 +3,9 @@ # flake8: noqa """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -34,6 +34,7 @@ from cyperf.api.authorization_api import AuthorizationApi from cyperf.api.brokers_api import BrokersApi from cyperf.api.configurations_api import ConfigurationsApi +from cyperf.api.dashboards_api import DashboardsApi from cyperf.api.data_migration_api import DataMigrationApi from cyperf.api.diagnostics_api import DiagnosticsApi from cyperf.api.license_servers_api import LicenseServersApi @@ -64,8 +65,11 @@ from cyperf.models.activation_code_request import ActivationCodeRequest from cyperf.models.add_action_info import AddActionInfo from cyperf.models.add_input import AddInput +from cyperf.models.address import Address +from cyperf.models.advanced_metric import AdvancedMetric from cyperf.models.advanced_settings import AdvancedSettings from cyperf.models.agent import Agent +from cyperf.models.agent_assignment_by_front_panel_port import AgentAssignmentByFrontPanelPort from cyperf.models.agent_assignment_by_port import AgentAssignmentByPort from cyperf.models.agent_assignment_details import AgentAssignmentDetails from cyperf.models.agent_assignments import AgentAssignments @@ -108,6 +112,7 @@ from cyperf.models.authenticate200_response import Authenticate200Response from cyperf.models.authentication_settings import AuthenticationSettings from cyperf.models.automatic_ip_type import AutomaticIpType +from cyperf.models.basic_auth_profile import BasicAuthProfile from cyperf.models.broker import Broker from cyperf.models.capture_input import CaptureInput from cyperf.models.capture_input_find_param import CaptureInputFindParam @@ -117,16 +122,24 @@ from cyperf.models.category_value import CategoryValue from cyperf.models.cert_config import CertConfig from cyperf.models.certificate import Certificate +from cyperf.models.change_event import ChangeEvent from cyperf.models.chassis_info import ChassisInfo from cyperf.models.choice import Choice from cyperf.models.cipher_tls12 import CipherTLS12 from cyperf.models.cipher_tls13 import CipherTLS13 from cyperf.models.cisco_any_connect_settings import CiscoAnyConnectSettings from cyperf.models.cisco_encapsulation import CiscoEncapsulation +from cyperf.models.classical_signature_algorithm_tls13 import ClassicalSignatureAlgorithmTLS13 +from cyperf.models.clear_compute_resources_ownership_operation import ClearComputeResourcesOwnershipOperation +from cyperf.models.clear_front_panel_ports_ownership_operation import ClearFrontPanelPortsOwnershipOperation from cyperf.models.clear_ports_ownership_operation import ClearPortsOwnershipOperation from cyperf.models.command import Command from cyperf.models.command_metadata import CommandMetadata +from cyperf.models.composite_pqc_signature_algorithm_tls13 import CompositePqcSignatureAlgorithmTLS13 from cyperf.models.compute_node import ComputeNode +from cyperf.models.compute_resource import ComputeResource +from cyperf.models.compute_resources_by_controller import ComputeResourcesByController +from cyperf.models.compute_resources_by_node import ComputeResourcesByNode from cyperf.models.config import Config from cyperf.models.config_category import ConfigCategory from cyperf.models.config_id import ConfigId @@ -137,19 +150,24 @@ from cyperf.models.connection import Connection from cyperf.models.connection_persistence import ConnectionPersistence from cyperf.models.consumer import Consumer +from cyperf.models.content_block import ContentBlock from cyperf.models.controller import Controller +from cyperf.models.convert_dashboards_operation import ConvertDashboardsOperation from cyperf.models.counted_feature_consumer import CountedFeatureConsumer from cyperf.models.counted_feature_stats import CountedFeatureStats from cyperf.models.create_app_operation import CreateAppOperation from cyperf.models.create_app_or_attack_operation_input import CreateAppOrAttackOperationInput from cyperf.models.custom_dashboards import CustomDashboards from cyperf.models.custom_import_handler import CustomImportHandler +from cyperf.models.custom_sequence import CustomSequence from cyperf.models.custom_stat import CustomStat from cyperf.models.dns_resolver import DNSResolver from cyperf.models.dns_server import DNSServer from cyperf.models.dtls_settings import DTLSSettings from cyperf.models.dut_network import DUTNetwork +from cyperf.models.dut_range import DUTRange from cyperf.models.dashboard import Dashboard +from cyperf.models.data_source_details import DataSourceDetails from cyperf.models.data_type import DataType from cyperf.models.data_type_values_inner import DataTypeValuesInner from cyperf.models.definition import Definition @@ -159,6 +177,7 @@ from cyperf.models.diagnostic_component_context import DiagnosticComponentContext from cyperf.models.diagnostic_options import DiagnosticOptions from cyperf.models.disk_usage import DiskUsage +from cyperf.models.dismiss_operation import DismissOperation from cyperf.models.esp_over_udp_settings import ESPOverUDPSettings from cyperf.models.edit_action_input import EditActionInput from cyperf.models.edit_app_operation import EditAppOperation @@ -200,8 +219,12 @@ from cyperf.models.filter import Filter from cyperf.models.filtered_stat import FilteredStat from cyperf.models.find_param_matches_operation import FindParamMatchesOperation +from cyperf.models.formatted_description import FormattedDescription from cyperf.models.fortinet_encapsulation import FortinetEncapsulation from cyperf.models.fortinet_settings import FortinetSettings +from cyperf.models.front_panel import FrontPanel +from cyperf.models.front_panel_ports_by_controller import FrontPanelPortsByController +from cyperf.models.front_panels_by_controller import FrontPanelsByController from cyperf.models.fulfillment_request import FulfillmentRequest from cyperf.models.generate_all_operation import GenerateAllOperation from cyperf.models.generate_csv_reports_operation import GenerateCSVReportsOperation @@ -211,18 +234,24 @@ from cyperf.models.get_agents200_response_one_of import GetAgents200ResponseOneOf from cyperf.models.get_agents_tags200_response import GetAgentsTags200Response from cyperf.models.get_agents_tags200_response_one_of import GetAgentsTags200ResponseOneOf -from cyperf.models.get_apps_operation import GetAppsOperation from cyperf.models.get_async_operation_result200_response import GetAsyncOperationResult200Response -from cyperf.models.get_attacks_operation import GetAttacksOperation from cyperf.models.get_brokers200_response import GetBrokers200Response from cyperf.models.get_brokers200_response_one_of import GetBrokers200ResponseOneOf from cyperf.models.get_categories_operation import GetCategoriesOperation +from cyperf.models.get_compute_node_compute_resources200_response import GetComputeNodeComputeResources200Response +from cyperf.models.get_compute_node_compute_resources200_response_one_of import GetComputeNodeComputeResources200ResponseOneOf +from cyperf.models.get_compute_node_ports200_response import GetComputeNodePorts200Response +from cyperf.models.get_compute_node_ports200_response_one_of import GetComputeNodePorts200ResponseOneOf from cyperf.models.get_config_categorie_subcategories200_response import GetConfigCategorieSubcategories200Response from cyperf.models.get_config_categorie_subcategories200_response_one_of import GetConfigCategorieSubcategories200ResponseOneOf from cyperf.models.get_config_categories200_response import GetConfigCategories200Response from cyperf.models.get_config_categories200_response_one_of import GetConfigCategories200ResponseOneOf from cyperf.models.get_configs200_response import GetConfigs200Response from cyperf.models.get_configs200_response_one_of import GetConfigs200ResponseOneOf +from cyperf.models.get_controller_compute_nodes200_response import GetControllerComputeNodes200Response +from cyperf.models.get_controller_compute_nodes200_response_one_of import GetControllerComputeNodes200ResponseOneOf +from cyperf.models.get_controller_front_panels200_response import GetControllerFrontPanels200Response +from cyperf.models.get_controller_front_panels200_response_one_of import GetControllerFrontPanels200ResponseOneOf from cyperf.models.get_controllers200_response import GetControllers200Response from cyperf.models.get_controllers200_response_one_of import GetControllers200ResponseOneOf from cyperf.models.get_disk_usage_consumers200_response import GetDiskUsageConsumers200Response @@ -246,6 +275,8 @@ from cyperf.models.get_resources_custom_import_operations200_response_one_of import GetResourcesCustomImportOperations200ResponseOneOf from cyperf.models.get_resources_http_profiles200_response import GetResourcesHttpProfiles200Response from cyperf.models.get_resources_http_profiles200_response_one_of import GetResourcesHttpProfiles200ResponseOneOf +from cyperf.models.get_resources_llm_api_profiles200_response import GetResourcesLlmApiProfiles200Response +from cyperf.models.get_resources_llm_api_profiles200_response_one_of import GetResourcesLlmApiProfiles200ResponseOneOf from cyperf.models.get_result_files200_response import GetResultFiles200Response from cyperf.models.get_result_files200_response_one_of import GetResultFiles200ResponseOneOf from cyperf.models.get_result_stats200_response import GetResultStats200Response @@ -254,13 +285,19 @@ from cyperf.models.get_results200_response_one_of import GetResults200ResponseOneOf from cyperf.models.get_results_tags200_response import GetResultsTags200Response from cyperf.models.get_results_tags200_response_one_of import GetResultsTags200ResponseOneOf +from cyperf.models.get_scenarios_operation import GetScenariosOperation from cyperf.models.get_session_meta200_response import GetSessionMeta200Response from cyperf.models.get_session_meta200_response_one_of import GetSessionMeta200ResponseOneOf from cyperf.models.get_sessions200_response import GetSessions200Response from cyperf.models.get_sessions200_response_one_of import GetSessions200ResponseOneOf +from cyperf.models.get_stats_dashboard_changes200_response import GetStatsDashboardChanges200Response +from cyperf.models.get_stats_dashboard_changes200_response_one_of import GetStatsDashboardChanges200ResponseOneOf +from cyperf.models.get_stats_dashboards200_response import GetStatsDashboards200Response +from cyperf.models.get_stats_dashboards200_response_one_of import GetStatsDashboards200ResponseOneOf from cyperf.models.get_stats_plugins200_response import GetStatsPlugins200Response from cyperf.models.get_stats_plugins200_response_one_of import GetStatsPlugins200ResponseOneOf from cyperf.models.get_strikes_operation import GetStrikesOperation +from cyperf.models.grid_position import GridPosition from cyperf.models.group_tls13 import GroupTLS13 from cyperf.models.http_profile import HTTPProfile from cyperf.models.http_req_meta import HTTPReqMeta @@ -276,14 +313,19 @@ from cyperf.models.ip_sec_range import IPSecRange from cyperf.models.ip_sec_stack import IPSecStack from cyperf.models.id_p_signature_algo import IdPSignatureAlgo +from cyperf.models.identification_config import IdentificationConfig from cyperf.models.import_all_operation import ImportAllOperation from cyperf.models.import_offline_license_result import ImportOfflineLicenseResult from cyperf.models.ingest_operation import IngestOperation from cyperf.models.inner_ip_range import InnerIPRange +from cyperf.models.inner_ip_sec_range import InnerIPSecRange from cyperf.models.interface import Interface from cyperf.models.ip_mask import IpMask from cyperf.models.ip_preference import IpPreference from cyperf.models.ip_ver import IpVer +from cyperf.models.keyword import Keyword +from cyperf.models.llmapi_profile import LLMAPIProfile +from cyperf.models.layout_config import LayoutConfig from cyperf.models.license import License from cyperf.models.license_receipt import LicenseReceipt from cyperf.models.license_server_metadata import LicenseServerMetadata @@ -299,6 +341,7 @@ from cyperf.models.media_file import MediaFile from cyperf.models.media_track import MediaTrack from cyperf.models.metadata import Metadata +from cyperf.models.metrics_list import MetricsList from cyperf.models.mos_mode import MosMode from cyperf.models.name_id_format import NameIdFormat from cyperf.models.name_server import NameServer @@ -320,7 +363,11 @@ from cyperf.models.p2_config import P2Config from cyperf.models.pangp_encapsulation import PANGPEncapsulation from cyperf.models.pangp_settings import PANGPSettings +from cyperf.models.ppk_pair import PPKPair +from cyperf.models.psp_range import PSPRange +from cyperf.models.psp_stack import PSPStack from cyperf.models.pair import Pair +from cyperf.models.panel import Panel from cyperf.models.param_metadata import ParamMetadata from cyperf.models.param_metadata_type_info import ParamMetadataTypeInfo from cyperf.models.param_metadata_type_info_array_v2 import ParamMetadataTypeInfoArrayV2 @@ -341,21 +388,25 @@ from cyperf.models.pep_dut import PepDUT from cyperf.models.pfs_p2_group import PfsP2Group from cyperf.models.playlist_metadata import PlaylistMetadata +from cyperf.models.playlist_sequencing_method import PlaylistSequencingMethod from cyperf.models.plugin import Plugin from cyperf.models.plugin_stats import PluginStats from cyperf.models.port import Port from cyperf.models.port_settings import PortSettings from cyperf.models.ports_by_controller import PortsByController from cyperf.models.ports_by_node import PortsByNode -from cyperf.models.prepare_test_operation import PrepareTestOperation -from cyperf.models.prepared_test_options import PreparedTestOptions +from cyperf.models.ports_by_panel import PortsByPanel +from cyperf.models.pqc_kem_group import PqcKemGroup +from cyperf.models.pqc_signature_algorithm_tls13 import PqcSignatureAlgorithmTLS13 from cyperf.models.prf_p1_algorithm import PrfP1Algorithm +from cyperf.models.profile import Profile from cyperf.models.protected_subnet_config import ProtectedSubnetConfig from cyperf.models.quic_profile import QUICProfile from cyperf.models.quic_version import QUICVersion from cyperf.models.rtp_encryption_mode import RTPEncryptionMode from cyperf.models.rtp_profile import RTPProfile from cyperf.models.rtp_profile_meta import RTPProfileMeta +from cyperf.models.reboot_compute_resources_operation import RebootComputeResourcesOperation from cyperf.models.reboot_operation_input import RebootOperationInput from cyperf.models.reboot_ports_operation import RebootPortsOperation from cyperf.models.reference import Reference @@ -375,18 +426,26 @@ from cyperf.models.save_config_operation import SaveConfigOperation from cyperf.models.scenario import Scenario from cyperf.models.secondary_objective import SecondaryObjective +from cyperf.models.section import Section from cyperf.models.segment_type import SegmentType from cyperf.models.selected_env import SelectedEnv +from cyperf.models.sequence_data_types import SequenceDataTypes +from cyperf.models.sequence_value import SequenceValue +from cyperf.models.sequence_value_types import SequenceValueTypes from cyperf.models.session import Session from cyperf.models.session_reuse_method_tls12 import SessionReuseMethodTLS12 from cyperf.models.session_reuse_method_tls13 import SessionReuseMethodTLS13 from cyperf.models.set_aggregation_mode_operation import SetAggregationModeOperation from cyperf.models.set_controller_app_operation import SetControllerAppOperation from cyperf.models.set_dpdk_mode_operation_input import SetDpdkModeOperationInput -from cyperf.models.set_link_state_operation import SetLinkStateOperation +from cyperf.models.set_fan_out_mode_operation import SetFanOutModeOperation +from cyperf.models.set_front_panel_ports_link_state_operation import SetFrontPanelPortsLinkStateOperation from cyperf.models.set_nodes_app_operation import SetNodesAppOperation from cyperf.models.set_ntp_operation_input import SetNtpOperationInput +from cyperf.models.set_ports_link_state_operation import SetPortsLinkStateOperation +from cyperf.models.simple_sequence_value import SimpleSequenceValue from cyperf.models.simulated_id_p import SimulatedIdP +from cyperf.models.single_value import SingleValue from cyperf.models.snapshot import Snapshot from cyperf.models.snowflake_exporter import SnowflakeExporter from cyperf.models.sort_body_field import SortBodyField @@ -394,19 +453,21 @@ from cyperf.models.start_agents_batch_delete_request_inner import StartAgentsBatchDeleteRequestInner from cyperf.models.stateless_stream import StatelessStream from cyperf.models.static_arp_entry import StaticARPEntry +from cyperf.models.stats_dashboard import StatsDashboard from cyperf.models.stats_result import StatsResult from cyperf.models.steady_segment import SteadySegment from cyperf.models.step_segment import StepSegment from cyperf.models.stream_direction import StreamDirection from cyperf.models.stream_payload_type import StreamPayloadType from cyperf.models.stream_profile import StreamProfile +from cyperf.models.sub_step import SubStep from cyperf.models.supported_group_tls13 import SupportedGroupTLS13 from cyperf.models.system_info import SystemInfo from cyperf.models.tls_profile import TLSProfile from cyperf.models.tcp_profile import TcpProfile from cyperf.models.test_info import TestInfo from cyperf.models.test_state_changed_operation import TestStateChangedOperation -from cyperf.models.test_usage import TestUsage +from cyperf.models.text_segment import TextSegment from cyperf.models.time_value import TimeValue from cyperf.models.timeline_segment import TimelineSegment from cyperf.models.timeline_segment_base import TimelineSegmentBase @@ -431,6 +492,7 @@ from cyperf.models.update_network_mapping import UpdateNetworkMapping from cyperf.models.update_port_tags_operation import UpdatePortTagsOperation from cyperf.models.vlan_range import VLANRange +from cyperf.models.vlan_type import VLANType from cyperf.models.validation_message import ValidationMessage from cyperf.models.version import Version from cyperf.models.vx_lanid import VxLANId diff --git a/cyperf/api/__init__.py b/cyperf/api/__init__.py index ac2cdcc..0e934f8 100644 --- a/cyperf/api/__init__.py +++ b/cyperf/api/__init__.py @@ -6,6 +6,7 @@ from cyperf.api.authorization_api import AuthorizationApi from cyperf.api.brokers_api import BrokersApi from cyperf.api.configurations_api import ConfigurationsApi +from cyperf.api.dashboards_api import DashboardsApi from cyperf.api.data_migration_api import DataMigrationApi from cyperf.api.diagnostics_api import DiagnosticsApi from cyperf.api.license_servers_api import LicenseServersApi diff --git a/cyperf/api/agents_api.py b/cyperf/api/agents_api.py index 58b5f49..a848be2 100644 --- a/cyperf/api/agents_api.py +++ b/cyperf/api/agents_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -22,15 +22,24 @@ from typing_extensions import Annotated from cyperf.models.agent import Agent from cyperf.models.async_context import AsyncContext +from cyperf.models.clear_compute_resources_ownership_operation import ClearComputeResourcesOwnershipOperation +from cyperf.models.clear_front_panel_ports_ownership_operation import ClearFrontPanelPortsOwnershipOperation from cyperf.models.clear_ports_ownership_operation import ClearPortsOwnershipOperation from cyperf.models.compute_node import ComputeNode +from cyperf.models.compute_resource import ComputeResource from cyperf.models.controller import Controller from cyperf.models.export_files_operation_input import ExportFilesOperationInput +from cyperf.models.front_panel import FrontPanel from cyperf.models.get_agents200_response import GetAgents200Response from cyperf.models.get_agents_tags200_response import GetAgentsTags200Response +from cyperf.models.get_compute_node_compute_resources200_response import GetComputeNodeComputeResources200Response +from cyperf.models.get_compute_node_ports200_response import GetComputeNodePorts200Response +from cyperf.models.get_controller_compute_nodes200_response import GetControllerComputeNodes200Response +from cyperf.models.get_controller_front_panels200_response import GetControllerFrontPanels200Response from cyperf.models.get_controllers200_response import GetControllers200Response from cyperf.models.nodes_power_cycle_operation import NodesPowerCycleOperation from cyperf.models.port import Port +from cyperf.models.reboot_compute_resources_operation import RebootComputeResourcesOperation from cyperf.models.reboot_operation_input import RebootOperationInput from cyperf.models.reboot_ports_operation import RebootPortsOperation from cyperf.models.release_operation_input import ReleaseOperationInput @@ -38,9 +47,11 @@ from cyperf.models.set_aggregation_mode_operation import SetAggregationModeOperation from cyperf.models.set_controller_app_operation import SetControllerAppOperation from cyperf.models.set_dpdk_mode_operation_input import SetDpdkModeOperationInput -from cyperf.models.set_link_state_operation import SetLinkStateOperation +from cyperf.models.set_fan_out_mode_operation import SetFanOutModeOperation +from cyperf.models.set_front_panel_ports_link_state_operation import SetFrontPanelPortsLinkStateOperation from cyperf.models.set_nodes_app_operation import SetNodesAppOperation from cyperf.models.set_ntp_operation_input import SetNtpOperationInput +from cyperf.models.set_ports_link_state_operation import SetPortsLinkStateOperation from cyperf.models.start_agents_batch_delete_request_inner import StartAgentsBatchDeleteRequestInner from cyperf.models.update_port_tags_operation import UpdatePortTagsOperation @@ -1213,11 +1224,11 @@ def _get_agents_tags_serialize( @validate_call - def get_compute_node_port_by_id( + def get_compute_node_compute_resource_by_id( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], - port_id: Annotated[StrictStr, Field(description="The ID of the port.")], + compute_resource_id: Annotated[StrictStr, Field(description="The ID of the compute resource.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1230,16 +1241,16 @@ def get_compute_node_port_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Port: - """get_compute_node_port_by_id + ) -> ComputeResource: + """get_compute_node_compute_resource_by_id :param controller_id: The ID of the controller. (required) :type controller_id: str :param compute_node_id: The ID of the compute node. (required) :type compute_node_id: str - :param port_id: The ID of the port. (required) - :type port_id: str + :param compute_resource_id: The ID of the compute resource. (required) + :type compute_resource_id: str :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 @@ -1262,10 +1273,10 @@ def get_compute_node_port_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compute_node_port_by_id_serialize( + _param = self._get_compute_node_compute_resource_by_id_serialize( controller_id=controller_id, compute_node_id=compute_node_id, - port_id=port_id, + compute_resource_id=compute_resource_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1273,7 +1284,7 @@ def get_compute_node_port_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Port", + '200': "ComputeResource", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -1285,11 +1296,11 @@ def get_compute_node_port_by_id( @validate_call - def get_compute_node_port_by_id_with_http_info( + def get_compute_node_compute_resource_by_id_with_http_info( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], - port_id: Annotated[StrictStr, Field(description="The ID of the port.")], + compute_resource_id: Annotated[StrictStr, Field(description="The ID of the compute resource.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1302,16 +1313,16 @@ def get_compute_node_port_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Port]: - """get_compute_node_port_by_id + ) -> ApiResponse[ComputeResource]: + """get_compute_node_compute_resource_by_id :param controller_id: The ID of the controller. (required) :type controller_id: str :param compute_node_id: The ID of the compute node. (required) :type compute_node_id: str - :param port_id: The ID of the port. (required) - :type port_id: str + :param compute_resource_id: The ID of the compute resource. (required) + :type compute_resource_id: str :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 @@ -1334,10 +1345,10 @@ def get_compute_node_port_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compute_node_port_by_id_serialize( + _param = self._get_compute_node_compute_resource_by_id_serialize( controller_id=controller_id, compute_node_id=compute_node_id, - port_id=port_id, + compute_resource_id=compute_resource_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1345,7 +1356,7 @@ def get_compute_node_port_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Port", + '200': "ComputeResource", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -1357,11 +1368,11 @@ def get_compute_node_port_by_id_with_http_info( @validate_call - def get_compute_node_port_by_id_without_preload_content( + def get_compute_node_compute_resource_by_id_without_preload_content( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], - port_id: Annotated[StrictStr, Field(description="The ID of the port.")], + compute_resource_id: Annotated[StrictStr, Field(description="The ID of the compute resource.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1375,15 +1386,15 @@ def get_compute_node_port_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_compute_node_port_by_id + """get_compute_node_compute_resource_by_id :param controller_id: The ID of the controller. (required) :type controller_id: str :param compute_node_id: The ID of the compute node. (required) :type compute_node_id: str - :param port_id: The ID of the port. (required) - :type port_id: str + :param compute_resource_id: The ID of the compute resource. (required) + :type compute_resource_id: str :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 @@ -1406,10 +1417,10 @@ def get_compute_node_port_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compute_node_port_by_id_serialize( + _param = self._get_compute_node_compute_resource_by_id_serialize( controller_id=controller_id, compute_node_id=compute_node_id, - port_id=port_id, + compute_resource_id=compute_resource_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1417,7 +1428,7 @@ def get_compute_node_port_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Port", + '200': "ComputeResource", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -1428,11 +1439,11 @@ def get_compute_node_port_by_id_without_preload_content( ) - def _get_compute_node_port_by_id_serialize( + def _get_compute_node_compute_resource_by_id_serialize( self, controller_id, compute_node_id, - port_id, + compute_resource_id, _request_auth, _content_type, _headers, @@ -1456,8 +1467,8 @@ def _get_compute_node_port_by_id_serialize( _path_params['controllerId'] = controller_id if compute_node_id is not None: _path_params['computeNodeId'] = compute_node_id - if port_id is not None: - _path_params['portId'] = port_id + if compute_resource_id is not None: + _path_params['computeResourceId'] = compute_resource_id # process the query parameters # process the header parameters # process the form parameters @@ -1481,7 +1492,7 @@ def _get_compute_node_port_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports/{portId}', + resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/compute-resources/{computeResourceId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1498,7 +1509,7 @@ def _get_compute_node_port_by_id_serialize( @validate_call - def get_compute_node_ports( + def get_compute_node_compute_resources( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], @@ -1516,9 +1527,10 @@ def get_compute_node_ports( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Port]: - """get_compute_node_ports + ) -> GetComputeNodeComputeResources200Response: + """get_compute_node_compute_resources + Get the compute resources of a compute node. :param controller_id: The ID of the controller. (required) :type controller_id: str @@ -1550,7 +1562,7 @@ def get_compute_node_ports( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compute_node_ports_serialize( + _param = self._get_compute_node_compute_resources_serialize( controller_id=controller_id, compute_node_id=compute_node_id, take=take, @@ -1562,7 +1574,7 @@ def get_compute_node_ports( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[Port]", + '200': "GetComputeNodeComputeResources200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -1573,7 +1585,7 @@ def get_compute_node_ports( @validate_call - def get_compute_node_ports_with_http_info( + def get_compute_node_compute_resources_with_http_info( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], @@ -1591,9 +1603,10 @@ def get_compute_node_ports_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Port]]: - """get_compute_node_ports + ) -> ApiResponse[GetComputeNodeComputeResources200Response]: + """get_compute_node_compute_resources + Get the compute resources of a compute node. :param controller_id: The ID of the controller. (required) :type controller_id: str @@ -1625,7 +1638,7 @@ def get_compute_node_ports_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compute_node_ports_serialize( + _param = self._get_compute_node_compute_resources_serialize( controller_id=controller_id, compute_node_id=compute_node_id, take=take, @@ -1637,7 +1650,7 @@ def get_compute_node_ports_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[Port]", + '200': "GetComputeNodeComputeResources200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -1648,7 +1661,7 @@ def get_compute_node_ports_with_http_info( @validate_call - def get_compute_node_ports_without_preload_content( + def get_compute_node_compute_resources_without_preload_content( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], @@ -1667,8 +1680,9 @@ def get_compute_node_ports_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_compute_node_ports + """get_compute_node_compute_resources + Get the compute resources of a compute node. :param controller_id: The ID of the controller. (required) :type controller_id: str @@ -1700,7 +1714,7 @@ def get_compute_node_ports_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compute_node_ports_serialize( + _param = self._get_compute_node_compute_resources_serialize( controller_id=controller_id, compute_node_id=compute_node_id, take=take, @@ -1712,7 +1726,7 @@ def get_compute_node_ports_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[Port]", + '200': "GetComputeNodeComputeResources200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -1722,7 +1736,7 @@ def get_compute_node_ports_without_preload_content( ) - def _get_compute_node_ports_serialize( + def _get_compute_node_compute_resources_serialize( self, controller_id, compute_node_id, @@ -1782,7 +1796,7 @@ def _get_compute_node_ports_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports', + resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/compute-resources', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1799,9 +1813,11 @@ def _get_compute_node_ports_serialize( @validate_call - def get_controller_by_id( + def get_compute_node_port_by_id( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], + port_id: Annotated[StrictStr, Field(description="The ID of the port.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1814,13 +1830,16 @@ def get_controller_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Controller: - """get_controller_by_id + ) -> Port: + """get_compute_node_port_by_id - Get the controller chain. :param controller_id: The ID of the controller. (required) :type controller_id: str + :param compute_node_id: The ID of the compute node. (required) + :type compute_node_id: str + :param port_id: The ID of the port. (required) + :type port_id: str :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 @@ -1843,8 +1862,10 @@ def get_controller_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_by_id_serialize( + _param = self._get_compute_node_port_by_id_serialize( controller_id=controller_id, + compute_node_id=compute_node_id, + port_id=port_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1852,7 +1873,8 @@ def get_controller_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Controller", + '200': "Port", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -1863,9 +1885,11 @@ def get_controller_by_id( @validate_call - def get_controller_by_id_with_http_info( + def get_compute_node_port_by_id_with_http_info( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], + port_id: Annotated[StrictStr, Field(description="The ID of the port.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1878,13 +1902,16 @@ def get_controller_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Controller]: - """get_controller_by_id + ) -> ApiResponse[Port]: + """get_compute_node_port_by_id - Get the controller chain. :param controller_id: The ID of the controller. (required) :type controller_id: str + :param compute_node_id: The ID of the compute node. (required) + :type compute_node_id: str + :param port_id: The ID of the port. (required) + :type port_id: str :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 @@ -1907,8 +1934,10 @@ def get_controller_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_by_id_serialize( + _param = self._get_compute_node_port_by_id_serialize( controller_id=controller_id, + compute_node_id=compute_node_id, + port_id=port_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1916,7 +1945,8 @@ def get_controller_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Controller", + '200': "Port", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -1927,9 +1957,11 @@ def get_controller_by_id_with_http_info( @validate_call - def get_controller_by_id_without_preload_content( + def get_compute_node_port_by_id_without_preload_content( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], + port_id: Annotated[StrictStr, Field(description="The ID of the port.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1943,12 +1975,15 @@ def get_controller_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_controller_by_id + """get_compute_node_port_by_id - Get the controller chain. :param controller_id: The ID of the controller. (required) :type controller_id: str + :param compute_node_id: The ID of the compute node. (required) + :type compute_node_id: str + :param port_id: The ID of the port. (required) + :type port_id: str :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 @@ -1971,8 +2006,10 @@ def get_controller_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_by_id_serialize( + _param = self._get_compute_node_port_by_id_serialize( controller_id=controller_id, + compute_node_id=compute_node_id, + port_id=port_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1980,7 +2017,8 @@ def get_controller_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Controller", + '200': "Port", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -1990,9 +2028,11 @@ def get_controller_by_id_without_preload_content( ) - def _get_controller_by_id_serialize( + def _get_compute_node_port_by_id_serialize( self, controller_id, + compute_node_id, + port_id, _request_auth, _content_type, _headers, @@ -2014,6 +2054,10 @@ def _get_controller_by_id_serialize( # process the path parameters if controller_id is not None: _path_params['controllerId'] = controller_id + if compute_node_id is not None: + _path_params['computeNodeId'] = compute_node_id + if port_id is not None: + _path_params['portId'] = port_id # process the query parameters # process the header parameters # process the form parameters @@ -2037,7 +2081,7 @@ def _get_controller_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/controllers/{controllerId}', + resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports/{portId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2054,10 +2098,12 @@ def _get_controller_by_id_serialize( @validate_call - def get_controller_compute_node_by_id( + def get_compute_node_ports( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2070,14 +2116,19 @@ def get_controller_compute_node_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ComputeNode: - """get_controller_compute_node_by_id + ) -> GetComputeNodePorts200Response: + """get_compute_node_ports + Get the ports of a compute node. :param controller_id: The ID of the controller. (required) :type controller_id: str :param compute_node_id: The ID of the compute node. (required) :type compute_node_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -2100,9 +2151,11 @@ def get_controller_compute_node_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_compute_node_by_id_serialize( + _param = self._get_compute_node_ports_serialize( controller_id=controller_id, compute_node_id=compute_node_id, + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2110,8 +2163,7 @@ def get_controller_compute_node_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ComputeNode", - '404': "ErrorResponse", + '200': "GetComputeNodePorts200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2122,10 +2174,12 @@ def get_controller_compute_node_by_id( @validate_call - def get_controller_compute_node_by_id_with_http_info( + def get_compute_node_ports_with_http_info( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2138,14 +2192,19 @@ def get_controller_compute_node_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ComputeNode]: - """get_controller_compute_node_by_id + ) -> ApiResponse[GetComputeNodePorts200Response]: + """get_compute_node_ports + Get the ports of a compute node. :param controller_id: The ID of the controller. (required) :type controller_id: str :param compute_node_id: The ID of the compute node. (required) :type compute_node_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -2168,9 +2227,11 @@ def get_controller_compute_node_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_compute_node_by_id_serialize( + _param = self._get_compute_node_ports_serialize( controller_id=controller_id, compute_node_id=compute_node_id, + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2178,8 +2239,7 @@ def get_controller_compute_node_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ComputeNode", - '404': "ErrorResponse", + '200': "GetComputeNodePorts200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2190,10 +2250,12 @@ def get_controller_compute_node_by_id_with_http_info( @validate_call - def get_controller_compute_node_by_id_without_preload_content( + def get_compute_node_ports_without_preload_content( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2207,13 +2269,18 @@ def get_controller_compute_node_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_controller_compute_node_by_id + """get_compute_node_ports + Get the ports of a compute node. :param controller_id: The ID of the controller. (required) :type controller_id: str :param compute_node_id: The ID of the compute node. (required) :type compute_node_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -2236,9 +2303,11 @@ def get_controller_compute_node_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_compute_node_by_id_serialize( + _param = self._get_compute_node_ports_serialize( controller_id=controller_id, compute_node_id=compute_node_id, + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2246,8 +2315,7 @@ def get_controller_compute_node_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ComputeNode", - '404': "ErrorResponse", + '200': "GetComputeNodePorts200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2257,10 +2325,12 @@ def get_controller_compute_node_by_id_without_preload_content( ) - def _get_controller_compute_node_by_id_serialize( + def _get_compute_node_ports_serialize( self, controller_id, compute_node_id, + take, + skip, _request_auth, _content_type, _headers, @@ -2285,6 +2355,14 @@ def _get_controller_compute_node_by_id_serialize( if compute_node_id is not None: _path_params['computeNodeId'] = compute_node_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -2307,7 +2385,7 @@ def _get_controller_compute_node_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}', + resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2324,11 +2402,9 @@ def _get_controller_compute_node_by_id_serialize( @validate_call - def get_controller_compute_nodes( + def get_controller_by_id( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2341,16 +2417,13 @@ def get_controller_compute_nodes( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[ComputeNode]: - """get_controller_compute_nodes + ) -> Controller: + """get_controller_by_id + Get the controller chain. :param controller_id: The ID of the controller. (required) :type controller_id: str - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int :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 @@ -2373,10 +2446,8 @@ def get_controller_compute_nodes( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_compute_nodes_serialize( + _param = self._get_controller_by_id_serialize( controller_id=controller_id, - take=take, - skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2384,7 +2455,7 @@ def get_controller_compute_nodes( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[ComputeNode]", + '200': "Controller", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2395,11 +2466,9 @@ def get_controller_compute_nodes( @validate_call - def get_controller_compute_nodes_with_http_info( + def get_controller_by_id_with_http_info( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2412,16 +2481,13 @@ def get_controller_compute_nodes_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[ComputeNode]]: - """get_controller_compute_nodes + ) -> ApiResponse[Controller]: + """get_controller_by_id + Get the controller chain. :param controller_id: The ID of the controller. (required) :type controller_id: str - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int :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 @@ -2444,10 +2510,8 @@ def get_controller_compute_nodes_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_compute_nodes_serialize( + _param = self._get_controller_by_id_serialize( controller_id=controller_id, - take=take, - skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2455,7 +2519,7 @@ def get_controller_compute_nodes_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[ComputeNode]", + '200': "Controller", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2466,11 +2530,9 @@ def get_controller_compute_nodes_with_http_info( @validate_call - def get_controller_compute_nodes_without_preload_content( + def get_controller_by_id_without_preload_content( self, controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2484,15 +2546,12 @@ def get_controller_compute_nodes_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_controller_compute_nodes + """get_controller_by_id + Get the controller chain. :param controller_id: The ID of the controller. (required) :type controller_id: str - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int :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 @@ -2515,10 +2574,8 @@ def get_controller_compute_nodes_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controller_compute_nodes_serialize( + _param = self._get_controller_by_id_serialize( controller_id=controller_id, - take=take, - skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2526,7 +2583,7 @@ def get_controller_compute_nodes_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[ComputeNode]", + '200': "Controller", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2536,11 +2593,9 @@ def get_controller_compute_nodes_without_preload_content( ) - def _get_controller_compute_nodes_serialize( + def _get_controller_by_id_serialize( self, controller_id, - take, - skip, _request_auth, _content_type, _headers, @@ -2563,14 +2618,6 @@ def _get_controller_compute_nodes_serialize( if controller_id is not None: _path_params['controllerId'] = controller_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -2593,7 +2640,7 @@ def _get_controller_compute_nodes_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/controllers/{controllerId}/compute-nodes', + resource_path='/api/v2/controllers/{controllerId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2610,11 +2657,10 @@ def _get_controller_compute_nodes_serialize( @validate_call - def get_controllers( + def get_controller_compute_node_by_id( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, - include: Annotated[Optional[StrictStr], Field(description="Specifies if the sub-fields that are objects should be included.")] = None, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2627,17 +2673,14 @@ def get_controllers( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetControllers200Response: - """get_controllers + ) -> ComputeNode: + """get_controller_compute_node_by_id - Get the controllers chain. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int - :param include: Specifies if the sub-fields that are objects should be included. - :type include: str + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param compute_node_id: The ID of the compute node. (required) + :type compute_node_id: str :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 @@ -2660,10 +2703,9 @@ def get_controllers( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controllers_serialize( - take=take, - skip=skip, - include=include, + _param = self._get_controller_compute_node_by_id_serialize( + controller_id=controller_id, + compute_node_id=compute_node_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2671,7 +2713,8 @@ def get_controllers( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetControllers200Response", + '200': "ComputeNode", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2682,11 +2725,10 @@ def get_controllers( @validate_call - def get_controllers_with_http_info( + def get_controller_compute_node_by_id_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, - include: Annotated[Optional[StrictStr], Field(description="Specifies if the sub-fields that are objects should be included.")] = None, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2699,17 +2741,14 @@ def get_controllers_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetControllers200Response]: - """get_controllers + ) -> ApiResponse[ComputeNode]: + """get_controller_compute_node_by_id - Get the controllers chain. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int - :param include: Specifies if the sub-fields that are objects should be included. - :type include: str + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param compute_node_id: The ID of the compute node. (required) + :type compute_node_id: str :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 @@ -2732,10 +2771,9 @@ def get_controllers_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controllers_serialize( - take=take, - skip=skip, - include=include, + _param = self._get_controller_compute_node_by_id_serialize( + controller_id=controller_id, + compute_node_id=compute_node_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2743,7 +2781,8 @@ def get_controllers_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetControllers200Response", + '200': "ComputeNode", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2754,11 +2793,10 @@ def get_controllers_with_http_info( @validate_call - def get_controllers_without_preload_content( + def get_controller_compute_node_by_id_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, - include: Annotated[Optional[StrictStr], Field(description="Specifies if the sub-fields that are objects should be included.")] = None, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + compute_node_id: Annotated[StrictStr, Field(description="The ID of the compute node.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2772,16 +2810,13 @@ def get_controllers_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_controllers + """get_controller_compute_node_by_id - Get the controllers chain. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int - :param include: Specifies if the sub-fields that are objects should be included. - :type include: str + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param compute_node_id: The ID of the compute node. (required) + :type compute_node_id: str :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 @@ -2804,10 +2839,9 @@ def get_controllers_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_controllers_serialize( - take=take, - skip=skip, - include=include, + _param = self._get_controller_compute_node_by_id_serialize( + controller_id=controller_id, + compute_node_id=compute_node_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2815,7 +2849,8 @@ def get_controllers_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetControllers200Response", + '200': "ComputeNode", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2825,11 +2860,10 @@ def get_controllers_without_preload_content( ) - def _get_controllers_serialize( + def _get_controller_compute_node_by_id_serialize( self, - take, - skip, - include, + controller_id, + compute_node_id, _request_auth, _content_type, _headers, @@ -2849,19 +2883,11 @@ def _get_controllers_serialize( _body_params: Optional[bytes] = None # process the path parameters + if controller_id is not None: + _path_params['controllerId'] = controller_id + if compute_node_id is not None: + _path_params['computeNodeId'] = compute_node_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - - if include is not None: - - _query_params.append(('include', include)) - # process the header parameters # process the form parameters # process the body parameter @@ -2884,7 +2910,7 @@ def _get_controllers_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/controllers', + resource_path='/api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2901,10 +2927,11 @@ def _get_controllers_serialize( @validate_call - def patch_agent( + def get_controller_compute_nodes( self, - agent_id: Annotated[StrictStr, Field(description="The ID of the agent.")], - agent: Optional[Agent] = None, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2917,15 +2944,17 @@ def patch_agent( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """patch_agent + ) -> GetControllerComputeNodes200Response: + """get_controller_compute_nodes - Update a particular agent. Only non-null fields are updated. + Get the compute nodes chain. - :param agent_id: The ID of the agent. (required) - :type agent_id: str - :param agent: - :type agent: Agent + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -2948,9 +2977,10 @@ def patch_agent( :return: Returns the result object. """ # noqa: E501 - _param = self._patch_agent_serialize( - agent_id=agent_id, - agent=agent, + _param = self._get_controller_compute_nodes_serialize( + controller_id=controller_id, + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2958,8 +2988,7 @@ def patch_agent( ) _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '404': "ErrorResponse", + '200': "GetControllerComputeNodes200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -2970,10 +2999,11 @@ def patch_agent( @validate_call - def patch_agent_with_http_info( + def get_controller_compute_nodes_with_http_info( self, - agent_id: Annotated[StrictStr, Field(description="The ID of the agent.")], - agent: Optional[Agent] = None, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2986,15 +3016,17 @@ def patch_agent_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """patch_agent + ) -> ApiResponse[GetControllerComputeNodes200Response]: + """get_controller_compute_nodes - Update a particular agent. Only non-null fields are updated. + Get the compute nodes chain. - :param agent_id: The ID of the agent. (required) - :type agent_id: str - :param agent: - :type agent: Agent + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -3017,9 +3049,10 @@ def patch_agent_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._patch_agent_serialize( - agent_id=agent_id, - agent=agent, + _param = self._get_controller_compute_nodes_serialize( + controller_id=controller_id, + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3027,8 +3060,7 @@ def patch_agent_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '404': "ErrorResponse", + '200': "GetControllerComputeNodes200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -3039,10 +3071,11 @@ def patch_agent_with_http_info( @validate_call - def patch_agent_without_preload_content( + def get_controller_compute_nodes_without_preload_content( self, - agent_id: Annotated[StrictStr, Field(description="The ID of the agent.")], - agent: Optional[Agent] = None, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3056,14 +3089,16 @@ def patch_agent_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """patch_agent + """get_controller_compute_nodes - Update a particular agent. Only non-null fields are updated. + Get the compute nodes chain. - :param agent_id: The ID of the agent. (required) - :type agent_id: str - :param agent: - :type agent: Agent + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -3086,9 +3121,10 @@ def patch_agent_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._patch_agent_serialize( - agent_id=agent_id, - agent=agent, + _param = self._get_controller_compute_nodes_serialize( + controller_id=controller_id, + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3096,8 +3132,7 @@ def patch_agent_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '404': "ErrorResponse", + '200': "GetControllerComputeNodes200Response", '500': "ErrorResponse", } return self.api_client.call_api( @@ -3107,10 +3142,11 @@ def patch_agent_without_preload_content( ) - def _patch_agent_serialize( + def _get_controller_compute_nodes_serialize( self, - agent_id, - agent, + controller_id, + take, + skip, _request_auth, _content_type, _headers, @@ -3130,14 +3166,20 @@ def _patch_agent_serialize( _body_params: Optional[bytes] = None # process the path parameters - if agent_id is not None: - _path_params['agentId'] = agent_id + if controller_id is not None: + _path_params['controllerId'] = controller_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter - if agent is not None: - _body_params = agent # set the HTTP header `Accept` @@ -3148,19 +3190,6 @@ def _patch_agent_serialize( ] ) - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -3169,8 +3198,8 @@ def _patch_agent_serialize( ] return self.api_client.param_serialize( - method='PATCH', - resource_path='/api/v2/agents/{agentId}', + method='GET', + resource_path='/api/v2/controllers/{controllerId}/compute-nodes', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3186,170 +3215,3271 @@ def _patch_agent_serialize( - - - - - - - - - - - + @validate_call + def get_controller_front_panel_by_id( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> FrontPanel: + """get_controller_front_panel_by_id - - - - - - - - + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 - + _param = self._get_controller_front_panel_by_id_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '200': "FrontPanel", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + @validate_call + def get_controller_front_panel_by_id_with_http_info( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[FrontPanel]: + """get_controller_front_panel_by_id + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._get_controller_front_panel_by_id_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '200': "FrontPanel", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) - - - - + @validate_call + def get_controller_front_panel_by_id_without_preload_content( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_controller_front_panel_by_id + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._get_controller_front_panel_by_id_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '200': "FrontPanel", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) - + def _get_controller_front_panel_by_id_serialize( + self, + controller_id, + front_panel_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: - + _host = None + _collection_formats: Dict[str, str] = { + } + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + # process the path parameters + if controller_id is not None: + _path_params['controllerId'] = controller_id + if front_panel_id is not None: + _path_params['frontPanelId'] = front_panel_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter - + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) - - + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/controllers/{controllerId}/front-panels/{frontPanelId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) - + @validate_call + def get_controller_front_panels( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetControllerFrontPanels200Response: + """get_controller_front_panels - + Get the front panels chain. - + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._get_controller_front_panels_serialize( + controller_id=controller_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetControllerFrontPanels200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_controller_front_panels_with_http_info( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetControllerFrontPanels200Response]: + """get_controller_front_panels + + Get the front panels chain. + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_controller_front_panels_serialize( + controller_id=controller_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetControllerFrontPanels200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_controller_front_panels_without_preload_content( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_controller_front_panels + + Get the front panels chain. + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_controller_front_panels_serialize( + controller_id=controller_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetControllerFrontPanels200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_controller_front_panels_serialize( + self, + controller_id, + take, + skip, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if controller_id is not None: + _path_params['controllerId'] = controller_id + # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/controllers/{controllerId}/front-panels', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_controllers( + self, + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + include: Annotated[Optional[StrictStr], Field(description="Specifies if the sub-fields that are objects should be included.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetControllers200Response: + """get_controllers + + Get the controllers chain. + + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :param include: Specifies if the sub-fields that are objects should be included. + :type include: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_controllers_serialize( + take=take, + skip=skip, + include=include, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetControllers200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_controllers_with_http_info( + self, + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + include: Annotated[Optional[StrictStr], Field(description="Specifies if the sub-fields that are objects should be included.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetControllers200Response]: + """get_controllers + + Get the controllers chain. + + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :param include: Specifies if the sub-fields that are objects should be included. + :type include: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_controllers_serialize( + take=take, + skip=skip, + include=include, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetControllers200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_controllers_without_preload_content( + self, + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + include: Annotated[Optional[StrictStr], Field(description="Specifies if the sub-fields that are objects should be included.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_controllers + + Get the controllers chain. + + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :param include: Specifies if the sub-fields that are objects should be included. + :type include: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_controllers_serialize( + take=take, + skip=skip, + include=include, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetControllers200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_controllers_serialize( + self, + take, + skip, + include, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + + if include is not None: + + _query_params.append(('include', include)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/controllers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_front_panel_port_by_id( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + port_id: Annotated[StrictStr, Field(description="The ID of the port.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Port: + """get_front_panel_port_by_id + + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :param port_id: The ID of the port. (required) + :type port_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_front_panel_port_by_id_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Port", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_front_panel_port_by_id_with_http_info( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + port_id: Annotated[StrictStr, Field(description="The ID of the port.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Port]: + """get_front_panel_port_by_id + + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :param port_id: The ID of the port. (required) + :type port_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_front_panel_port_by_id_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Port", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_front_panel_port_by_id_without_preload_content( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + port_id: Annotated[StrictStr, Field(description="The ID of the port.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_front_panel_port_by_id + + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :param port_id: The ID of the port. (required) + :type port_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_front_panel_port_by_id_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Port", + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_front_panel_port_by_id_serialize( + self, + controller_id, + front_panel_id, + port_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if controller_id is not None: + _path_params['controllerId'] = controller_id + if front_panel_id is not None: + _path_params['frontPanelId'] = front_panel_id + if port_id is not None: + _path_params['portId'] = port_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/controllers/{controllerId}/front-panels/{frontPanelId}/ports/{portId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_front_panel_ports( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetComputeNodePorts200Response: + """get_front_panel_ports + + Get the ports of a front panel. + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_front_panel_ports_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetComputeNodePorts200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_front_panel_ports_with_http_info( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetComputeNodePorts200Response]: + """get_front_panel_ports + + Get the ports of a front panel. + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_front_panel_ports_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetComputeNodePorts200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_front_panel_ports_without_preload_content( + self, + controller_id: Annotated[StrictStr, Field(description="The ID of the controller.")], + front_panel_id: Annotated[StrictStr, Field(description="The ID of the front panel.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_front_panel_ports + + Get the ports of a front panel. + + :param controller_id: The ID of the controller. (required) + :type controller_id: str + :param front_panel_id: The ID of the front panel. (required) + :type front_panel_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_front_panel_ports_serialize( + controller_id=controller_id, + front_panel_id=front_panel_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetComputeNodePorts200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_front_panel_ports_serialize( + self, + controller_id, + front_panel_id, + take, + skip, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if controller_id is not None: + _path_params['controllerId'] = controller_id + if front_panel_id is not None: + _path_params['frontPanelId'] = front_panel_id + # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/controllers/{controllerId}/front-panels/{frontPanelId}/ports', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def patch_agent( + self, + agent_id: Annotated[StrictStr, Field(description="The ID of the agent.")], + agent: Optional[Agent] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """patch_agent + + Update a particular agent. Only non-null fields are updated. + + :param agent_id: The ID of the agent. (required) + :type agent_id: str + :param agent: + :type agent: Agent + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_agent_serialize( + agent_id=agent_id, + agent=agent, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def patch_agent_with_http_info( + self, + agent_id: Annotated[StrictStr, Field(description="The ID of the agent.")], + agent: Optional[Agent] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """patch_agent + + Update a particular agent. Only non-null fields are updated. + + :param agent_id: The ID of the agent. (required) + :type agent_id: str + :param agent: + :type agent: Agent + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_agent_serialize( + agent_id=agent_id, + agent=agent, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def patch_agent_without_preload_content( + self, + agent_id: Annotated[StrictStr, Field(description="The ID of the agent.")], + agent: Optional[Agent] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """patch_agent + + Update a particular agent. Only non-null fields are updated. + + :param agent_id: The ID of the agent. (required) + :type agent_id: str + :param agent: + :type agent: Agent + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._patch_agent_serialize( + agent_id=agent_id, + agent=agent, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '404': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _patch_agent_serialize( + self, + agent_id, + agent, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if agent_id is not None: + _path_params['agentId'] = agent_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if agent is not None: + _body_params = agent + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/api/v2/agents/{agentId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @validate_call + def start_agents_batch_delete( + self, + start_agents_batch_delete_request_inner: Optional[List[StartAgentsBatchDeleteRequestInner]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AsyncContext: + """start_agents_batch_delete + + Remove multiple agents. + + :param start_agents_batch_delete_request_inner: + :type start_agents_batch_delete_request_inner: List[StartAgentsBatchDeleteRequestInner] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_batch_delete_serialize( + start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def start_agents_batch_delete_with_http_info( + self, + start_agents_batch_delete_request_inner: Optional[List[StartAgentsBatchDeleteRequestInner]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AsyncContext]: + """start_agents_batch_delete + + Remove multiple agents. + + :param start_agents_batch_delete_request_inner: + :type start_agents_batch_delete_request_inner: List[StartAgentsBatchDeleteRequestInner] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_batch_delete_serialize( + start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def start_agents_batch_delete_without_preload_content( + self, + start_agents_batch_delete_request_inner: Optional[List[StartAgentsBatchDeleteRequestInner]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """start_agents_batch_delete + + Remove multiple agents. + + :param start_agents_batch_delete_request_inner: + :type start_agents_batch_delete_request_inner: List[StartAgentsBatchDeleteRequestInner] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_batch_delete_serialize( + start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _start_agents_batch_delete_serialize( + self, + start_agents_batch_delete_request_inner, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'StartAgentsBatchDeleteRequestInner': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if start_agents_batch_delete_request_inner is not None: + _body_params = start_agents_batch_delete_request_inner + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/agents/operations/batch-delete', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def start_agents_export_files( + self, + export_files_operation_input: Optional[ExportFilesOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AsyncContext: + """start_agents_export_files + + Sends export files requests to a list of agents. + + :param export_files_operation_input: + :type export_files_operation_input: ExportFilesOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_export_files_serialize( + export_files_operation_input=export_files_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def start_agents_export_files_with_http_info( + self, + export_files_operation_input: Optional[ExportFilesOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AsyncContext]: + """start_agents_export_files + + Sends export files requests to a list of agents. + + :param export_files_operation_input: + :type export_files_operation_input: ExportFilesOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_export_files_serialize( + export_files_operation_input=export_files_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def start_agents_export_files_without_preload_content( + self, + export_files_operation_input: Optional[ExportFilesOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """start_agents_export_files + + Sends export files requests to a list of agents. + + :param export_files_operation_input: + :type export_files_operation_input: ExportFilesOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_export_files_serialize( + export_files_operation_input=export_files_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _start_agents_export_files_serialize( + self, + export_files_operation_input, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if export_files_operation_input is not None: + _body_params = export_files_operation_input + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/agents/operations/exportFiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def start_agents_reboot( + self, + reboot_operation_input: Optional[RebootOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AsyncContext: + """start_agents_reboot + Reboot the agents specified in the request. + :param reboot_operation_input: + :type reboot_operation_input: RebootOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._start_agents_reboot_serialize( + reboot_operation_input=reboot_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + @validate_call + def start_agents_reboot_with_http_info( + self, + reboot_operation_input: Optional[RebootOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AsyncContext]: + """start_agents_reboot + + Reboot the agents specified in the request. + + :param reboot_operation_input: + :type reboot_operation_input: RebootOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_reboot_serialize( + reboot_operation_input=reboot_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + @validate_call + def start_agents_reboot_without_preload_content( + self, + reboot_operation_input: Optional[RebootOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """start_agents_reboot + + Reboot the agents specified in the request. + + :param reboot_operation_input: + :type reboot_operation_input: RebootOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_agents_reboot_serialize( + reboot_operation_input=reboot_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + def _start_agents_reboot_serialize( + self, + reboot_operation_input, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if reboot_operation_input is not None: + _body_params = reboot_operation_input + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/agents/operations/reboot', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + @validate_call + def start_agents_release( + self, + release_operation_input: Optional[ReleaseOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AsyncContext: + """start_agents_release + Releases all the agents from the given session. - + :param release_operation_input: + :type release_operation_input: ReleaseOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 - + _param = self._start_agents_release_serialize( + release_operation_input=release_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + @validate_call + def start_agents_release_with_http_info( + self, + release_operation_input: Optional[ReleaseOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AsyncContext]: + """start_agents_release + Releases all the agents from the given session. + :param release_operation_input: + :type release_operation_input: ReleaseOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._start_agents_release_serialize( + release_operation_input=release_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) - + @validate_call + def start_agents_release_without_preload_content( + self, + release_operation_input: Optional[ReleaseOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """start_agents_release - + Releases all the agents from the given session. + :param release_operation_input: + :type release_operation_input: ReleaseOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._start_agents_release_serialize( + release_operation_input=release_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + def _start_agents_release_serialize( + self, + release_operation_input, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: - + _host = None - + _collection_formats: Dict[str, str] = { + } - + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if release_operation_input is not None: + _body_params = release_operation_input + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type - + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] - + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/agents/operations/release', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) - + @validate_call + def start_agents_reserve( + self, + reserve_operation_input: Optional[ReserveOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AsyncContext: + """start_agents_reserve + Reserves all the agents from the given session. - + :param reserve_operation_input: + :type reserve_operation_input: ReserveOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 - + _param = self._start_agents_reserve_serialize( + reserve_operation_input=reserve_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + @validate_call + def start_agents_reserve_with_http_info( + self, + reserve_operation_input: Optional[ReserveOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AsyncContext]: + """start_agents_reserve + Reserves all the agents from the given session. + :param reserve_operation_input: + :type reserve_operation_input: ReserveOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._start_agents_reserve_serialize( + reserve_operation_input=reserve_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) - - - - + @validate_call + def start_agents_reserve_without_preload_content( + self, + reserve_operation_input: Optional[ReserveOperationInput] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """start_agents_reserve + Reserves all the agents from the given session. + :param reserve_operation_input: + :type reserve_operation_input: ReserveOperationInput + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + _param = self._start_agents_reserve_serialize( + reserve_operation_input=reserve_operation_input, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) - + def _start_agents_reserve_serialize( + self, + reserve_operation_input, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: - + _host = None + _collection_formats: Dict[str, str] = { + } + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if reserve_operation_input is not None: + _body_params = reserve_operation_input - + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) - + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type - + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/agents/operations/reserve', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) @validate_call - def start_agents_batch_delete( + def start_agents_set_dpdk_mode( self, - start_agents_batch_delete_request_inner: Optional[List[StartAgentsBatchDeleteRequestInner]] = None, + set_dpdk_mode_operation_input: Optional[SetDpdkModeOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3363,12 +6493,12 @@ def start_agents_batch_delete( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_batch_delete + """start_agents_set_dpdk_mode - Remove multiple agents. + Enable/disable DPDK for a list of agents. - :param start_agents_batch_delete_request_inner: - :type start_agents_batch_delete_request_inner: List[StartAgentsBatchDeleteRequestInner] + :param set_dpdk_mode_operation_input: + :type set_dpdk_mode_operation_input: SetDpdkModeOperationInput :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 @@ -3391,8 +6521,8 @@ def start_agents_batch_delete( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_batch_delete_serialize( - start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner, + _param = self._start_agents_set_dpdk_mode_serialize( + set_dpdk_mode_operation_input=set_dpdk_mode_operation_input, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3410,9 +6540,9 @@ def start_agents_batch_delete( @validate_call - def start_agents_batch_delete_with_http_info( + def start_agents_set_dpdk_mode_with_http_info( self, - start_agents_batch_delete_request_inner: Optional[List[StartAgentsBatchDeleteRequestInner]] = None, + set_dpdk_mode_operation_input: Optional[SetDpdkModeOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3426,12 +6556,12 @@ def start_agents_batch_delete_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_batch_delete + """start_agents_set_dpdk_mode - Remove multiple agents. + Enable/disable DPDK for a list of agents. - :param start_agents_batch_delete_request_inner: - :type start_agents_batch_delete_request_inner: List[StartAgentsBatchDeleteRequestInner] + :param set_dpdk_mode_operation_input: + :type set_dpdk_mode_operation_input: SetDpdkModeOperationInput :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 @@ -3454,8 +6584,8 @@ def start_agents_batch_delete_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_batch_delete_serialize( - start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner, + _param = self._start_agents_set_dpdk_mode_serialize( + set_dpdk_mode_operation_input=set_dpdk_mode_operation_input, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3473,9 +6603,9 @@ def start_agents_batch_delete_with_http_info( @validate_call - def start_agents_batch_delete_without_preload_content( + def start_agents_set_dpdk_mode_without_preload_content( self, - start_agents_batch_delete_request_inner: Optional[List[StartAgentsBatchDeleteRequestInner]] = None, + set_dpdk_mode_operation_input: Optional[SetDpdkModeOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3489,12 +6619,12 @@ def start_agents_batch_delete_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_batch_delete + """start_agents_set_dpdk_mode - Remove multiple agents. + Enable/disable DPDK for a list of agents. - :param start_agents_batch_delete_request_inner: - :type start_agents_batch_delete_request_inner: List[StartAgentsBatchDeleteRequestInner] + :param set_dpdk_mode_operation_input: + :type set_dpdk_mode_operation_input: SetDpdkModeOperationInput :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 @@ -3517,8 +6647,8 @@ def start_agents_batch_delete_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_batch_delete_serialize( - start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner, + _param = self._start_agents_set_dpdk_mode_serialize( + set_dpdk_mode_operation_input=set_dpdk_mode_operation_input, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3535,9 +6665,9 @@ def start_agents_batch_delete_without_preload_content( ) - def _start_agents_batch_delete_serialize( + def _start_agents_set_dpdk_mode_serialize( self, - start_agents_batch_delete_request_inner, + set_dpdk_mode_operation_input, _request_auth, _content_type, _headers, @@ -3547,7 +6677,6 @@ def _start_agents_batch_delete_serialize( _host = None _collection_formats: Dict[str, str] = { - 'StartAgentsBatchDeleteRequestInner': '', } _path_params: Dict[str, str] = {} @@ -3562,8 +6691,8 @@ def _start_agents_batch_delete_serialize( # process the header parameters # process the form parameters # process the body parameter - if start_agents_batch_delete_request_inner is not None: - _body_params = start_agents_batch_delete_request_inner + if set_dpdk_mode_operation_input is not None: + _body_params = set_dpdk_mode_operation_input # set the HTTP header `Accept` @@ -3596,7 +6725,7 @@ def _start_agents_batch_delete_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/batch-delete', + resource_path='/api/v2/agents/operations/set-dpdk-mode', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3613,9 +6742,9 @@ def _start_agents_batch_delete_serialize( @validate_call - def start_agents_export_files( + def start_agents_set_ntp( self, - export_files_operation_input: Optional[ExportFilesOperationInput] = None, + set_ntp_operation_input: Optional[SetNtpOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3629,12 +6758,12 @@ def start_agents_export_files( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_export_files + """start_agents_set_ntp - Sends export files requests to a list of agents. + Set the NTP servers for a list of agents. - :param export_files_operation_input: - :type export_files_operation_input: ExportFilesOperationInput + :param set_ntp_operation_input: + :type set_ntp_operation_input: SetNtpOperationInput :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 @@ -3657,8 +6786,8 @@ def start_agents_export_files( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_export_files_serialize( - export_files_operation_input=export_files_operation_input, + _param = self._start_agents_set_ntp_serialize( + set_ntp_operation_input=set_ntp_operation_input, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3676,9 +6805,9 @@ def start_agents_export_files( @validate_call - def start_agents_export_files_with_http_info( + def start_agents_set_ntp_with_http_info( self, - export_files_operation_input: Optional[ExportFilesOperationInput] = None, + set_ntp_operation_input: Optional[SetNtpOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3692,12 +6821,12 @@ def start_agents_export_files_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_export_files + """start_agents_set_ntp - Sends export files requests to a list of agents. + Set the NTP servers for a list of agents. - :param export_files_operation_input: - :type export_files_operation_input: ExportFilesOperationInput + :param set_ntp_operation_input: + :type set_ntp_operation_input: SetNtpOperationInput :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 @@ -3720,8 +6849,8 @@ def start_agents_export_files_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_export_files_serialize( - export_files_operation_input=export_files_operation_input, + _param = self._start_agents_set_ntp_serialize( + set_ntp_operation_input=set_ntp_operation_input, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3739,9 +6868,9 @@ def start_agents_export_files_with_http_info( @validate_call - def start_agents_export_files_without_preload_content( + def start_agents_set_ntp_without_preload_content( self, - export_files_operation_input: Optional[ExportFilesOperationInput] = None, + set_ntp_operation_input: Optional[SetNtpOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3755,12 +6884,12 @@ def start_agents_export_files_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_export_files + """start_agents_set_ntp - Sends export files requests to a list of agents. + Set the NTP servers for a list of agents. - :param export_files_operation_input: - :type export_files_operation_input: ExportFilesOperationInput + :param set_ntp_operation_input: + :type set_ntp_operation_input: SetNtpOperationInput :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 @@ -3783,8 +6912,8 @@ def start_agents_export_files_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_export_files_serialize( - export_files_operation_input=export_files_operation_input, + _param = self._start_agents_set_ntp_serialize( + set_ntp_operation_input=set_ntp_operation_input, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3801,9 +6930,9 @@ def start_agents_export_files_without_preload_content( ) - def _start_agents_export_files_serialize( + def _start_agents_set_ntp_serialize( self, - export_files_operation_input, + set_ntp_operation_input, _request_auth, _content_type, _headers, @@ -3827,8 +6956,8 @@ def _start_agents_export_files_serialize( # process the header parameters # process the form parameters # process the body parameter - if export_files_operation_input is not None: - _body_params = export_files_operation_input + if set_ntp_operation_input is not None: + _body_params = set_ntp_operation_input # set the HTTP header `Accept` @@ -3861,7 +6990,7 @@ def _start_agents_export_files_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/exportFiles', + resource_path='/api/v2/agents/operations/set-ntp', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3878,9 +7007,8 @@ def _start_agents_export_files_serialize( @validate_call - def start_agents_reboot( + def start_agents_update( self, - reboot_operation_input: Optional[RebootOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3894,12 +7022,10 @@ def start_agents_reboot( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_reboot + """start_agents_update - Reboot the agents specified in the request. + Update agents to the recommended version. - :param reboot_operation_input: - :type reboot_operation_input: RebootOperationInput :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 @@ -3922,8 +7048,7 @@ def start_agents_reboot( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_reboot_serialize( - reboot_operation_input=reboot_operation_input, + _param = self._start_agents_update_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3941,9 +7066,8 @@ def start_agents_reboot( @validate_call - def start_agents_reboot_with_http_info( + def start_agents_update_with_http_info( self, - reboot_operation_input: Optional[RebootOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3957,12 +7081,10 @@ def start_agents_reboot_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_reboot + """start_agents_update - Reboot the agents specified in the request. + Update agents to the recommended version. - :param reboot_operation_input: - :type reboot_operation_input: RebootOperationInput :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 @@ -3985,8 +7107,7 @@ def start_agents_reboot_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_reboot_serialize( - reboot_operation_input=reboot_operation_input, + _param = self._start_agents_update_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4004,9 +7125,8 @@ def start_agents_reboot_with_http_info( @validate_call - def start_agents_reboot_without_preload_content( + def start_agents_update_without_preload_content( self, - reboot_operation_input: Optional[RebootOperationInput] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4020,12 +7140,10 @@ def start_agents_reboot_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_reboot + """start_agents_update - Reboot the agents specified in the request. + Update agents to the recommended version. - :param reboot_operation_input: - :type reboot_operation_input: RebootOperationInput :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 @@ -4048,8 +7166,7 @@ def start_agents_reboot_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_reboot_serialize( - reboot_operation_input=reboot_operation_input, + _param = self._start_agents_update_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4066,9 +7183,8 @@ def start_agents_reboot_without_preload_content( ) - def _start_agents_reboot_serialize( + def _start_agents_update_serialize( self, - reboot_operation_input, _request_auth, _content_type, _headers, @@ -4092,8 +7208,6 @@ def _start_agents_reboot_serialize( # process the header parameters # process the form parameters # process the body parameter - if reboot_operation_input is not None: - _body_params = reboot_operation_input # set the HTTP header `Accept` @@ -4104,19 +7218,6 @@ def _start_agents_reboot_serialize( ] ) - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -4126,7 +7227,7 @@ def _start_agents_reboot_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/reboot', + resource_path='/api/v2/agents/operations/update', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4143,9 +7244,9 @@ def _start_agents_reboot_serialize( @validate_call - def start_agents_release( + def start_controllers_clear_compute_resource_ownership( self, - release_operation_input: Optional[ReleaseOperationInput] = None, + clear_compute_resources_ownership_operation: Optional[ClearComputeResourcesOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4159,12 +7260,12 @@ def start_agents_release( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_release + """start_controllers_clear_compute_resource_ownership - Releases all the agents from the given session. + Clear the ownership of the compute resources. - :param release_operation_input: - :type release_operation_input: ReleaseOperationInput + :param clear_compute_resources_ownership_operation: + :type clear_compute_resources_ownership_operation: ClearComputeResourcesOwnershipOperation :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 @@ -4187,8 +7288,8 @@ def start_agents_release( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_release_serialize( - release_operation_input=release_operation_input, + _param = self._start_controllers_clear_compute_resource_ownership_serialize( + clear_compute_resources_ownership_operation=clear_compute_resources_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4206,9 +7307,9 @@ def start_agents_release( @validate_call - def start_agents_release_with_http_info( + def start_controllers_clear_compute_resource_ownership_with_http_info( self, - release_operation_input: Optional[ReleaseOperationInput] = None, + clear_compute_resources_ownership_operation: Optional[ClearComputeResourcesOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4222,12 +7323,12 @@ def start_agents_release_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_release + """start_controllers_clear_compute_resource_ownership - Releases all the agents from the given session. + Clear the ownership of the compute resources. - :param release_operation_input: - :type release_operation_input: ReleaseOperationInput + :param clear_compute_resources_ownership_operation: + :type clear_compute_resources_ownership_operation: ClearComputeResourcesOwnershipOperation :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 @@ -4250,8 +7351,8 @@ def start_agents_release_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_release_serialize( - release_operation_input=release_operation_input, + _param = self._start_controllers_clear_compute_resource_ownership_serialize( + clear_compute_resources_ownership_operation=clear_compute_resources_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4269,9 +7370,9 @@ def start_agents_release_with_http_info( @validate_call - def start_agents_release_without_preload_content( + def start_controllers_clear_compute_resource_ownership_without_preload_content( self, - release_operation_input: Optional[ReleaseOperationInput] = None, + clear_compute_resources_ownership_operation: Optional[ClearComputeResourcesOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4285,12 +7386,12 @@ def start_agents_release_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_release + """start_controllers_clear_compute_resource_ownership - Releases all the agents from the given session. + Clear the ownership of the compute resources. - :param release_operation_input: - :type release_operation_input: ReleaseOperationInput + :param clear_compute_resources_ownership_operation: + :type clear_compute_resources_ownership_operation: ClearComputeResourcesOwnershipOperation :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 @@ -4313,8 +7414,8 @@ def start_agents_release_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_release_serialize( - release_operation_input=release_operation_input, + _param = self._start_controllers_clear_compute_resource_ownership_serialize( + clear_compute_resources_ownership_operation=clear_compute_resources_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4331,9 +7432,9 @@ def start_agents_release_without_preload_content( ) - def _start_agents_release_serialize( + def _start_controllers_clear_compute_resource_ownership_serialize( self, - release_operation_input, + clear_compute_resources_ownership_operation, _request_auth, _content_type, _headers, @@ -4357,8 +7458,8 @@ def _start_agents_release_serialize( # process the header parameters # process the form parameters # process the body parameter - if release_operation_input is not None: - _body_params = release_operation_input + if clear_compute_resources_ownership_operation is not None: + _body_params = clear_compute_resources_ownership_operation # set the HTTP header `Accept` @@ -4391,7 +7492,7 @@ def _start_agents_release_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/release', + resource_path='/api/v2/controllers/operations/clear-compute-resource-ownership', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4408,9 +7509,9 @@ def _start_agents_release_serialize( @validate_call - def start_agents_reserve( + def start_controllers_clear_front_panel_port_ownership( self, - reserve_operation_input: Optional[ReserveOperationInput] = None, + clear_front_panel_ports_ownership_operation: Optional[ClearFrontPanelPortsOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4424,12 +7525,12 @@ def start_agents_reserve( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_reserve + """start_controllers_clear_front_panel_port_ownership - Reserves all the agents from the given session. + Clear the ownership of the front panel ports. - :param reserve_operation_input: - :type reserve_operation_input: ReserveOperationInput + :param clear_front_panel_ports_ownership_operation: + :type clear_front_panel_ports_ownership_operation: ClearFrontPanelPortsOwnershipOperation :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 @@ -4452,8 +7553,8 @@ def start_agents_reserve( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_reserve_serialize( - reserve_operation_input=reserve_operation_input, + _param = self._start_controllers_clear_front_panel_port_ownership_serialize( + clear_front_panel_ports_ownership_operation=clear_front_panel_ports_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4471,9 +7572,9 @@ def start_agents_reserve( @validate_call - def start_agents_reserve_with_http_info( + def start_controllers_clear_front_panel_port_ownership_with_http_info( self, - reserve_operation_input: Optional[ReserveOperationInput] = None, + clear_front_panel_ports_ownership_operation: Optional[ClearFrontPanelPortsOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4487,12 +7588,12 @@ def start_agents_reserve_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_reserve + """start_controllers_clear_front_panel_port_ownership - Reserves all the agents from the given session. + Clear the ownership of the front panel ports. - :param reserve_operation_input: - :type reserve_operation_input: ReserveOperationInput + :param clear_front_panel_ports_ownership_operation: + :type clear_front_panel_ports_ownership_operation: ClearFrontPanelPortsOwnershipOperation :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 @@ -4515,8 +7616,8 @@ def start_agents_reserve_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_reserve_serialize( - reserve_operation_input=reserve_operation_input, + _param = self._start_controllers_clear_front_panel_port_ownership_serialize( + clear_front_panel_ports_ownership_operation=clear_front_panel_ports_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4534,9 +7635,9 @@ def start_agents_reserve_with_http_info( @validate_call - def start_agents_reserve_without_preload_content( + def start_controllers_clear_front_panel_port_ownership_without_preload_content( self, - reserve_operation_input: Optional[ReserveOperationInput] = None, + clear_front_panel_ports_ownership_operation: Optional[ClearFrontPanelPortsOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4550,12 +7651,12 @@ def start_agents_reserve_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_reserve + """start_controllers_clear_front_panel_port_ownership - Reserves all the agents from the given session. + Clear the ownership of the front panel ports. - :param reserve_operation_input: - :type reserve_operation_input: ReserveOperationInput + :param clear_front_panel_ports_ownership_operation: + :type clear_front_panel_ports_ownership_operation: ClearFrontPanelPortsOwnershipOperation :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 @@ -4578,8 +7679,8 @@ def start_agents_reserve_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_reserve_serialize( - reserve_operation_input=reserve_operation_input, + _param = self._start_controllers_clear_front_panel_port_ownership_serialize( + clear_front_panel_ports_ownership_operation=clear_front_panel_ports_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4596,9 +7697,9 @@ def start_agents_reserve_without_preload_content( ) - def _start_agents_reserve_serialize( + def _start_controllers_clear_front_panel_port_ownership_serialize( self, - reserve_operation_input, + clear_front_panel_ports_ownership_operation, _request_auth, _content_type, _headers, @@ -4622,8 +7723,8 @@ def _start_agents_reserve_serialize( # process the header parameters # process the form parameters # process the body parameter - if reserve_operation_input is not None: - _body_params = reserve_operation_input + if clear_front_panel_ports_ownership_operation is not None: + _body_params = clear_front_panel_ports_ownership_operation # set the HTTP header `Accept` @@ -4656,7 +7757,7 @@ def _start_agents_reserve_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/reserve', + resource_path='/api/v2/controllers/operations/clear-front-panel-port-ownership', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4673,9 +7774,9 @@ def _start_agents_reserve_serialize( @validate_call - def start_agents_set_dpdk_mode( + def start_controllers_clear_port_ownership( self, - set_dpdk_mode_operation_input: Optional[SetDpdkModeOperationInput] = None, + clear_ports_ownership_operation: Optional[ClearPortsOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4689,12 +7790,12 @@ def start_agents_set_dpdk_mode( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_set_dpdk_mode + """start_controllers_clear_port_ownership - Enable/disable DPDK for a list of agents. + Clear the ownership of the ports. - :param set_dpdk_mode_operation_input: - :type set_dpdk_mode_operation_input: SetDpdkModeOperationInput + :param clear_ports_ownership_operation: + :type clear_ports_ownership_operation: ClearPortsOwnershipOperation :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 @@ -4717,8 +7818,8 @@ def start_agents_set_dpdk_mode( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_set_dpdk_mode_serialize( - set_dpdk_mode_operation_input=set_dpdk_mode_operation_input, + _param = self._start_controllers_clear_port_ownership_serialize( + clear_ports_ownership_operation=clear_ports_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4736,9 +7837,9 @@ def start_agents_set_dpdk_mode( @validate_call - def start_agents_set_dpdk_mode_with_http_info( + def start_controllers_clear_port_ownership_with_http_info( self, - set_dpdk_mode_operation_input: Optional[SetDpdkModeOperationInput] = None, + clear_ports_ownership_operation: Optional[ClearPortsOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4752,12 +7853,12 @@ def start_agents_set_dpdk_mode_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_set_dpdk_mode + """start_controllers_clear_port_ownership - Enable/disable DPDK for a list of agents. + Clear the ownership of the ports. - :param set_dpdk_mode_operation_input: - :type set_dpdk_mode_operation_input: SetDpdkModeOperationInput + :param clear_ports_ownership_operation: + :type clear_ports_ownership_operation: ClearPortsOwnershipOperation :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 @@ -4780,8 +7881,8 @@ def start_agents_set_dpdk_mode_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_set_dpdk_mode_serialize( - set_dpdk_mode_operation_input=set_dpdk_mode_operation_input, + _param = self._start_controllers_clear_port_ownership_serialize( + clear_ports_ownership_operation=clear_ports_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4799,9 +7900,9 @@ def start_agents_set_dpdk_mode_with_http_info( @validate_call - def start_agents_set_dpdk_mode_without_preload_content( + def start_controllers_clear_port_ownership_without_preload_content( self, - set_dpdk_mode_operation_input: Optional[SetDpdkModeOperationInput] = None, + clear_ports_ownership_operation: Optional[ClearPortsOwnershipOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4815,12 +7916,12 @@ def start_agents_set_dpdk_mode_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_set_dpdk_mode + """start_controllers_clear_port_ownership - Enable/disable DPDK for a list of agents. + Clear the ownership of the ports. - :param set_dpdk_mode_operation_input: - :type set_dpdk_mode_operation_input: SetDpdkModeOperationInput + :param clear_ports_ownership_operation: + :type clear_ports_ownership_operation: ClearPortsOwnershipOperation :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 @@ -4843,8 +7944,8 @@ def start_agents_set_dpdk_mode_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_set_dpdk_mode_serialize( - set_dpdk_mode_operation_input=set_dpdk_mode_operation_input, + _param = self._start_controllers_clear_port_ownership_serialize( + clear_ports_ownership_operation=clear_ports_ownership_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4861,9 +7962,9 @@ def start_agents_set_dpdk_mode_without_preload_content( ) - def _start_agents_set_dpdk_mode_serialize( + def _start_controllers_clear_port_ownership_serialize( self, - set_dpdk_mode_operation_input, + clear_ports_ownership_operation, _request_auth, _content_type, _headers, @@ -4887,8 +7988,8 @@ def _start_agents_set_dpdk_mode_serialize( # process the header parameters # process the form parameters # process the body parameter - if set_dpdk_mode_operation_input is not None: - _body_params = set_dpdk_mode_operation_input + if clear_ports_ownership_operation is not None: + _body_params = clear_ports_ownership_operation # set the HTTP header `Accept` @@ -4921,7 +8022,7 @@ def _start_agents_set_dpdk_mode_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/set-dpdk-mode', + resource_path='/api/v2/controllers/operations/clear-port-ownership', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4938,9 +8039,9 @@ def _start_agents_set_dpdk_mode_serialize( @validate_call - def start_agents_set_ntp( + def start_controllers_power_cycle_nodes( self, - set_ntp_operation_input: Optional[SetNtpOperationInput] = None, + nodes_power_cycle_operation: Optional[NodesPowerCycleOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4954,12 +8055,12 @@ def start_agents_set_ntp( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_set_ntp + """start_controllers_power_cycle_nodes - Set the NTP servers for a list of agents. + Power cycle the compute nodes. - :param set_ntp_operation_input: - :type set_ntp_operation_input: SetNtpOperationInput + :param nodes_power_cycle_operation: + :type nodes_power_cycle_operation: NodesPowerCycleOperation :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 @@ -4982,8 +8083,8 @@ def start_agents_set_ntp( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_set_ntp_serialize( - set_ntp_operation_input=set_ntp_operation_input, + _param = self._start_controllers_power_cycle_nodes_serialize( + nodes_power_cycle_operation=nodes_power_cycle_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5001,9 +8102,9 @@ def start_agents_set_ntp( @validate_call - def start_agents_set_ntp_with_http_info( + def start_controllers_power_cycle_nodes_with_http_info( self, - set_ntp_operation_input: Optional[SetNtpOperationInput] = None, + nodes_power_cycle_operation: Optional[NodesPowerCycleOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5017,12 +8118,12 @@ def start_agents_set_ntp_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_set_ntp + """start_controllers_power_cycle_nodes - Set the NTP servers for a list of agents. + Power cycle the compute nodes. - :param set_ntp_operation_input: - :type set_ntp_operation_input: SetNtpOperationInput + :param nodes_power_cycle_operation: + :type nodes_power_cycle_operation: NodesPowerCycleOperation :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 @@ -5045,8 +8146,8 @@ def start_agents_set_ntp_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_set_ntp_serialize( - set_ntp_operation_input=set_ntp_operation_input, + _param = self._start_controllers_power_cycle_nodes_serialize( + nodes_power_cycle_operation=nodes_power_cycle_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5064,9 +8165,9 @@ def start_agents_set_ntp_with_http_info( @validate_call - def start_agents_set_ntp_without_preload_content( + def start_controllers_power_cycle_nodes_without_preload_content( self, - set_ntp_operation_input: Optional[SetNtpOperationInput] = None, + nodes_power_cycle_operation: Optional[NodesPowerCycleOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5080,12 +8181,12 @@ def start_agents_set_ntp_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_set_ntp + """start_controllers_power_cycle_nodes - Set the NTP servers for a list of agents. + Power cycle the compute nodes. - :param set_ntp_operation_input: - :type set_ntp_operation_input: SetNtpOperationInput + :param nodes_power_cycle_operation: + :type nodes_power_cycle_operation: NodesPowerCycleOperation :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 @@ -5108,8 +8209,8 @@ def start_agents_set_ntp_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_set_ntp_serialize( - set_ntp_operation_input=set_ntp_operation_input, + _param = self._start_controllers_power_cycle_nodes_serialize( + nodes_power_cycle_operation=nodes_power_cycle_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5126,9 +8227,9 @@ def start_agents_set_ntp_without_preload_content( ) - def _start_agents_set_ntp_serialize( + def _start_controllers_power_cycle_nodes_serialize( self, - set_ntp_operation_input, + nodes_power_cycle_operation, _request_auth, _content_type, _headers, @@ -5152,8 +8253,8 @@ def _start_agents_set_ntp_serialize( # process the header parameters # process the form parameters # process the body parameter - if set_ntp_operation_input is not None: - _body_params = set_ntp_operation_input + if nodes_power_cycle_operation is not None: + _body_params = nodes_power_cycle_operation # set the HTTP header `Accept` @@ -5186,7 +8287,7 @@ def _start_agents_set_ntp_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/set-ntp', + resource_path='/api/v2/controllers/operations/power-cycle-nodes', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5203,8 +8304,9 @@ def _start_agents_set_ntp_serialize( @validate_call - def start_agents_update( + def start_controllers_reboot_compute_resource( self, + reboot_compute_resources_operation: Optional[RebootComputeResourcesOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5218,10 +8320,12 @@ def start_agents_update( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_agents_update + """start_controllers_reboot_compute_resource - Update agents to the recommended version. + Reboot compute resources. + :param reboot_compute_resources_operation: + :type reboot_compute_resources_operation: RebootComputeResourcesOperation :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 @@ -5244,7 +8348,8 @@ def start_agents_update( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_update_serialize( + _param = self._start_controllers_reboot_compute_resource_serialize( + reboot_compute_resources_operation=reboot_compute_resources_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5262,8 +8367,9 @@ def start_agents_update( @validate_call - def start_agents_update_with_http_info( + def start_controllers_reboot_compute_resource_with_http_info( self, + reboot_compute_resources_operation: Optional[RebootComputeResourcesOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5277,10 +8383,12 @@ def start_agents_update_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_agents_update + """start_controllers_reboot_compute_resource - Update agents to the recommended version. + Reboot compute resources. + :param reboot_compute_resources_operation: + :type reboot_compute_resources_operation: RebootComputeResourcesOperation :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 @@ -5303,7 +8411,8 @@ def start_agents_update_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_update_serialize( + _param = self._start_controllers_reboot_compute_resource_serialize( + reboot_compute_resources_operation=reboot_compute_resources_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5321,8 +8430,9 @@ def start_agents_update_with_http_info( @validate_call - def start_agents_update_without_preload_content( + def start_controllers_reboot_compute_resource_without_preload_content( self, + reboot_compute_resources_operation: Optional[RebootComputeResourcesOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5336,10 +8446,12 @@ def start_agents_update_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_agents_update + """start_controllers_reboot_compute_resource - Update agents to the recommended version. + Reboot compute resources. + :param reboot_compute_resources_operation: + :type reboot_compute_resources_operation: RebootComputeResourcesOperation :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 @@ -5362,7 +8474,8 @@ def start_agents_update_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_agents_update_serialize( + _param = self._start_controllers_reboot_compute_resource_serialize( + reboot_compute_resources_operation=reboot_compute_resources_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5379,8 +8492,9 @@ def start_agents_update_without_preload_content( ) - def _start_agents_update_serialize( + def _start_controllers_reboot_compute_resource_serialize( self, + reboot_compute_resources_operation, _request_auth, _content_type, _headers, @@ -5404,6 +8518,8 @@ def _start_agents_update_serialize( # process the header parameters # process the form parameters # process the body parameter + if reboot_compute_resources_operation is not None: + _body_params = reboot_compute_resources_operation # set the HTTP header `Accept` @@ -5414,6 +8530,19 @@ def _start_agents_update_serialize( ] ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -5423,7 +8552,7 @@ def _start_agents_update_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/agents/operations/update', + resource_path='/api/v2/controllers/operations/reboot-compute-resource', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5440,9 +8569,9 @@ def _start_agents_update_serialize( @validate_call - def start_controllers_clear_port_ownership( + def start_controllers_reboot_port( self, - clear_ports_ownership_operation: Optional[ClearPortsOwnershipOperation] = None, + reboot_ports_operation: Optional[RebootPortsOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5456,12 +8585,12 @@ def start_controllers_clear_port_ownership( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_controllers_clear_port_ownership + """start_controllers_reboot_port - Clear the ownership of the ports. + Reboot ports. - :param clear_ports_ownership_operation: - :type clear_ports_ownership_operation: ClearPortsOwnershipOperation + :param reboot_ports_operation: + :type reboot_ports_operation: RebootPortsOperation :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 @@ -5484,8 +8613,8 @@ def start_controllers_clear_port_ownership( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_clear_port_ownership_serialize( - clear_ports_ownership_operation=clear_ports_ownership_operation, + _param = self._start_controllers_reboot_port_serialize( + reboot_ports_operation=reboot_ports_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5503,9 +8632,9 @@ def start_controllers_clear_port_ownership( @validate_call - def start_controllers_clear_port_ownership_with_http_info( + def start_controllers_reboot_port_with_http_info( self, - clear_ports_ownership_operation: Optional[ClearPortsOwnershipOperation] = None, + reboot_ports_operation: Optional[RebootPortsOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5519,12 +8648,12 @@ def start_controllers_clear_port_ownership_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_controllers_clear_port_ownership + """start_controllers_reboot_port - Clear the ownership of the ports. + Reboot ports. - :param clear_ports_ownership_operation: - :type clear_ports_ownership_operation: ClearPortsOwnershipOperation + :param reboot_ports_operation: + :type reboot_ports_operation: RebootPortsOperation :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 @@ -5547,8 +8676,8 @@ def start_controllers_clear_port_ownership_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_clear_port_ownership_serialize( - clear_ports_ownership_operation=clear_ports_ownership_operation, + _param = self._start_controllers_reboot_port_serialize( + reboot_ports_operation=reboot_ports_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5566,9 +8695,9 @@ def start_controllers_clear_port_ownership_with_http_info( @validate_call - def start_controllers_clear_port_ownership_without_preload_content( + def start_controllers_reboot_port_without_preload_content( self, - clear_ports_ownership_operation: Optional[ClearPortsOwnershipOperation] = None, + reboot_ports_operation: Optional[RebootPortsOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5582,12 +8711,12 @@ def start_controllers_clear_port_ownership_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_controllers_clear_port_ownership + """start_controllers_reboot_port - Clear the ownership of the ports. + Reboot ports. - :param clear_ports_ownership_operation: - :type clear_ports_ownership_operation: ClearPortsOwnershipOperation + :param reboot_ports_operation: + :type reboot_ports_operation: RebootPortsOperation :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 @@ -5610,8 +8739,8 @@ def start_controllers_clear_port_ownership_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_clear_port_ownership_serialize( - clear_ports_ownership_operation=clear_ports_ownership_operation, + _param = self._start_controllers_reboot_port_serialize( + reboot_ports_operation=reboot_ports_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5628,9 +8757,9 @@ def start_controllers_clear_port_ownership_without_preload_content( ) - def _start_controllers_clear_port_ownership_serialize( + def _start_controllers_reboot_port_serialize( self, - clear_ports_ownership_operation, + reboot_ports_operation, _request_auth, _content_type, _headers, @@ -5654,8 +8783,8 @@ def _start_controllers_clear_port_ownership_serialize( # process the header parameters # process the form parameters # process the body parameter - if clear_ports_ownership_operation is not None: - _body_params = clear_ports_ownership_operation + if reboot_ports_operation is not None: + _body_params = reboot_ports_operation # set the HTTP header `Accept` @@ -5688,7 +8817,7 @@ def _start_controllers_clear_port_ownership_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/controllers/operations/clear-port-ownership', + resource_path='/api/v2/controllers/operations/reboot-port', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5705,9 +8834,9 @@ def _start_controllers_clear_port_ownership_serialize( @validate_call - def start_controllers_power_cycle_nodes( + def start_controllers_set_app( self, - nodes_power_cycle_operation: Optional[NodesPowerCycleOperation] = None, + set_controller_app_operation: Optional[SetControllerAppOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5721,12 +8850,12 @@ def start_controllers_power_cycle_nodes( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_controllers_power_cycle_nodes + """start_controllers_set_app - Power cycle the compute nodes. + Set the active app of the controllers. - :param nodes_power_cycle_operation: - :type nodes_power_cycle_operation: NodesPowerCycleOperation + :param set_controller_app_operation: + :type set_controller_app_operation: SetControllerAppOperation :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 @@ -5749,8 +8878,8 @@ def start_controllers_power_cycle_nodes( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_power_cycle_nodes_serialize( - nodes_power_cycle_operation=nodes_power_cycle_operation, + _param = self._start_controllers_set_app_serialize( + set_controller_app_operation=set_controller_app_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5768,9 +8897,9 @@ def start_controllers_power_cycle_nodes( @validate_call - def start_controllers_power_cycle_nodes_with_http_info( + def start_controllers_set_app_with_http_info( self, - nodes_power_cycle_operation: Optional[NodesPowerCycleOperation] = None, + set_controller_app_operation: Optional[SetControllerAppOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5784,12 +8913,12 @@ def start_controllers_power_cycle_nodes_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_controllers_power_cycle_nodes + """start_controllers_set_app - Power cycle the compute nodes. + Set the active app of the controllers. - :param nodes_power_cycle_operation: - :type nodes_power_cycle_operation: NodesPowerCycleOperation + :param set_controller_app_operation: + :type set_controller_app_operation: SetControllerAppOperation :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 @@ -5812,8 +8941,8 @@ def start_controllers_power_cycle_nodes_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_power_cycle_nodes_serialize( - nodes_power_cycle_operation=nodes_power_cycle_operation, + _param = self._start_controllers_set_app_serialize( + set_controller_app_operation=set_controller_app_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5831,9 +8960,9 @@ def start_controllers_power_cycle_nodes_with_http_info( @validate_call - def start_controllers_power_cycle_nodes_without_preload_content( + def start_controllers_set_app_without_preload_content( self, - nodes_power_cycle_operation: Optional[NodesPowerCycleOperation] = None, + set_controller_app_operation: Optional[SetControllerAppOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5847,12 +8976,12 @@ def start_controllers_power_cycle_nodes_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_controllers_power_cycle_nodes + """start_controllers_set_app - Power cycle the compute nodes. + Set the active app of the controllers. - :param nodes_power_cycle_operation: - :type nodes_power_cycle_operation: NodesPowerCycleOperation + :param set_controller_app_operation: + :type set_controller_app_operation: SetControllerAppOperation :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 @@ -5875,8 +9004,8 @@ def start_controllers_power_cycle_nodes_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_power_cycle_nodes_serialize( - nodes_power_cycle_operation=nodes_power_cycle_operation, + _param = self._start_controllers_set_app_serialize( + set_controller_app_operation=set_controller_app_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5893,9 +9022,9 @@ def start_controllers_power_cycle_nodes_without_preload_content( ) - def _start_controllers_power_cycle_nodes_serialize( + def _start_controllers_set_app_serialize( self, - nodes_power_cycle_operation, + set_controller_app_operation, _request_auth, _content_type, _headers, @@ -5919,8 +9048,8 @@ def _start_controllers_power_cycle_nodes_serialize( # process the header parameters # process the form parameters # process the body parameter - if nodes_power_cycle_operation is not None: - _body_params = nodes_power_cycle_operation + if set_controller_app_operation is not None: + _body_params = set_controller_app_operation # set the HTTP header `Accept` @@ -5953,7 +9082,7 @@ def _start_controllers_power_cycle_nodes_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/controllers/operations/power-cycle-nodes', + resource_path='/api/v2/controllers/operations/set-app', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5970,9 +9099,9 @@ def _start_controllers_power_cycle_nodes_serialize( @validate_call - def start_controllers_reboot_port( + def start_controllers_set_front_panel_fanout( self, - reboot_ports_operation: Optional[RebootPortsOperation] = None, + set_fan_out_mode_operation: Optional[SetFanOutModeOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5986,12 +9115,12 @@ def start_controllers_reboot_port( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_controllers_reboot_port + """start_controllers_set_front_panel_fanout - Reboot ports. + Set the fanOut mode of the front panels. - :param reboot_ports_operation: - :type reboot_ports_operation: RebootPortsOperation + :param set_fan_out_mode_operation: + :type set_fan_out_mode_operation: SetFanOutModeOperation :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 @@ -6014,8 +9143,8 @@ def start_controllers_reboot_port( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_reboot_port_serialize( - reboot_ports_operation=reboot_ports_operation, + _param = self._start_controllers_set_front_panel_fanout_serialize( + set_fan_out_mode_operation=set_fan_out_mode_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6033,9 +9162,9 @@ def start_controllers_reboot_port( @validate_call - def start_controllers_reboot_port_with_http_info( + def start_controllers_set_front_panel_fanout_with_http_info( self, - reboot_ports_operation: Optional[RebootPortsOperation] = None, + set_fan_out_mode_operation: Optional[SetFanOutModeOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6049,12 +9178,12 @@ def start_controllers_reboot_port_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_controllers_reboot_port + """start_controllers_set_front_panel_fanout - Reboot ports. + Set the fanOut mode of the front panels. - :param reboot_ports_operation: - :type reboot_ports_operation: RebootPortsOperation + :param set_fan_out_mode_operation: + :type set_fan_out_mode_operation: SetFanOutModeOperation :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 @@ -6077,8 +9206,8 @@ def start_controllers_reboot_port_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_reboot_port_serialize( - reboot_ports_operation=reboot_ports_operation, + _param = self._start_controllers_set_front_panel_fanout_serialize( + set_fan_out_mode_operation=set_fan_out_mode_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6096,9 +9225,9 @@ def start_controllers_reboot_port_with_http_info( @validate_call - def start_controllers_reboot_port_without_preload_content( + def start_controllers_set_front_panel_fanout_without_preload_content( self, - reboot_ports_operation: Optional[RebootPortsOperation] = None, + set_fan_out_mode_operation: Optional[SetFanOutModeOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6112,12 +9241,12 @@ def start_controllers_reboot_port_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_controllers_reboot_port + """start_controllers_set_front_panel_fanout - Reboot ports. + Set the fanOut mode of the front panels. - :param reboot_ports_operation: - :type reboot_ports_operation: RebootPortsOperation + :param set_fan_out_mode_operation: + :type set_fan_out_mode_operation: SetFanOutModeOperation :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 @@ -6140,8 +9269,8 @@ def start_controllers_reboot_port_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_reboot_port_serialize( - reboot_ports_operation=reboot_ports_operation, + _param = self._start_controllers_set_front_panel_fanout_serialize( + set_fan_out_mode_operation=set_fan_out_mode_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6158,9 +9287,9 @@ def start_controllers_reboot_port_without_preload_content( ) - def _start_controllers_reboot_port_serialize( + def _start_controllers_set_front_panel_fanout_serialize( self, - reboot_ports_operation, + set_fan_out_mode_operation, _request_auth, _content_type, _headers, @@ -6184,8 +9313,8 @@ def _start_controllers_reboot_port_serialize( # process the header parameters # process the form parameters # process the body parameter - if reboot_ports_operation is not None: - _body_params = reboot_ports_operation + if set_fan_out_mode_operation is not None: + _body_params = set_fan_out_mode_operation # set the HTTP header `Accept` @@ -6218,7 +9347,7 @@ def _start_controllers_reboot_port_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/controllers/operations/reboot-port', + resource_path='/api/v2/controllers/operations/set-front-panel-fanout', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -6235,9 +9364,9 @@ def _start_controllers_reboot_port_serialize( @validate_call - def start_controllers_set_app( + def start_controllers_set_front_panel_port_link_state( self, - set_controller_app_operation: Optional[SetControllerAppOperation] = None, + set_front_panel_ports_link_state_operation: Optional[SetFrontPanelPortsLinkStateOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6251,12 +9380,12 @@ def start_controllers_set_app( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AsyncContext: - """start_controllers_set_app + """start_controllers_set_front_panel_port_link_state - Set the active app of the controllers. + Set the link state of the front panel ports. - :param set_controller_app_operation: - :type set_controller_app_operation: SetControllerAppOperation + :param set_front_panel_ports_link_state_operation: + :type set_front_panel_ports_link_state_operation: SetFrontPanelPortsLinkStateOperation :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 @@ -6279,8 +9408,8 @@ def start_controllers_set_app( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_set_app_serialize( - set_controller_app_operation=set_controller_app_operation, + _param = self._start_controllers_set_front_panel_port_link_state_serialize( + set_front_panel_ports_link_state_operation=set_front_panel_ports_link_state_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6298,9 +9427,9 @@ def start_controllers_set_app( @validate_call - def start_controllers_set_app_with_http_info( + def start_controllers_set_front_panel_port_link_state_with_http_info( self, - set_controller_app_operation: Optional[SetControllerAppOperation] = None, + set_front_panel_ports_link_state_operation: Optional[SetFrontPanelPortsLinkStateOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6314,12 +9443,12 @@ def start_controllers_set_app_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AsyncContext]: - """start_controllers_set_app + """start_controllers_set_front_panel_port_link_state - Set the active app of the controllers. + Set the link state of the front panel ports. - :param set_controller_app_operation: - :type set_controller_app_operation: SetControllerAppOperation + :param set_front_panel_ports_link_state_operation: + :type set_front_panel_ports_link_state_operation: SetFrontPanelPortsLinkStateOperation :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 @@ -6342,8 +9471,8 @@ def start_controllers_set_app_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_set_app_serialize( - set_controller_app_operation=set_controller_app_operation, + _param = self._start_controllers_set_front_panel_port_link_state_serialize( + set_front_panel_ports_link_state_operation=set_front_panel_ports_link_state_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6361,9 +9490,9 @@ def start_controllers_set_app_with_http_info( @validate_call - def start_controllers_set_app_without_preload_content( + def start_controllers_set_front_panel_port_link_state_without_preload_content( self, - set_controller_app_operation: Optional[SetControllerAppOperation] = None, + set_front_panel_ports_link_state_operation: Optional[SetFrontPanelPortsLinkStateOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6377,12 +9506,12 @@ def start_controllers_set_app_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """start_controllers_set_app + """start_controllers_set_front_panel_port_link_state - Set the active app of the controllers. + Set the link state of the front panel ports. - :param set_controller_app_operation: - :type set_controller_app_operation: SetControllerAppOperation + :param set_front_panel_ports_link_state_operation: + :type set_front_panel_ports_link_state_operation: SetFrontPanelPortsLinkStateOperation :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 @@ -6405,8 +9534,8 @@ def start_controllers_set_app_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._start_controllers_set_app_serialize( - set_controller_app_operation=set_controller_app_operation, + _param = self._start_controllers_set_front_panel_port_link_state_serialize( + set_front_panel_ports_link_state_operation=set_front_panel_ports_link_state_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6423,9 +9552,9 @@ def start_controllers_set_app_without_preload_content( ) - def _start_controllers_set_app_serialize( + def _start_controllers_set_front_panel_port_link_state_serialize( self, - set_controller_app_operation, + set_front_panel_ports_link_state_operation, _request_auth, _content_type, _headers, @@ -6449,8 +9578,8 @@ def _start_controllers_set_app_serialize( # process the header parameters # process the form parameters # process the body parameter - if set_controller_app_operation is not None: - _body_params = set_controller_app_operation + if set_front_panel_ports_link_state_operation is not None: + _body_params = set_front_panel_ports_link_state_operation # set the HTTP header `Accept` @@ -6483,7 +9612,7 @@ def _start_controllers_set_app_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/api/v2/controllers/operations/set-app', + resource_path='/api/v2/controllers/operations/set-front-panel-port-link-state', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -7032,7 +10161,7 @@ def _start_controllers_set_node_app_serialize( @validate_call def start_controllers_set_port_link_state( self, - set_link_state_operation: Optional[SetLinkStateOperation] = None, + set_ports_link_state_operation: Optional[SetPortsLinkStateOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7050,8 +10179,8 @@ def start_controllers_set_port_link_state( Set the link state of the ports. - :param set_link_state_operation: - :type set_link_state_operation: SetLinkStateOperation + :param set_ports_link_state_operation: + :type set_ports_link_state_operation: SetPortsLinkStateOperation :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 @@ -7075,7 +10204,7 @@ def start_controllers_set_port_link_state( """ # noqa: E501 _param = self._start_controllers_set_port_link_state_serialize( - set_link_state_operation=set_link_state_operation, + set_ports_link_state_operation=set_ports_link_state_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7095,7 +10224,7 @@ def start_controllers_set_port_link_state( @validate_call def start_controllers_set_port_link_state_with_http_info( self, - set_link_state_operation: Optional[SetLinkStateOperation] = None, + set_ports_link_state_operation: Optional[SetPortsLinkStateOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7113,8 +10242,8 @@ def start_controllers_set_port_link_state_with_http_info( Set the link state of the ports. - :param set_link_state_operation: - :type set_link_state_operation: SetLinkStateOperation + :param set_ports_link_state_operation: + :type set_ports_link_state_operation: SetPortsLinkStateOperation :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 @@ -7138,7 +10267,7 @@ def start_controllers_set_port_link_state_with_http_info( """ # noqa: E501 _param = self._start_controllers_set_port_link_state_serialize( - set_link_state_operation=set_link_state_operation, + set_ports_link_state_operation=set_ports_link_state_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7158,7 +10287,7 @@ def start_controllers_set_port_link_state_with_http_info( @validate_call def start_controllers_set_port_link_state_without_preload_content( self, - set_link_state_operation: Optional[SetLinkStateOperation] = None, + set_ports_link_state_operation: Optional[SetPortsLinkStateOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7176,8 +10305,8 @@ def start_controllers_set_port_link_state_without_preload_content( Set the link state of the ports. - :param set_link_state_operation: - :type set_link_state_operation: SetLinkStateOperation + :param set_ports_link_state_operation: + :type set_ports_link_state_operation: SetPortsLinkStateOperation :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 @@ -7201,7 +10330,7 @@ def start_controllers_set_port_link_state_without_preload_content( """ # noqa: E501 _param = self._start_controllers_set_port_link_state_serialize( - set_link_state_operation=set_link_state_operation, + set_ports_link_state_operation=set_ports_link_state_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7220,7 +10349,7 @@ def start_controllers_set_port_link_state_without_preload_content( def _start_controllers_set_port_link_state_serialize( self, - set_link_state_operation, + set_ports_link_state_operation, _request_auth, _content_type, _headers, @@ -7244,8 +10373,8 @@ def _start_controllers_set_port_link_state_serialize( # process the header parameters # process the form parameters # process the body parameter - if set_link_state_operation is not None: - _body_params = set_link_state_operation + if set_ports_link_state_operation is not None: + _body_params = set_ports_link_state_operation # set the HTTP header `Accept` diff --git a/cyperf/api/application_resources_api.py b/cyperf/api/application_resources_api.py index 23692b0..59fb934 100644 --- a/cyperf/api/application_resources_api.py +++ b/cyperf/api/application_resources_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -33,8 +33,6 @@ from cyperf.models.export_apps_operation_input import ExportAppsOperationInput from cyperf.models.find_param_matches_operation import FindParamMatchesOperation from cyperf.models.generic_file import GenericFile -from cyperf.models.get_apps_operation import GetAppsOperation -from cyperf.models.get_attacks_operation import GetAttacksOperation from cyperf.models.get_categories_operation import GetCategoriesOperation from cyperf.models.get_resources_application_types200_response import GetResourcesApplicationTypes200Response from cyperf.models.get_resources_apps200_response import GetResourcesApps200Response @@ -42,8 +40,11 @@ from cyperf.models.get_resources_auth_profiles200_response import GetResourcesAuthProfiles200Response from cyperf.models.get_resources_certificates200_response import GetResourcesCertificates200Response from cyperf.models.get_resources_http_profiles200_response import GetResourcesHttpProfiles200Response +from cyperf.models.get_resources_llm_api_profiles200_response import GetResourcesLlmApiProfiles200Response +from cyperf.models.get_scenarios_operation import GetScenariosOperation from cyperf.models.get_strikes_operation import GetStrikesOperation from cyperf.models.http_profile import HTTPProfile +from cyperf.models.llmapi_profile import LLMAPIProfile from cyperf.models.replay_capture import ReplayCapture from cyperf import DynamicModel @@ -84,6 +85,7 @@ def delete_resources_capture( ) -> None: """delete_resources_capture + Delete a capture that was loaded by the user. :param capture_id: The ID of the capture. (required) :type capture_id: str @@ -119,6 +121,9 @@ def delete_resources_capture( _response_types_map: Dict[str, Optional[str]] = { '204': None, + '401': "ErrorResponse", + '403': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -147,6 +152,7 @@ def delete_resources_capture_with_http_info( ) -> ApiResponse[None]: """delete_resources_capture + Delete a capture that was loaded by the user. :param capture_id: The ID of the capture. (required) :type capture_id: str @@ -182,6 +188,9 @@ def delete_resources_capture_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '204': None, + '401': "ErrorResponse", + '403': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -210,6 +219,7 @@ def delete_resources_capture_without_preload_content( ) -> RESTResponseType: """delete_resources_capture + Delete a capture that was loaded by the user. :param capture_id: The ID of the capture. (required) :type capture_id: str @@ -245,6 +255,9 @@ def delete_resources_capture_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '204': None, + '401': "ErrorResponse", + '403': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -4464,7 +4477,7 @@ def delete_resources_user_defined_app( ) -> None: """delete_resources_user_defined_app - Delete a CyPerf application that was created by the user. + Delete an application that was created by the user. :param user_defined_app_id: The ID of the user defined app. (required) :type user_defined_app_id: str @@ -4531,7 +4544,7 @@ def delete_resources_user_defined_app_with_http_info( ) -> ApiResponse[None]: """delete_resources_user_defined_app - Delete a CyPerf application that was created by the user. + Delete an application that was created by the user. :param user_defined_app_id: The ID of the user defined app. (required) :type user_defined_app_id: str @@ -4598,7 +4611,7 @@ def delete_resources_user_defined_app_without_preload_content( ) -> RESTResponseType: """delete_resources_user_defined_app - Delete a CyPerf application that was created by the user. + Delete an application that was created by the user. :param user_defined_app_id: The ID of the user defined app. (required) :type user_defined_app_id: str @@ -5573,7 +5586,7 @@ def get_resources_app_by_id( ) -> AppsecApp: """get_resources_app_by_id - Get a particular CyPerf application. + Get a particular application. :param app_id: The ID of the app. (required) :type app_id: str @@ -5639,7 +5652,7 @@ def get_resources_app_by_id_with_http_info( ) -> ApiResponse[AppsecApp]: """get_resources_app_by_id - Get a particular CyPerf application. + Get a particular application. :param app_id: The ID of the app. (required) :type app_id: str @@ -5705,7 +5718,7 @@ def get_resources_app_by_id_without_preload_content( ) -> RESTResponseType: """get_resources_app_by_id - Get a particular CyPerf application. + Get a particular application. :param app_id: The ID of the app. (required) :type app_id: str @@ -6640,7 +6653,7 @@ def get_resources_apps( ) -> GetResourcesApps200Response: """get_resources_apps - Get all the available CyPerf applications. + Get all the available applications. :param take: The number of search results to return :type take: int @@ -6730,7 +6743,7 @@ def get_resources_apps_with_http_info( ) -> ApiResponse[GetResourcesApps200Response]: """get_resources_apps - Get all the available CyPerf applications. + Get all the available applications. :param take: The number of search results to return :type take: int @@ -6820,7 +6833,7 @@ def get_resources_apps_without_preload_content( ) -> RESTResponseType: """get_resources_apps - Get all the available CyPerf applications. + Get all the available applications. :param take: The number of search results to return :type take: int @@ -6999,7 +7012,7 @@ def get_resources_attack_by_id( ) -> AppsecAttack: """get_resources_attack_by_id - Get a particular CyPerf attack. + Get a particular attack. :param attack_id: The ID of the attack. (required) :type attack_id: str @@ -7065,7 +7078,7 @@ def get_resources_attack_by_id_with_http_info( ) -> ApiResponse[AppsecAttack]: """get_resources_attack_by_id - Get a particular CyPerf attack. + Get a particular attack. :param attack_id: The ID of the attack. (required) :type attack_id: str @@ -7131,7 +7144,7 @@ def get_resources_attack_by_id_without_preload_content( ) -> RESTResponseType: """get_resources_attack_by_id - Get a particular CyPerf attack. + Get a particular attack. :param attack_id: The ID of the attack. (required) :type attack_id: str @@ -7537,7 +7550,7 @@ def get_resources_attacks( ) -> GetResourcesAttacks200Response: """get_resources_attacks - Get all the available CyPerf attacks. + Get all the available attacks. :param take: The number of search results to return :type take: int @@ -7627,7 +7640,7 @@ def get_resources_attacks_with_http_info( ) -> ApiResponse[GetResourcesAttacks200Response]: """get_resources_attacks - Get all the available CyPerf attacks. + Get all the available attacks. :param take: The number of search results to return :type take: int @@ -7717,7 +7730,7 @@ def get_resources_attacks_without_preload_content( ) -> RESTResponseType: """get_resources_attacks - Get all the available CyPerf attacks. + Get all the available attacks. :param take: The number of search results to return :type take: int @@ -8428,7 +8441,7 @@ def get_resources_capture_by_id( ) -> ReplayCapture: """get_resources_capture_by_id - Get a particular CyPerf capture loaded by the user. + Get a particular capture loaded by the user. :param capture_id: The ID of the capture. (required) :type capture_id: str @@ -8494,7 +8507,7 @@ def get_resources_capture_by_id_with_http_info( ) -> ApiResponse[ReplayCapture]: """get_resources_capture_by_id - Get a particular CyPerf capture loaded by the user. + Get a particular capture loaded by the user. :param capture_id: The ID of the capture. (required) :type capture_id: str @@ -8560,7 +8573,7 @@ def get_resources_capture_by_id_without_preload_content( ) -> RESTResponseType: """get_resources_capture_by_id - Get a particular CyPerf capture loaded by the user. + Get a particular capture loaded by the user. :param capture_id: The ID of the capture. (required) :type capture_id: str @@ -9773,6 +9786,7 @@ def get_resources_certificate_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -9837,6 +9851,7 @@ def get_resources_certificate_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -9901,6 +9916,7 @@ def get_resources_certificate_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -10825,6 +10841,7 @@ def get_resources_custom_fuzzing_script_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -10889,6 +10906,7 @@ def get_resources_custom_fuzzing_script_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -10953,6 +10971,7 @@ def get_resources_custom_fuzzing_script_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -12154,6 +12173,7 @@ def get_resources_flow_library_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -12218,6 +12238,7 @@ def get_resources_flow_library_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -12282,6 +12303,7 @@ def get_resources_flow_library_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -12929,6 +12951,7 @@ def get_resources_global_playlist_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -12993,6 +13016,7 @@ def get_resources_global_playlist_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -13057,6 +13081,7 @@ def get_resources_global_playlist_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -14258,6 +14283,7 @@ def get_resources_http_library_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -14322,6 +14348,7 @@ def get_resources_http_library_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -14386,6 +14413,7 @@ def get_resources_http_library_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -15250,9 +15278,9 @@ def _get_resources_http_profiles_serialize( @validate_call - def get_resources_media_file_by_id( + def get_resources_llm_api_profile_by_id( self, - media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], + llm_api_profile_id: Annotated[StrictStr, Field(description="The ID of the llm api profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15265,13 +15293,13 @@ def get_resources_media_file_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_media_file_by_id + ) -> LLMAPIProfile: + """get_resources_llm_api_profile_by_id - Get a particular media file. + Get a particular LLM API profile. - :param media_file_id: The ID of the media file. (required) - :type media_file_id: str + :param llm_api_profile_id: The ID of the llm api profile. (required) + :type llm_api_profile_id: str :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 @@ -15294,8 +15322,8 @@ def get_resources_media_file_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_file_by_id_serialize( - media_file_id=media_file_id, + _param = self._get_resources_llm_api_profile_by_id_serialize( + llm_api_profile_id=llm_api_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15303,8 +15331,7 @@ def get_resources_media_file_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", + '200': "LLMAPIProfile", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -15316,9 +15343,9 @@ def get_resources_media_file_by_id( @validate_call - def get_resources_media_file_by_id_with_http_info( + def get_resources_llm_api_profile_by_id_with_http_info( self, - media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], + llm_api_profile_id: Annotated[StrictStr, Field(description="The ID of the llm api profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15331,13 +15358,13 @@ def get_resources_media_file_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_media_file_by_id + ) -> ApiResponse[LLMAPIProfile]: + """get_resources_llm_api_profile_by_id - Get a particular media file. + Get a particular LLM API profile. - :param media_file_id: The ID of the media file. (required) - :type media_file_id: str + :param llm_api_profile_id: The ID of the llm api profile. (required) + :type llm_api_profile_id: str :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 @@ -15360,8 +15387,8 @@ def get_resources_media_file_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_file_by_id_serialize( - media_file_id=media_file_id, + _param = self._get_resources_llm_api_profile_by_id_serialize( + llm_api_profile_id=llm_api_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15369,8 +15396,7 @@ def get_resources_media_file_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", + '200': "LLMAPIProfile", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -15382,9 +15408,9 @@ def get_resources_media_file_by_id_with_http_info( @validate_call - def get_resources_media_file_by_id_without_preload_content( + def get_resources_llm_api_profile_by_id_without_preload_content( self, - media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], + llm_api_profile_id: Annotated[StrictStr, Field(description="The ID of the llm api profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15398,12 +15424,12 @@ def get_resources_media_file_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_file_by_id + """get_resources_llm_api_profile_by_id - Get a particular media file. + Get a particular LLM API profile. - :param media_file_id: The ID of the media file. (required) - :type media_file_id: str + :param llm_api_profile_id: The ID of the llm api profile. (required) + :type llm_api_profile_id: str :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 @@ -15426,8 +15452,8 @@ def get_resources_media_file_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_file_by_id_serialize( - media_file_id=media_file_id, + _param = self._get_resources_llm_api_profile_by_id_serialize( + llm_api_profile_id=llm_api_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15435,8 +15461,7 @@ def get_resources_media_file_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", + '200': "LLMAPIProfile", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -15447,9 +15472,9 @@ def get_resources_media_file_by_id_without_preload_content( ) - def _get_resources_media_file_by_id_serialize( + def _get_resources_llm_api_profile_by_id_serialize( self, - media_file_id, + llm_api_profile_id, _request_auth, _content_type, _headers, @@ -15469,8 +15494,8 @@ def _get_resources_media_file_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if media_file_id is not None: - _path_params['mediaFileId'] = media_file_id + if llm_api_profile_id is not None: + _path_params['llmApiProfileId'] = llm_api_profile_id # process the query parameters # process the header parameters # process the form parameters @@ -15494,7 +15519,7 @@ def _get_resources_media_file_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-files/{mediaFileId}', + resource_path='/api/v2/resources/llm-api-profiles/{llmApiProfileId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -15511,9 +15536,10 @@ def _get_resources_media_file_by_id_serialize( @validate_call - def get_resources_media_file_content_file( + def get_resources_llm_api_profiles( self, - media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15526,13 +15552,15 @@ def get_resources_media_file_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_media_file_content_file + ) -> GetResourcesLlmApiProfiles200Response: + """get_resources_llm_api_profiles - Get the content of a particular media file. + Get all the available LLM API profiles. - :param media_file_id: The ID of the media file. (required) - :type media_file_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -15555,8 +15583,9 @@ def get_resources_media_file_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_file_content_file_serialize( - media_file_id=media_file_id, + _param = self._get_resources_llm_api_profiles_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15564,8 +15593,8 @@ def get_resources_media_file_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesLlmApiProfiles200Response", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -15575,9 +15604,10 @@ def get_resources_media_file_content_file( @validate_call - def get_resources_media_file_content_file_with_http_info( + def get_resources_llm_api_profiles_with_http_info( self, - media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15590,13 +15620,15 @@ def get_resources_media_file_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_media_file_content_file + ) -> ApiResponse[GetResourcesLlmApiProfiles200Response]: + """get_resources_llm_api_profiles - Get the content of a particular media file. + Get all the available LLM API profiles. - :param media_file_id: The ID of the media file. (required) - :type media_file_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -15619,8 +15651,9 @@ def get_resources_media_file_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_file_content_file_serialize( - media_file_id=media_file_id, + _param = self._get_resources_llm_api_profiles_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15628,8 +15661,8 @@ def get_resources_media_file_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesLlmApiProfiles200Response", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -15639,9 +15672,10 @@ def get_resources_media_file_content_file_with_http_info( @validate_call - def get_resources_media_file_content_file_without_preload_content( + def get_resources_llm_api_profiles_without_preload_content( self, - media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15655,12 +15689,14 @@ def get_resources_media_file_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_file_content_file + """get_resources_llm_api_profiles - Get the content of a particular media file. + Get all the available LLM API profiles. - :param media_file_id: The ID of the media file. (required) - :type media_file_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -15683,8 +15719,9 @@ def get_resources_media_file_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_file_content_file_serialize( - media_file_id=media_file_id, + _param = self._get_resources_llm_api_profiles_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15692,8 +15729,8 @@ def get_resources_media_file_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesLlmApiProfiles200Response", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -15702,9 +15739,10 @@ def get_resources_media_file_content_file_without_preload_content( ) - def _get_resources_media_file_content_file_serialize( + def _get_resources_llm_api_profiles_serialize( self, - media_file_id, + take, + skip, _request_auth, _content_type, _headers, @@ -15724,9 +15762,15 @@ def _get_resources_media_file_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if media_file_id is not None: - _path_params['mediaFileId'] = media_file_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -15736,7 +15780,6 @@ def _get_resources_media_file_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -15750,7 +15793,7 @@ def _get_resources_media_file_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-files/{mediaFileId}/contentFile', + resource_path='/api/v2/resources/llm-api-profiles', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -15767,10 +15810,9 @@ def _get_resources_media_file_content_file_serialize( @validate_call - def get_resources_media_files( + def get_resources_media_file_by_id( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15783,15 +15825,13 @@ def get_resources_media_files( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetResourcesCertificates200Response: - """get_resources_media_files + ) -> GenericFile: + """get_resources_media_file_by_id - Get all the available media files. + Get a particular media file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param media_file_id: The ID of the media file. (required) + :type media_file_id: str :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 @@ -15814,9 +15854,8 @@ def get_resources_media_files( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_files_serialize( - take=take, - skip=skip, + _param = self._get_resources_media_file_by_id_serialize( + media_file_id=media_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15824,8 +15863,9 @@ def get_resources_media_files( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -15836,10 +15876,9 @@ def get_resources_media_files( @validate_call - def get_resources_media_files_with_http_info( + def get_resources_media_file_by_id_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15852,15 +15891,13 @@ def get_resources_media_files_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_media_files + ) -> ApiResponse[GenericFile]: + """get_resources_media_file_by_id - Get all the available media files. + Get a particular media file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param media_file_id: The ID of the media file. (required) + :type media_file_id: str :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 @@ -15883,9 +15920,8 @@ def get_resources_media_files_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_files_serialize( - take=take, - skip=skip, + _param = self._get_resources_media_file_by_id_serialize( + media_file_id=media_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15893,8 +15929,9 @@ def get_resources_media_files_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -15905,10 +15942,9 @@ def get_resources_media_files_with_http_info( @validate_call - def get_resources_media_files_without_preload_content( + def get_resources_media_file_by_id_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -15922,14 +15958,12 @@ def get_resources_media_files_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_files + """get_resources_media_file_by_id - Get all the available media files. + Get a particular media file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param media_file_id: The ID of the media file. (required) + :type media_file_id: str :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 @@ -15952,9 +15986,8 @@ def get_resources_media_files_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_files_serialize( - take=take, - skip=skip, + _param = self._get_resources_media_file_by_id_serialize( + media_file_id=media_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -15962,8 +15995,9 @@ def get_resources_media_files_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -15973,10 +16007,9 @@ def get_resources_media_files_without_preload_content( ) - def _get_resources_media_files_serialize( + def _get_resources_media_file_by_id_serialize( self, - take, - skip, + media_file_id, _request_auth, _content_type, _headers, @@ -15996,15 +16029,9 @@ def _get_resources_media_files_serialize( _body_params: Optional[bytes] = None # process the path parameters + if media_file_id is not None: + _path_params['mediaFileId'] = media_file_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -16027,7 +16054,7 @@ def _get_resources_media_files_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-files', + resource_path='/api/v2/resources/media-files/{mediaFileId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16044,9 +16071,9 @@ def _get_resources_media_files_serialize( @validate_call - def get_resources_media_files_upload_file_result( + def get_resources_media_file_content_file( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16059,13 +16086,13 @@ def get_resources_media_files_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_media_files_upload_file_result + ) -> bytearray: + """get_resources_media_file_content_file - Get the result of the upload file operation. + Get the content of a particular media file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param media_file_id: The ID of the media file. (required) + :type media_file_id: str :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 @@ -16088,8 +16115,8 @@ def get_resources_media_files_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_files_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_media_file_content_file_serialize( + media_file_id=media_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16097,9 +16124,9 @@ def get_resources_media_files_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -16109,9 +16136,9 @@ def get_resources_media_files_upload_file_result( @validate_call - def get_resources_media_files_upload_file_result_with_http_info( + def get_resources_media_file_content_file_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16124,13 +16151,13 @@ def get_resources_media_files_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_media_files_upload_file_result + ) -> ApiResponse[bytearray]: + """get_resources_media_file_content_file - Get the result of the upload file operation. + Get the content of a particular media file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param media_file_id: The ID of the media file. (required) + :type media_file_id: str :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 @@ -16153,8 +16180,8 @@ def get_resources_media_files_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_files_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_media_file_content_file_serialize( + media_file_id=media_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16162,9 +16189,9 @@ def get_resources_media_files_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -16174,9 +16201,9 @@ def get_resources_media_files_upload_file_result_with_http_info( @validate_call - def get_resources_media_files_upload_file_result_without_preload_content( + def get_resources_media_file_content_file_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + media_file_id: Annotated[StrictStr, Field(description="The ID of the media file.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16190,12 +16217,12 @@ def get_resources_media_files_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_files_upload_file_result + """get_resources_media_file_content_file - Get the result of the upload file operation. + Get the content of a particular media file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param media_file_id: The ID of the media file. (required) + :type media_file_id: str :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 @@ -16218,8 +16245,8 @@ def get_resources_media_files_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_files_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_media_file_content_file_serialize( + media_file_id=media_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16227,9 +16254,9 @@ def get_resources_media_files_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -16238,9 +16265,9 @@ def get_resources_media_files_upload_file_result_without_preload_content( ) - def _get_resources_media_files_upload_file_result_serialize( + def _get_resources_media_file_content_file_serialize( self, - upload_file_id, + media_file_id, _request_auth, _content_type, _headers, @@ -16260,8 +16287,8 @@ def _get_resources_media_files_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if media_file_id is not None: + _path_params['mediaFileId'] = media_file_id # process the query parameters # process the header parameters # process the form parameters @@ -16272,6 +16299,7 @@ def _get_resources_media_files_upload_file_result_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -16285,7 +16313,7 @@ def _get_resources_media_files_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-files/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/media-files/{mediaFileId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16302,7 +16330,7 @@ def _get_resources_media_files_upload_file_result_serialize( @validate_call - def get_resources_media_library( + def get_resources_media_files( self, take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, @@ -16319,9 +16347,9 @@ def get_resources_media_library( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> GetResourcesCertificates200Response: - """get_resources_media_library + """get_resources_media_files - Get all the available media library files. + Get all the available media files. :param take: The number of search results to return :type take: int @@ -16349,7 +16377,7 @@ def get_resources_media_library( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_serialize( + _param = self._get_resources_media_files_serialize( take=take, skip=skip, _request_auth=_request_auth, @@ -16371,7 +16399,7 @@ def get_resources_media_library( @validate_call - def get_resources_media_library_with_http_info( + def get_resources_media_files_with_http_info( self, take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, @@ -16388,9 +16416,9 @@ def get_resources_media_library_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_media_library + """get_resources_media_files - Get all the available media library files. + Get all the available media files. :param take: The number of search results to return :type take: int @@ -16418,7 +16446,7 @@ def get_resources_media_library_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_serialize( + _param = self._get_resources_media_files_serialize( take=take, skip=skip, _request_auth=_request_auth, @@ -16440,7 +16468,7 @@ def get_resources_media_library_with_http_info( @validate_call - def get_resources_media_library_without_preload_content( + def get_resources_media_files_without_preload_content( self, take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, @@ -16457,9 +16485,9 @@ def get_resources_media_library_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_library + """get_resources_media_files - Get all the available media library files. + Get all the available media files. :param take: The number of search results to return :type take: int @@ -16487,7 +16515,7 @@ def get_resources_media_library_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_serialize( + _param = self._get_resources_media_files_serialize( take=take, skip=skip, _request_auth=_request_auth, @@ -16508,7 +16536,7 @@ def get_resources_media_library_without_preload_content( ) - def _get_resources_media_library_serialize( + def _get_resources_media_files_serialize( self, take, skip, @@ -16562,7 +16590,7 @@ def _get_resources_media_library_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-library', + resource_path='/api/v2/resources/media-files', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16579,9 +16607,9 @@ def _get_resources_media_library_serialize( @validate_call - def get_resources_media_library_by_id( + def get_resources_media_files_upload_file_result( self, - media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16594,13 +16622,13 @@ def get_resources_media_library_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_media_library_by_id + ) -> None: + """get_resources_media_files_upload_file_result - Get a particular media library file. + Get the result of the upload file operation. - :param media_library_id: The ID of the media library. (required) - :type media_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -16623,8 +16651,8 @@ def get_resources_media_library_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_by_id_serialize( - media_library_id=media_library_id, + _param = self._get_resources_media_files_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16632,9 +16660,8 @@ def get_resources_media_library_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -16645,9 +16672,9 @@ def get_resources_media_library_by_id( @validate_call - def get_resources_media_library_by_id_with_http_info( + def get_resources_media_files_upload_file_result_with_http_info( self, - media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16660,13 +16687,13 @@ def get_resources_media_library_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_media_library_by_id + ) -> ApiResponse[None]: + """get_resources_media_files_upload_file_result - Get a particular media library file. + Get the result of the upload file operation. - :param media_library_id: The ID of the media library. (required) - :type media_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -16689,8 +16716,8 @@ def get_resources_media_library_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_by_id_serialize( - media_library_id=media_library_id, + _param = self._get_resources_media_files_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16698,9 +16725,8 @@ def get_resources_media_library_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -16711,9 +16737,9 @@ def get_resources_media_library_by_id_with_http_info( @validate_call - def get_resources_media_library_by_id_without_preload_content( + def get_resources_media_files_upload_file_result_without_preload_content( self, - media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16727,12 +16753,12 @@ def get_resources_media_library_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_library_by_id + """get_resources_media_files_upload_file_result - Get a particular media library file. + Get the result of the upload file operation. - :param media_library_id: The ID of the media library. (required) - :type media_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -16755,8 +16781,8 @@ def get_resources_media_library_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_by_id_serialize( - media_library_id=media_library_id, + _param = self._get_resources_media_files_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16764,9 +16790,8 @@ def get_resources_media_library_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -16776,9 +16801,9 @@ def get_resources_media_library_by_id_without_preload_content( ) - def _get_resources_media_library_by_id_serialize( + def _get_resources_media_files_upload_file_result_serialize( self, - media_library_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -16798,8 +16823,8 @@ def _get_resources_media_library_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if media_library_id is not None: - _path_params['mediaLibraryId'] = media_library_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -16823,7 +16848,7 @@ def _get_resources_media_library_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-library/{mediaLibraryId}', + resource_path='/api/v2/resources/media-files/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -16840,9 +16865,10 @@ def _get_resources_media_library_by_id_serialize( @validate_call - def get_resources_media_library_content_file( + def get_resources_media_library( self, - media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16855,13 +16881,15 @@ def get_resources_media_library_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_media_library_content_file + ) -> GetResourcesCertificates200Response: + """get_resources_media_library - Get the content of a particular media library file. + Get all the available media library files. - :param media_library_id: The ID of the media library. (required) - :type media_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -16884,8 +16912,9 @@ def get_resources_media_library_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_content_file_serialize( - media_library_id=media_library_id, + _param = self._get_resources_media_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16893,8 +16922,9 @@ def get_resources_media_library_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -16904,9 +16934,10 @@ def get_resources_media_library_content_file( @validate_call - def get_resources_media_library_content_file_with_http_info( + def get_resources_media_library_with_http_info( self, - media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16919,13 +16950,15 @@ def get_resources_media_library_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_media_library_content_file + ) -> ApiResponse[GetResourcesCertificates200Response]: + """get_resources_media_library - Get the content of a particular media library file. + Get all the available media library files. - :param media_library_id: The ID of the media library. (required) - :type media_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -16948,8 +16981,9 @@ def get_resources_media_library_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_content_file_serialize( - media_library_id=media_library_id, + _param = self._get_resources_media_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -16957,8 +16991,9 @@ def get_resources_media_library_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -16968,9 +17003,10 @@ def get_resources_media_library_content_file_with_http_info( @validate_call - def get_resources_media_library_content_file_without_preload_content( + def get_resources_media_library_without_preload_content( self, - media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -16984,12 +17020,14 @@ def get_resources_media_library_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_library_content_file + """get_resources_media_library - Get the content of a particular media library file. + Get all the available media library files. - :param media_library_id: The ID of the media library. (required) - :type media_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -17012,8 +17050,9 @@ def get_resources_media_library_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_content_file_serialize( - media_library_id=media_library_id, + _param = self._get_resources_media_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17021,8 +17060,9 @@ def get_resources_media_library_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -17031,9 +17071,10 @@ def get_resources_media_library_content_file_without_preload_content( ) - def _get_resources_media_library_content_file_serialize( + def _get_resources_media_library_serialize( self, - media_library_id, + take, + skip, _request_auth, _content_type, _headers, @@ -17053,9 +17094,15 @@ def _get_resources_media_library_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if media_library_id is not None: - _path_params['mediaLibraryId'] = media_library_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -17065,7 +17112,6 @@ def _get_resources_media_library_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -17079,7 +17125,7 @@ def _get_resources_media_library_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-library/{mediaLibraryId}/contentFile', + resource_path='/api/v2/resources/media-library', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17096,9 +17142,9 @@ def _get_resources_media_library_content_file_serialize( @validate_call - def get_resources_media_library_upload_file_result( + def get_resources_media_library_by_id( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17111,13 +17157,13 @@ def get_resources_media_library_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_media_library_upload_file_result + ) -> GenericFile: + """get_resources_media_library_by_id - Get the result of the upload file operation. + Get a particular media library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param media_library_id: The ID of the media library. (required) + :type media_library_id: str :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 @@ -17140,8 +17186,8 @@ def get_resources_media_library_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_media_library_by_id_serialize( + media_library_id=media_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17149,8 +17195,9 @@ def get_resources_media_library_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -17161,9 +17208,9 @@ def get_resources_media_library_upload_file_result( @validate_call - def get_resources_media_library_upload_file_result_with_http_info( + def get_resources_media_library_by_id_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17176,13 +17223,13 @@ def get_resources_media_library_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_media_library_upload_file_result + ) -> ApiResponse[GenericFile]: + """get_resources_media_library_by_id - Get the result of the upload file operation. + Get a particular media library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param media_library_id: The ID of the media library. (required) + :type media_library_id: str :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 @@ -17205,8 +17252,8 @@ def get_resources_media_library_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_media_library_by_id_serialize( + media_library_id=media_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17214,8 +17261,9 @@ def get_resources_media_library_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -17226,9 +17274,9 @@ def get_resources_media_library_upload_file_result_with_http_info( @validate_call - def get_resources_media_library_upload_file_result_without_preload_content( + def get_resources_media_library_by_id_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17242,12 +17290,12 @@ def get_resources_media_library_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_media_library_upload_file_result + """get_resources_media_library_by_id - Get the result of the upload file operation. + Get a particular media library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param media_library_id: The ID of the media library. (required) + :type media_library_id: str :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 @@ -17270,8 +17318,8 @@ def get_resources_media_library_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_media_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_media_library_by_id_serialize( + media_library_id=media_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17279,8 +17327,9 @@ def get_resources_media_library_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -17290,9 +17339,9 @@ def get_resources_media_library_upload_file_result_without_preload_content( ) - def _get_resources_media_library_upload_file_result_serialize( + def _get_resources_media_library_by_id_serialize( self, - upload_file_id, + media_library_id, _request_auth, _content_type, _headers, @@ -17312,8 +17361,8 @@ def _get_resources_media_library_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if media_library_id is not None: + _path_params['mediaLibraryId'] = media_library_id # process the query parameters # process the header parameters # process the form parameters @@ -17337,7 +17386,7 @@ def _get_resources_media_library_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/media-library/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/media-library/{mediaLibraryId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17354,10 +17403,9 @@ def _get_resources_media_library_upload_file_result_serialize( @validate_call - def get_resources_other_library( + def get_resources_media_library_content_file( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17370,15 +17418,13 @@ def get_resources_other_library( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetResourcesCertificates200Response: - """get_resources_other_library + ) -> bytearray: + """get_resources_media_library_content_file - Get all the available other library files. + Get the content of a particular media library file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param media_library_id: The ID of the media library. (required) + :type media_library_id: str :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 @@ -17401,9 +17447,8 @@ def get_resources_other_library( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_serialize( - take=take, - skip=skip, + _param = self._get_resources_media_library_content_file_serialize( + media_library_id=media_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17411,9 +17456,9 @@ def get_resources_other_library( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -17423,10 +17468,9 @@ def get_resources_other_library( @validate_call - def get_resources_other_library_with_http_info( + def get_resources_media_library_content_file_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17439,15 +17483,13 @@ def get_resources_other_library_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_other_library + ) -> ApiResponse[bytearray]: + """get_resources_media_library_content_file - Get all the available other library files. + Get the content of a particular media library file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param media_library_id: The ID of the media library. (required) + :type media_library_id: str :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 @@ -17470,9 +17512,8 @@ def get_resources_other_library_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_serialize( - take=take, - skip=skip, + _param = self._get_resources_media_library_content_file_serialize( + media_library_id=media_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17480,9 +17521,9 @@ def get_resources_other_library_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -17492,10 +17533,9 @@ def get_resources_other_library_with_http_info( @validate_call - def get_resources_other_library_without_preload_content( + def get_resources_media_library_content_file_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + media_library_id: Annotated[StrictStr, Field(description="The ID of the media library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17509,14 +17549,12 @@ def get_resources_other_library_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_other_library + """get_resources_media_library_content_file - Get all the available other library files. + Get the content of a particular media library file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param media_library_id: The ID of the media library. (required) + :type media_library_id: str :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 @@ -17539,9 +17577,8 @@ def get_resources_other_library_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_serialize( - take=take, - skip=skip, + _param = self._get_resources_media_library_content_file_serialize( + media_library_id=media_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17549,9 +17586,9 @@ def get_resources_other_library_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -17560,10 +17597,9 @@ def get_resources_other_library_without_preload_content( ) - def _get_resources_other_library_serialize( + def _get_resources_media_library_content_file_serialize( self, - take, - skip, + media_library_id, _request_auth, _content_type, _headers, @@ -17583,15 +17619,9 @@ def _get_resources_other_library_serialize( _body_params: Optional[bytes] = None # process the path parameters + if media_library_id is not None: + _path_params['mediaLibraryId'] = media_library_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -17601,6 +17631,7 @@ def _get_resources_other_library_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -17614,7 +17645,7 @@ def _get_resources_other_library_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/other-library', + resource_path='/api/v2/resources/media-library/{mediaLibraryId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17631,9 +17662,9 @@ def _get_resources_other_library_serialize( @validate_call - def get_resources_other_library_by_id( + def get_resources_media_library_upload_file_result( self, - other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17646,13 +17677,13 @@ def get_resources_other_library_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_other_library_by_id + ) -> None: + """get_resources_media_library_upload_file_result - Get a particular other library file. + Get the result of the upload file operation. - :param other_library_id: The ID of the other library. (required) - :type other_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -17675,8 +17706,8 @@ def get_resources_other_library_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_by_id_serialize( - other_library_id=other_library_id, + _param = self._get_resources_media_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17684,9 +17715,8 @@ def get_resources_other_library_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -17697,9 +17727,9 @@ def get_resources_other_library_by_id( @validate_call - def get_resources_other_library_by_id_with_http_info( + def get_resources_media_library_upload_file_result_with_http_info( self, - other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17712,13 +17742,13 @@ def get_resources_other_library_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_other_library_by_id + ) -> ApiResponse[None]: + """get_resources_media_library_upload_file_result - Get a particular other library file. + Get the result of the upload file operation. - :param other_library_id: The ID of the other library. (required) - :type other_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -17741,8 +17771,8 @@ def get_resources_other_library_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_by_id_serialize( - other_library_id=other_library_id, + _param = self._get_resources_media_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17750,9 +17780,8 @@ def get_resources_other_library_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -17763,9 +17792,9 @@ def get_resources_other_library_by_id_with_http_info( @validate_call - def get_resources_other_library_by_id_without_preload_content( + def get_resources_media_library_upload_file_result_without_preload_content( self, - other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17779,12 +17808,12 @@ def get_resources_other_library_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_other_library_by_id + """get_resources_media_library_upload_file_result - Get a particular other library file. + Get the result of the upload file operation. - :param other_library_id: The ID of the other library. (required) - :type other_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -17807,8 +17836,8 @@ def get_resources_other_library_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_by_id_serialize( - other_library_id=other_library_id, + _param = self._get_resources_media_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17816,9 +17845,8 @@ def get_resources_other_library_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -17828,9 +17856,9 @@ def get_resources_other_library_by_id_without_preload_content( ) - def _get_resources_other_library_by_id_serialize( + def _get_resources_media_library_upload_file_result_serialize( self, - other_library_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -17850,8 +17878,8 @@ def _get_resources_other_library_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if other_library_id is not None: - _path_params['otherLibraryId'] = other_library_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -17875,7 +17903,7 @@ def _get_resources_other_library_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/other-library/{otherLibraryId}', + resource_path='/api/v2/resources/media-library/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -17892,9 +17920,10 @@ def _get_resources_other_library_by_id_serialize( @validate_call - def get_resources_other_library_content_file( + def get_resources_other_library( self, - other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17907,13 +17936,15 @@ def get_resources_other_library_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_other_library_content_file + ) -> GetResourcesCertificates200Response: + """get_resources_other_library - Get the content of a particular other library file. + Get all the available other library files. - :param other_library_id: The ID of the other library. (required) - :type other_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -17936,8 +17967,9 @@ def get_resources_other_library_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_content_file_serialize( - other_library_id=other_library_id, + _param = self._get_resources_other_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -17945,8 +17977,9 @@ def get_resources_other_library_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -17956,9 +17989,10 @@ def get_resources_other_library_content_file( @validate_call - def get_resources_other_library_content_file_with_http_info( + def get_resources_other_library_with_http_info( self, - other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -17971,13 +18005,15 @@ def get_resources_other_library_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_other_library_content_file + ) -> ApiResponse[GetResourcesCertificates200Response]: + """get_resources_other_library - Get the content of a particular other library file. + Get all the available other library files. - :param other_library_id: The ID of the other library. (required) - :type other_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -18000,8 +18036,9 @@ def get_resources_other_library_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_content_file_serialize( - other_library_id=other_library_id, + _param = self._get_resources_other_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18009,8 +18046,9 @@ def get_resources_other_library_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18020,9 +18058,10 @@ def get_resources_other_library_content_file_with_http_info( @validate_call - def get_resources_other_library_content_file_without_preload_content( + def get_resources_other_library_without_preload_content( self, - other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18036,12 +18075,14 @@ def get_resources_other_library_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_other_library_content_file + """get_resources_other_library - Get the content of a particular other library file. + Get all the available other library files. - :param other_library_id: The ID of the other library. (required) - :type other_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -18064,8 +18105,9 @@ def get_resources_other_library_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_content_file_serialize( - other_library_id=other_library_id, + _param = self._get_resources_other_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18073,8 +18115,9 @@ def get_resources_other_library_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18083,9 +18126,10 @@ def get_resources_other_library_content_file_without_preload_content( ) - def _get_resources_other_library_content_file_serialize( + def _get_resources_other_library_serialize( self, - other_library_id, + take, + skip, _request_auth, _content_type, _headers, @@ -18105,9 +18149,15 @@ def _get_resources_other_library_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if other_library_id is not None: - _path_params['otherLibraryId'] = other_library_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -18117,7 +18167,6 @@ def _get_resources_other_library_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -18131,7 +18180,7 @@ def _get_resources_other_library_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/other-library/{otherLibraryId}/contentFile', + resource_path='/api/v2/resources/other-library', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18148,9 +18197,9 @@ def _get_resources_other_library_content_file_serialize( @validate_call - def get_resources_other_library_upload_file_result( + def get_resources_other_library_by_id( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18163,13 +18212,13 @@ def get_resources_other_library_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_other_library_upload_file_result + ) -> GenericFile: + """get_resources_other_library_by_id - Get the result of the upload file operation. + Get a particular other library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param other_library_id: The ID of the other library. (required) + :type other_library_id: str :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 @@ -18192,8 +18241,8 @@ def get_resources_other_library_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_other_library_by_id_serialize( + other_library_id=other_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18201,8 +18250,9 @@ def get_resources_other_library_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -18213,9 +18263,9 @@ def get_resources_other_library_upload_file_result( @validate_call - def get_resources_other_library_upload_file_result_with_http_info( + def get_resources_other_library_by_id_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18228,13 +18278,13 @@ def get_resources_other_library_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_other_library_upload_file_result + ) -> ApiResponse[GenericFile]: + """get_resources_other_library_by_id - Get the result of the upload file operation. + Get a particular other library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param other_library_id: The ID of the other library. (required) + :type other_library_id: str :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 @@ -18257,8 +18307,8 @@ def get_resources_other_library_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_other_library_by_id_serialize( + other_library_id=other_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18266,8 +18316,9 @@ def get_resources_other_library_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -18278,9 +18329,9 @@ def get_resources_other_library_upload_file_result_with_http_info( @validate_call - def get_resources_other_library_upload_file_result_without_preload_content( + def get_resources_other_library_by_id_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18294,12 +18345,12 @@ def get_resources_other_library_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_other_library_upload_file_result + """get_resources_other_library_by_id - Get the result of the upload file operation. + Get a particular other library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param other_library_id: The ID of the other library. (required) + :type other_library_id: str :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 @@ -18322,8 +18373,8 @@ def get_resources_other_library_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_other_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_other_library_by_id_serialize( + other_library_id=other_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18331,8 +18382,9 @@ def get_resources_other_library_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -18342,9 +18394,9 @@ def get_resources_other_library_upload_file_result_without_preload_content( ) - def _get_resources_other_library_upload_file_result_serialize( + def _get_resources_other_library_by_id_serialize( self, - upload_file_id, + other_library_id, _request_auth, _content_type, _headers, @@ -18364,8 +18416,8 @@ def _get_resources_other_library_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if other_library_id is not None: + _path_params['otherLibraryId'] = other_library_id # process the query parameters # process the header parameters # process the form parameters @@ -18389,7 +18441,7 @@ def _get_resources_other_library_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/other-library/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/other-library/{otherLibraryId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18406,9 +18458,9 @@ def _get_resources_other_library_upload_file_result_serialize( @validate_call - def get_resources_payload_by_id( + def get_resources_other_library_content_file( self, - payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], + other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18421,13 +18473,13 @@ def get_resources_payload_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_payload_by_id + ) -> bytearray: + """get_resources_other_library_content_file - Get a particular payload file. + Get the content of a particular other library file. - :param payload_id: The ID of the payload. (required) - :type payload_id: str + :param other_library_id: The ID of the other library. (required) + :type other_library_id: str :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 @@ -18450,8 +18502,8 @@ def get_resources_payload_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payload_by_id_serialize( - payload_id=payload_id, + _param = self._get_resources_other_library_content_file_serialize( + other_library_id=other_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18459,10 +18511,9 @@ def get_resources_payload_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "bytearray", '401': "ErrorResponse", '404': "ErrorResponse", - '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18472,9 +18523,9 @@ def get_resources_payload_by_id( @validate_call - def get_resources_payload_by_id_with_http_info( + def get_resources_other_library_content_file_with_http_info( self, - payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], + other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18487,13 +18538,13 @@ def get_resources_payload_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_payload_by_id + ) -> ApiResponse[bytearray]: + """get_resources_other_library_content_file - Get a particular payload file. + Get the content of a particular other library file. - :param payload_id: The ID of the payload. (required) - :type payload_id: str + :param other_library_id: The ID of the other library. (required) + :type other_library_id: str :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 @@ -18516,8 +18567,8 @@ def get_resources_payload_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payload_by_id_serialize( - payload_id=payload_id, + _param = self._get_resources_other_library_content_file_serialize( + other_library_id=other_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18525,10 +18576,9 @@ def get_resources_payload_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "bytearray", '401': "ErrorResponse", '404': "ErrorResponse", - '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18538,9 +18588,9 @@ def get_resources_payload_by_id_with_http_info( @validate_call - def get_resources_payload_by_id_without_preload_content( + def get_resources_other_library_content_file_without_preload_content( self, - payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], + other_library_id: Annotated[StrictStr, Field(description="The ID of the other library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18554,12 +18604,12 @@ def get_resources_payload_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_payload_by_id + """get_resources_other_library_content_file - Get a particular payload file. + Get the content of a particular other library file. - :param payload_id: The ID of the payload. (required) - :type payload_id: str + :param other_library_id: The ID of the other library. (required) + :type other_library_id: str :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 @@ -18582,8 +18632,8 @@ def get_resources_payload_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payload_by_id_serialize( - payload_id=payload_id, + _param = self._get_resources_other_library_content_file_serialize( + other_library_id=other_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18591,10 +18641,9 @@ def get_resources_payload_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "bytearray", '401': "ErrorResponse", '404': "ErrorResponse", - '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18603,9 +18652,9 @@ def get_resources_payload_by_id_without_preload_content( ) - def _get_resources_payload_by_id_serialize( + def _get_resources_other_library_content_file_serialize( self, - payload_id, + other_library_id, _request_auth, _content_type, _headers, @@ -18625,8 +18674,8 @@ def _get_resources_payload_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if payload_id is not None: - _path_params['payloadId'] = payload_id + if other_library_id is not None: + _path_params['otherLibraryId'] = other_library_id # process the query parameters # process the header parameters # process the form parameters @@ -18637,6 +18686,7 @@ def _get_resources_payload_by_id_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -18650,7 +18700,7 @@ def _get_resources_payload_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/payloads/{payloadId}', + resource_path='/api/v2/resources/other-library/{otherLibraryId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18667,9 +18717,9 @@ def _get_resources_payload_by_id_serialize( @validate_call - def get_resources_payload_content_file( + def get_resources_other_library_upload_file_result( self, - payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18682,13 +18732,13 @@ def get_resources_payload_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_payload_content_file + ) -> None: + """get_resources_other_library_upload_file_result - Get the content of a particular payload file. + Get the result of the upload file operation. - :param payload_id: The ID of the payload. (required) - :type payload_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -18711,8 +18761,8 @@ def get_resources_payload_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payload_content_file_serialize( - payload_id=payload_id, + _param = self._get_resources_other_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18720,8 +18770,9 @@ def get_resources_payload_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18731,9 +18782,9 @@ def get_resources_payload_content_file( @validate_call - def get_resources_payload_content_file_with_http_info( + def get_resources_other_library_upload_file_result_with_http_info( self, - payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18746,13 +18797,13 @@ def get_resources_payload_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_payload_content_file + ) -> ApiResponse[None]: + """get_resources_other_library_upload_file_result - Get the content of a particular payload file. + Get the result of the upload file operation. - :param payload_id: The ID of the payload. (required) - :type payload_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -18775,8 +18826,8 @@ def get_resources_payload_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payload_content_file_serialize( - payload_id=payload_id, + _param = self._get_resources_other_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18784,8 +18835,9 @@ def get_resources_payload_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18795,9 +18847,9 @@ def get_resources_payload_content_file_with_http_info( @validate_call - def get_resources_payload_content_file_without_preload_content( + def get_resources_other_library_upload_file_result_without_preload_content( self, - payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18811,12 +18863,12 @@ def get_resources_payload_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_payload_content_file + """get_resources_other_library_upload_file_result - Get the content of a particular payload file. + Get the result of the upload file operation. - :param payload_id: The ID of the payload. (required) - :type payload_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -18839,8 +18891,8 @@ def get_resources_payload_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payload_content_file_serialize( - payload_id=payload_id, + _param = self._get_resources_other_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18848,8 +18900,9 @@ def get_resources_payload_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -18858,9 +18911,9 @@ def get_resources_payload_content_file_without_preload_content( ) - def _get_resources_payload_content_file_serialize( + def _get_resources_other_library_upload_file_result_serialize( self, - payload_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -18880,8 +18933,8 @@ def _get_resources_payload_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if payload_id is not None: - _path_params['payloadId'] = payload_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -18892,7 +18945,6 @@ def _get_resources_payload_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -18906,7 +18958,7 @@ def _get_resources_payload_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/payloads/{payloadId}/contentFile', + resource_path='/api/v2/resources/other-library/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -18923,10 +18975,9 @@ def _get_resources_payload_content_file_serialize( @validate_call - def get_resources_payloads( + def get_resources_payload_by_id( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -18939,15 +18990,13 @@ def get_resources_payloads( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetResourcesCertificates200Response: - """get_resources_payloads + ) -> GenericFile: + """get_resources_payload_by_id - Get all the available payload files. + Get a particular payload file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param payload_id: The ID of the payload. (required) + :type payload_id: str :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 @@ -18970,9 +19019,8 @@ def get_resources_payloads( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payloads_serialize( - take=take, - skip=skip, + _param = self._get_resources_payload_by_id_serialize( + payload_id=payload_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -18980,8 +19028,9 @@ def get_resources_payloads( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -18992,10 +19041,9 @@ def get_resources_payloads( @validate_call - def get_resources_payloads_with_http_info( + def get_resources_payload_by_id_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19008,15 +19056,13 @@ def get_resources_payloads_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_payloads + ) -> ApiResponse[GenericFile]: + """get_resources_payload_by_id - Get all the available payload files. + Get a particular payload file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param payload_id: The ID of the payload. (required) + :type payload_id: str :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 @@ -19039,9 +19085,8 @@ def get_resources_payloads_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payloads_serialize( - take=take, - skip=skip, + _param = self._get_resources_payload_by_id_serialize( + payload_id=payload_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19049,8 +19094,9 @@ def get_resources_payloads_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -19061,10 +19107,9 @@ def get_resources_payloads_with_http_info( @validate_call - def get_resources_payloads_without_preload_content( + def get_resources_payload_by_id_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19078,14 +19123,12 @@ def get_resources_payloads_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_payloads + """get_resources_payload_by_id - Get all the available payload files. + Get a particular payload file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param payload_id: The ID of the payload. (required) + :type payload_id: str :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 @@ -19108,9 +19151,8 @@ def get_resources_payloads_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payloads_serialize( - take=take, - skip=skip, + _param = self._get_resources_payload_by_id_serialize( + payload_id=payload_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19118,8 +19160,9 @@ def get_resources_payloads_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -19129,10 +19172,9 @@ def get_resources_payloads_without_preload_content( ) - def _get_resources_payloads_serialize( + def _get_resources_payload_by_id_serialize( self, - take, - skip, + payload_id, _request_auth, _content_type, _headers, @@ -19152,15 +19194,9 @@ def _get_resources_payloads_serialize( _body_params: Optional[bytes] = None # process the path parameters + if payload_id is not None: + _path_params['payloadId'] = payload_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -19183,7 +19219,7 @@ def _get_resources_payloads_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/payloads', + resource_path='/api/v2/resources/payloads/{payloadId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -19200,9 +19236,9 @@ def _get_resources_payloads_serialize( @validate_call - def get_resources_payloads_upload_file_result( + def get_resources_payload_content_file( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19215,13 +19251,13 @@ def get_resources_payloads_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_payloads_upload_file_result + ) -> bytearray: + """get_resources_payload_content_file - Get the result of the upload file operation. + Get the content of a particular payload file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param payload_id: The ID of the payload. (required) + :type payload_id: str :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 @@ -19244,8 +19280,8 @@ def get_resources_payloads_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payloads_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_payload_content_file_serialize( + payload_id=payload_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19253,9 +19289,9 @@ def get_resources_payloads_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -19265,9 +19301,9 @@ def get_resources_payloads_upload_file_result( @validate_call - def get_resources_payloads_upload_file_result_with_http_info( + def get_resources_payload_content_file_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19280,13 +19316,13 @@ def get_resources_payloads_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_payloads_upload_file_result + ) -> ApiResponse[bytearray]: + """get_resources_payload_content_file - Get the result of the upload file operation. + Get the content of a particular payload file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param payload_id: The ID of the payload. (required) + :type payload_id: str :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 @@ -19309,8 +19345,8 @@ def get_resources_payloads_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payloads_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_payload_content_file_serialize( + payload_id=payload_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19318,9 +19354,9 @@ def get_resources_payloads_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -19330,9 +19366,9 @@ def get_resources_payloads_upload_file_result_with_http_info( @validate_call - def get_resources_payloads_upload_file_result_without_preload_content( + def get_resources_payload_content_file_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + payload_id: Annotated[StrictStr, Field(description="The ID of the payload.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19346,12 +19382,12 @@ def get_resources_payloads_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_payloads_upload_file_result + """get_resources_payload_content_file - Get the result of the upload file operation. + Get the content of a particular payload file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param payload_id: The ID of the payload. (required) + :type payload_id: str :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 @@ -19374,8 +19410,8 @@ def get_resources_payloads_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_payloads_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_payload_content_file_serialize( + payload_id=payload_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19383,9 +19419,9 @@ def get_resources_payloads_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -19394,9 +19430,9 @@ def get_resources_payloads_upload_file_result_without_preload_content( ) - def _get_resources_payloads_upload_file_result_serialize( + def _get_resources_payload_content_file_serialize( self, - upload_file_id, + payload_id, _request_auth, _content_type, _headers, @@ -19416,8 +19452,8 @@ def _get_resources_payloads_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if payload_id is not None: + _path_params['payloadId'] = payload_id # process the query parameters # process the header parameters # process the form parameters @@ -19428,6 +19464,7 @@ def _get_resources_payloads_upload_file_result_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -19441,7 +19478,7 @@ def _get_resources_payloads_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/payloads/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/payloads/{payloadId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -19458,9 +19495,10 @@ def _get_resources_payloads_upload_file_result_serialize( @validate_call - def get_resources_pcap_by_id( + def get_resources_payloads( self, - pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19473,13 +19511,15 @@ def get_resources_pcap_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_pcap_by_id + ) -> GetResourcesCertificates200Response: + """get_resources_payloads - Get a particular pcap file. + Get all the available payload files. - :param pcap_id: The ID of the pcap. (required) - :type pcap_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -19502,8 +19542,9 @@ def get_resources_pcap_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcap_by_id_serialize( - pcap_id=pcap_id, + _param = self._get_resources_payloads_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19511,9 +19552,8 @@ def get_resources_pcap_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "GetResourcesCertificates200Response", '401': "ErrorResponse", - '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -19524,9 +19564,10 @@ def get_resources_pcap_by_id( @validate_call - def get_resources_pcap_by_id_with_http_info( + def get_resources_payloads_with_http_info( self, - pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19539,13 +19580,15 @@ def get_resources_pcap_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_pcap_by_id + ) -> ApiResponse[GetResourcesCertificates200Response]: + """get_resources_payloads - Get a particular pcap file. + Get all the available payload files. - :param pcap_id: The ID of the pcap. (required) - :type pcap_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -19568,8 +19611,9 @@ def get_resources_pcap_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcap_by_id_serialize( - pcap_id=pcap_id, + _param = self._get_resources_payloads_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19577,9 +19621,8 @@ def get_resources_pcap_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "GetResourcesCertificates200Response", '401': "ErrorResponse", - '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -19590,9 +19633,10 @@ def get_resources_pcap_by_id_with_http_info( @validate_call - def get_resources_pcap_by_id_without_preload_content( + def get_resources_payloads_without_preload_content( self, - pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19606,12 +19650,14 @@ def get_resources_pcap_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_pcap_by_id + """get_resources_payloads - Get a particular pcap file. + Get all the available payload files. - :param pcap_id: The ID of the pcap. (required) - :type pcap_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -19634,8 +19680,9 @@ def get_resources_pcap_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcap_by_id_serialize( - pcap_id=pcap_id, + _param = self._get_resources_payloads_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19643,9 +19690,8 @@ def get_resources_pcap_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "GetResourcesCertificates200Response", '401': "ErrorResponse", - '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -19655,9 +19701,10 @@ def get_resources_pcap_by_id_without_preload_content( ) - def _get_resources_pcap_by_id_serialize( + def _get_resources_payloads_serialize( self, - pcap_id, + take, + skip, _request_auth, _content_type, _headers, @@ -19677,9 +19724,15 @@ def _get_resources_pcap_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if pcap_id is not None: - _path_params['pcapId'] = pcap_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -19702,7 +19755,7 @@ def _get_resources_pcap_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/pcaps/{pcapId}', + resource_path='/api/v2/resources/payloads', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -19719,9 +19772,9 @@ def _get_resources_pcap_by_id_serialize( @validate_call - def get_resources_pcap_content_file( + def get_resources_payloads_upload_file_result( self, - pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19734,13 +19787,13 @@ def get_resources_pcap_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_pcap_content_file + ) -> None: + """get_resources_payloads_upload_file_result - Get the content of a particular pcap file. + Get the result of the upload file operation. - :param pcap_id: The ID of the pcap. (required) - :type pcap_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -19763,8 +19816,8 @@ def get_resources_pcap_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcap_content_file_serialize( - pcap_id=pcap_id, + _param = self._get_resources_payloads_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19772,8 +19825,9 @@ def get_resources_pcap_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -19783,9 +19837,9 @@ def get_resources_pcap_content_file( @validate_call - def get_resources_pcap_content_file_with_http_info( + def get_resources_payloads_upload_file_result_with_http_info( self, - pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19798,13 +19852,13 @@ def get_resources_pcap_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_pcap_content_file + ) -> ApiResponse[None]: + """get_resources_payloads_upload_file_result - Get the content of a particular pcap file. + Get the result of the upload file operation. - :param pcap_id: The ID of the pcap. (required) - :type pcap_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -19827,8 +19881,8 @@ def get_resources_pcap_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcap_content_file_serialize( - pcap_id=pcap_id, + _param = self._get_resources_payloads_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19836,8 +19890,9 @@ def get_resources_pcap_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -19847,9 +19902,9 @@ def get_resources_pcap_content_file_with_http_info( @validate_call - def get_resources_pcap_content_file_without_preload_content( + def get_resources_payloads_upload_file_result_without_preload_content( self, - pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19863,12 +19918,12 @@ def get_resources_pcap_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_pcap_content_file + """get_resources_payloads_upload_file_result - Get the content of a particular pcap file. + Get the result of the upload file operation. - :param pcap_id: The ID of the pcap. (required) - :type pcap_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -19891,8 +19946,8 @@ def get_resources_pcap_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcap_content_file_serialize( - pcap_id=pcap_id, + _param = self._get_resources_payloads_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -19900,8 +19955,9 @@ def get_resources_pcap_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -19910,9 +19966,9 @@ def get_resources_pcap_content_file_without_preload_content( ) - def _get_resources_pcap_content_file_serialize( + def _get_resources_payloads_upload_file_result_serialize( self, - pcap_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -19932,8 +19988,8 @@ def _get_resources_pcap_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if pcap_id is not None: - _path_params['pcapId'] = pcap_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -19944,7 +20000,6 @@ def _get_resources_pcap_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -19958,7 +20013,7 @@ def _get_resources_pcap_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/pcaps/{pcapId}/contentFile', + resource_path='/api/v2/resources/payloads/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -19975,10 +20030,9 @@ def _get_resources_pcap_content_file_serialize( @validate_call - def get_resources_pcaps( + def get_resources_pcap_by_id( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -19991,15 +20045,13 @@ def get_resources_pcaps( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetResourcesCertificates200Response: - """get_resources_pcaps + ) -> GenericFile: + """get_resources_pcap_by_id - Get all the available pcap files. + Get a particular pcap file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param pcap_id: The ID of the pcap. (required) + :type pcap_id: str :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 @@ -20022,9 +20074,8 @@ def get_resources_pcaps( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcaps_serialize( - take=take, - skip=skip, + _param = self._get_resources_pcap_by_id_serialize( + pcap_id=pcap_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20032,8 +20083,9 @@ def get_resources_pcaps( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -20044,10 +20096,9 @@ def get_resources_pcaps( @validate_call - def get_resources_pcaps_with_http_info( + def get_resources_pcap_by_id_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20060,15 +20111,13 @@ def get_resources_pcaps_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_pcaps + ) -> ApiResponse[GenericFile]: + """get_resources_pcap_by_id - Get all the available pcap files. + Get a particular pcap file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param pcap_id: The ID of the pcap. (required) + :type pcap_id: str :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 @@ -20091,9 +20140,8 @@ def get_resources_pcaps_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcaps_serialize( - take=take, - skip=skip, + _param = self._get_resources_pcap_by_id_serialize( + pcap_id=pcap_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20101,8 +20149,9 @@ def get_resources_pcaps_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -20113,10 +20162,9 @@ def get_resources_pcaps_with_http_info( @validate_call - def get_resources_pcaps_without_preload_content( + def get_resources_pcap_by_id_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20130,14 +20178,12 @@ def get_resources_pcaps_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_pcaps + """get_resources_pcap_by_id - Get all the available pcap files. + Get a particular pcap file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param pcap_id: The ID of the pcap. (required) + :type pcap_id: str :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 @@ -20160,9 +20206,8 @@ def get_resources_pcaps_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcaps_serialize( - take=take, - skip=skip, + _param = self._get_resources_pcap_by_id_serialize( + pcap_id=pcap_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20170,8 +20215,9 @@ def get_resources_pcaps_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "GenericFile", '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -20181,10 +20227,9 @@ def get_resources_pcaps_without_preload_content( ) - def _get_resources_pcaps_serialize( + def _get_resources_pcap_by_id_serialize( self, - take, - skip, + pcap_id, _request_auth, _content_type, _headers, @@ -20204,15 +20249,9 @@ def _get_resources_pcaps_serialize( _body_params: Optional[bytes] = None # process the path parameters + if pcap_id is not None: + _path_params['pcapId'] = pcap_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -20235,7 +20274,7 @@ def _get_resources_pcaps_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/pcaps', + resource_path='/api/v2/resources/pcaps/{pcapId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -20252,9 +20291,9 @@ def _get_resources_pcaps_serialize( @validate_call - def get_resources_pcaps_upload_file_result( + def get_resources_pcap_content_file( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20267,13 +20306,13 @@ def get_resources_pcaps_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_pcaps_upload_file_result + ) -> bytearray: + """get_resources_pcap_content_file - Get the result of the upload file operation. + Get the content of a particular pcap file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param pcap_id: The ID of the pcap. (required) + :type pcap_id: str :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 @@ -20296,8 +20335,8 @@ def get_resources_pcaps_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcaps_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_pcap_content_file_serialize( + pcap_id=pcap_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20305,9 +20344,9 @@ def get_resources_pcaps_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -20317,9 +20356,9 @@ def get_resources_pcaps_upload_file_result( @validate_call - def get_resources_pcaps_upload_file_result_with_http_info( + def get_resources_pcap_content_file_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20332,13 +20371,13 @@ def get_resources_pcaps_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_pcaps_upload_file_result + ) -> ApiResponse[bytearray]: + """get_resources_pcap_content_file - Get the result of the upload file operation. + Get the content of a particular pcap file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param pcap_id: The ID of the pcap. (required) + :type pcap_id: str :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 @@ -20361,8 +20400,8 @@ def get_resources_pcaps_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcaps_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_pcap_content_file_serialize( + pcap_id=pcap_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20370,9 +20409,9 @@ def get_resources_pcaps_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -20382,9 +20421,9 @@ def get_resources_pcaps_upload_file_result_with_http_info( @validate_call - def get_resources_pcaps_upload_file_result_without_preload_content( + def get_resources_pcap_content_file_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + pcap_id: Annotated[StrictStr, Field(description="The ID of the pcap.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20398,12 +20437,12 @@ def get_resources_pcaps_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_pcaps_upload_file_result + """get_resources_pcap_content_file - Get the result of the upload file operation. + Get the content of a particular pcap file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param pcap_id: The ID of the pcap. (required) + :type pcap_id: str :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 @@ -20426,8 +20465,8 @@ def get_resources_pcaps_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_pcaps_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_pcap_content_file_serialize( + pcap_id=pcap_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20435,9 +20474,9 @@ def get_resources_pcaps_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -20446,9 +20485,9 @@ def get_resources_pcaps_upload_file_result_without_preload_content( ) - def _get_resources_pcaps_upload_file_result_serialize( + def _get_resources_pcap_content_file_serialize( self, - upload_file_id, + pcap_id, _request_auth, _content_type, _headers, @@ -20468,8 +20507,8 @@ def _get_resources_pcaps_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if pcap_id is not None: + _path_params['pcapId'] = pcap_id # process the query parameters # process the header parameters # process the form parameters @@ -20480,6 +20519,7 @@ def _get_resources_pcaps_upload_file_result_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -20493,7 +20533,7 @@ def _get_resources_pcaps_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/pcaps/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/pcaps/{pcapId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -20510,9 +20550,10 @@ def _get_resources_pcaps_upload_file_result_serialize( @validate_call - def get_resources_playlist_by_id( + def get_resources_pcaps( self, - playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20525,13 +20566,15 @@ def get_resources_playlist_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_playlist_by_id + ) -> GetResourcesCertificates200Response: + """get_resources_pcaps - Get a particular playlist file. + Get all the available pcap files. - :param playlist_id: The ID of the playlist. (required) - :type playlist_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -20554,8 +20597,9 @@ def get_resources_playlist_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_by_id_serialize( - playlist_id=playlist_id, + _param = self._get_resources_pcaps_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20563,9 +20607,8 @@ def get_resources_playlist_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "GetResourcesCertificates200Response", '401': "ErrorResponse", - '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -20576,9 +20619,10 @@ def get_resources_playlist_by_id( @validate_call - def get_resources_playlist_by_id_with_http_info( + def get_resources_pcaps_with_http_info( self, - playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20591,13 +20635,15 @@ def get_resources_playlist_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_playlist_by_id + ) -> ApiResponse[GetResourcesCertificates200Response]: + """get_resources_pcaps - Get a particular playlist file. + Get all the available pcap files. - :param playlist_id: The ID of the playlist. (required) - :type playlist_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -20620,8 +20666,9 @@ def get_resources_playlist_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_by_id_serialize( - playlist_id=playlist_id, + _param = self._get_resources_pcaps_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20629,9 +20676,8 @@ def get_resources_playlist_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "GetResourcesCertificates200Response", '401': "ErrorResponse", - '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -20642,9 +20688,10 @@ def get_resources_playlist_by_id_with_http_info( @validate_call - def get_resources_playlist_by_id_without_preload_content( + def get_resources_pcaps_without_preload_content( self, - playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20658,12 +20705,14 @@ def get_resources_playlist_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_playlist_by_id + """get_resources_pcaps - Get a particular playlist file. + Get all the available pcap files. - :param playlist_id: The ID of the playlist. (required) - :type playlist_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -20686,8 +20735,9 @@ def get_resources_playlist_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_by_id_serialize( - playlist_id=playlist_id, + _param = self._get_resources_pcaps_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20695,9 +20745,8 @@ def get_resources_playlist_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", + '200': "GetResourcesCertificates200Response", '401': "ErrorResponse", - '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -20707,9 +20756,10 @@ def get_resources_playlist_by_id_without_preload_content( ) - def _get_resources_playlist_by_id_serialize( + def _get_resources_pcaps_serialize( self, - playlist_id, + take, + skip, _request_auth, _content_type, _headers, @@ -20729,9 +20779,15 @@ def _get_resources_playlist_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if playlist_id is not None: - _path_params['playlistId'] = playlist_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -20754,7 +20810,7 @@ def _get_resources_playlist_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/playlists/{playlistId}', + resource_path='/api/v2/resources/pcaps', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -20771,9 +20827,9 @@ def _get_resources_playlist_by_id_serialize( @validate_call - def get_resources_playlist_content_file( + def get_resources_pcaps_upload_file_result( self, - playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20786,13 +20842,13 @@ def get_resources_playlist_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_playlist_content_file + ) -> None: + """get_resources_pcaps_upload_file_result - Get the content of a particular playlist file. + Get the result of the upload file operation. - :param playlist_id: The ID of the playlist. (required) - :type playlist_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -20815,8 +20871,8 @@ def get_resources_playlist_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_content_file_serialize( - playlist_id=playlist_id, + _param = self._get_resources_pcaps_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20824,8 +20880,9 @@ def get_resources_playlist_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -20835,9 +20892,9 @@ def get_resources_playlist_content_file( @validate_call - def get_resources_playlist_content_file_with_http_info( + def get_resources_pcaps_upload_file_result_with_http_info( self, - playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20850,13 +20907,13 @@ def get_resources_playlist_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_playlist_content_file + ) -> ApiResponse[None]: + """get_resources_pcaps_upload_file_result - Get the content of a particular playlist file. + Get the result of the upload file operation. - :param playlist_id: The ID of the playlist. (required) - :type playlist_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -20879,8 +20936,8 @@ def get_resources_playlist_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_content_file_serialize( - playlist_id=playlist_id, + _param = self._get_resources_pcaps_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20888,8 +20945,9 @@ def get_resources_playlist_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -20899,9 +20957,9 @@ def get_resources_playlist_content_file_with_http_info( @validate_call - def get_resources_playlist_content_file_without_preload_content( + def get_resources_pcaps_upload_file_result_without_preload_content( self, - playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -20915,12 +20973,12 @@ def get_resources_playlist_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_playlist_content_file + """get_resources_pcaps_upload_file_result - Get the content of a particular playlist file. + Get the result of the upload file operation. - :param playlist_id: The ID of the playlist. (required) - :type playlist_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -20943,8 +21001,8 @@ def get_resources_playlist_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_content_file_serialize( - playlist_id=playlist_id, + _param = self._get_resources_pcaps_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -20952,8 +21010,9 @@ def get_resources_playlist_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -20962,9 +21021,9 @@ def get_resources_playlist_content_file_without_preload_content( ) - def _get_resources_playlist_content_file_serialize( + def _get_resources_pcaps_upload_file_result_serialize( self, - playlist_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -20984,8 +21043,8 @@ def _get_resources_playlist_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if playlist_id is not None: - _path_params['playlistId'] = playlist_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -20996,7 +21055,6 @@ def _get_resources_playlist_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -21010,7 +21068,7 @@ def _get_resources_playlist_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/playlists/{playlistId}/contentFile', + resource_path='/api/v2/resources/pcaps/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -21027,10 +21085,9 @@ def _get_resources_playlist_content_file_serialize( @validate_call - def get_resources_playlist_values( + def get_resources_playlist_by_id( self, playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], - filter: Annotated[Optional[StrictStr], Field(description="A comma-separated list of colName:rowIdx pairs")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21043,15 +21100,13 @@ def get_resources_playlist_values( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_playlist_values + ) -> GenericFile: + """get_resources_playlist_by_id - Get some specific values from a playlist file. + Get a particular playlist file. :param playlist_id: The ID of the playlist. (required) :type playlist_id: str - :param filter: A comma-separated list of colName:rowIdx pairs - :type filter: str :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 @@ -21074,9 +21129,8 @@ def get_resources_playlist_values( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_values_serialize( + _param = self._get_resources_playlist_by_id_serialize( playlist_id=playlist_id, - filter=filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21084,7 +21138,8 @@ def get_resources_playlist_values( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "GenericFile", + '401': "ErrorResponse", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -21096,10 +21151,9 @@ def get_resources_playlist_values( @validate_call - def get_resources_playlist_values_with_http_info( + def get_resources_playlist_by_id_with_http_info( self, playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], - filter: Annotated[Optional[StrictStr], Field(description="A comma-separated list of colName:rowIdx pairs")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21112,15 +21166,13 @@ def get_resources_playlist_values_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_playlist_values + ) -> ApiResponse[GenericFile]: + """get_resources_playlist_by_id - Get some specific values from a playlist file. + Get a particular playlist file. :param playlist_id: The ID of the playlist. (required) :type playlist_id: str - :param filter: A comma-separated list of colName:rowIdx pairs - :type filter: str :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 @@ -21143,9 +21195,8 @@ def get_resources_playlist_values_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_values_serialize( + _param = self._get_resources_playlist_by_id_serialize( playlist_id=playlist_id, - filter=filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21153,7 +21204,8 @@ def get_resources_playlist_values_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "GenericFile", + '401': "ErrorResponse", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -21165,10 +21217,9 @@ def get_resources_playlist_values_with_http_info( @validate_call - def get_resources_playlist_values_without_preload_content( + def get_resources_playlist_by_id_without_preload_content( self, playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], - filter: Annotated[Optional[StrictStr], Field(description="A comma-separated list of colName:rowIdx pairs")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21182,14 +21233,12 @@ def get_resources_playlist_values_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_playlist_values + """get_resources_playlist_by_id - Get some specific values from a playlist file. + Get a particular playlist file. :param playlist_id: The ID of the playlist. (required) :type playlist_id: str - :param filter: A comma-separated list of colName:rowIdx pairs - :type filter: str :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 @@ -21212,9 +21261,8 @@ def get_resources_playlist_values_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlist_values_serialize( + _param = self._get_resources_playlist_by_id_serialize( playlist_id=playlist_id, - filter=filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21222,7 +21270,8 @@ def get_resources_playlist_values_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "GenericFile", + '401': "ErrorResponse", '404': "ErrorResponse", '500': "ErrorResponse", } @@ -21233,10 +21282,9 @@ def get_resources_playlist_values_without_preload_content( ) - def _get_resources_playlist_values_serialize( + def _get_resources_playlist_by_id_serialize( self, playlist_id, - filter, _request_auth, _content_type, _headers, @@ -21259,10 +21307,6 @@ def _get_resources_playlist_values_serialize( if playlist_id is not None: _path_params['playlistId'] = playlist_id # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - # process the header parameters # process the form parameters # process the body parameter @@ -21285,7 +21329,7 @@ def _get_resources_playlist_values_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/playlists/{playlistId}/values', + resource_path='/api/v2/resources/playlists/{playlistId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -21302,10 +21346,9 @@ def _get_resources_playlist_values_serialize( @validate_call - def get_resources_playlists( + def get_resources_playlist_content_file( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21318,15 +21361,13 @@ def get_resources_playlists( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetResourcesCertificates200Response: - """get_resources_playlists + ) -> bytearray: + """get_resources_playlist_content_file - Get all the available playlist files. + Get the content of a particular playlist file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param playlist_id: The ID of the playlist. (required) + :type playlist_id: str :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 @@ -21349,9 +21390,8 @@ def get_resources_playlists( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlists_serialize( - take=take, - skip=skip, + _param = self._get_resources_playlist_content_file_serialize( + playlist_id=playlist_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21359,9 +21399,9 @@ def get_resources_playlists( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -21371,10 +21411,9 @@ def get_resources_playlists( @validate_call - def get_resources_playlists_with_http_info( + def get_resources_playlist_content_file_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21387,15 +21426,13 @@ def get_resources_playlists_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_playlists + ) -> ApiResponse[bytearray]: + """get_resources_playlist_content_file - Get all the available playlist files. + Get the content of a particular playlist file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param playlist_id: The ID of the playlist. (required) + :type playlist_id: str :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 @@ -21418,9 +21455,8 @@ def get_resources_playlists_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlists_serialize( - take=take, - skip=skip, + _param = self._get_resources_playlist_content_file_serialize( + playlist_id=playlist_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21428,9 +21464,9 @@ def get_resources_playlists_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -21440,10 +21476,9 @@ def get_resources_playlists_with_http_info( @validate_call - def get_resources_playlists_without_preload_content( + def get_resources_playlist_content_file_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21457,14 +21492,12 @@ def get_resources_playlists_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_playlists + """get_resources_playlist_content_file - Get all the available playlist files. + Get the content of a particular playlist file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param playlist_id: The ID of the playlist. (required) + :type playlist_id: str :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 @@ -21487,9 +21520,8 @@ def get_resources_playlists_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlists_serialize( - take=take, - skip=skip, + _param = self._get_resources_playlist_content_file_serialize( + playlist_id=playlist_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21497,9 +21529,9 @@ def get_resources_playlists_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -21508,10 +21540,9 @@ def get_resources_playlists_without_preload_content( ) - def _get_resources_playlists_serialize( + def _get_resources_playlist_content_file_serialize( self, - take, - skip, + playlist_id, _request_auth, _content_type, _headers, @@ -21531,15 +21562,9 @@ def _get_resources_playlists_serialize( _body_params: Optional[bytes] = None # process the path parameters + if playlist_id is not None: + _path_params['playlistId'] = playlist_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -21549,6 +21574,7 @@ def _get_resources_playlists_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -21562,7 +21588,7 @@ def _get_resources_playlists_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/playlists', + resource_path='/api/v2/resources/playlists/{playlistId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -21579,9 +21605,10 @@ def _get_resources_playlists_serialize( @validate_call - def get_resources_playlists_upload_file_result( + def get_resources_playlist_values( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + filter: Annotated[Optional[StrictStr], Field(description="A comma-separated list of colName:rowIdx pairs")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21595,12 +21622,14 @@ def get_resources_playlists_upload_file_result( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """get_resources_playlists_upload_file_result + """get_resources_playlist_values - Get the result of the upload file operation. + Get some specific values from a playlist file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param playlist_id: The ID of the playlist. (required) + :type playlist_id: str + :param filter: A comma-separated list of colName:rowIdx pairs + :type filter: str :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 @@ -21623,8 +21652,9 @@ def get_resources_playlists_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlists_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_playlist_values_serialize( + playlist_id=playlist_id, + filter=filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21633,7 +21663,8 @@ def get_resources_playlists_upload_file_result( _response_types_map: Dict[str, Optional[str]] = { '200': None, - '400': "ErrorResponse", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -21644,9 +21675,10 @@ def get_resources_playlists_upload_file_result( @validate_call - def get_resources_playlists_upload_file_result_with_http_info( + def get_resources_playlist_values_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + filter: Annotated[Optional[StrictStr], Field(description="A comma-separated list of colName:rowIdx pairs")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21660,12 +21692,14 @@ def get_resources_playlists_upload_file_result_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """get_resources_playlists_upload_file_result + """get_resources_playlist_values - Get the result of the upload file operation. + Get some specific values from a playlist file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param playlist_id: The ID of the playlist. (required) + :type playlist_id: str + :param filter: A comma-separated list of colName:rowIdx pairs + :type filter: str :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 @@ -21688,8 +21722,9 @@ def get_resources_playlists_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlists_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_playlist_values_serialize( + playlist_id=playlist_id, + filter=filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21698,7 +21733,8 @@ def get_resources_playlists_upload_file_result_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - '400': "ErrorResponse", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -21709,9 +21745,10 @@ def get_resources_playlists_upload_file_result_with_http_info( @validate_call - def get_resources_playlists_upload_file_result_without_preload_content( + def get_resources_playlist_values_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + playlist_id: Annotated[StrictStr, Field(description="The ID of the playlist.")], + filter: Annotated[Optional[StrictStr], Field(description="A comma-separated list of colName:rowIdx pairs")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -21725,12 +21762,14 @@ def get_resources_playlists_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_playlists_upload_file_result + """get_resources_playlist_values - Get the result of the upload file operation. + Get some specific values from a playlist file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param playlist_id: The ID of the playlist. (required) + :type playlist_id: str + :param filter: A comma-separated list of colName:rowIdx pairs + :type filter: str :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 @@ -21753,8 +21792,9 @@ def get_resources_playlists_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_playlists_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_playlist_values_serialize( + playlist_id=playlist_id, + filter=filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -21763,7 +21803,8 @@ def get_resources_playlists_upload_file_result_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - '400': "ErrorResponse", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -21773,9 +21814,10 @@ def get_resources_playlists_upload_file_result_without_preload_content( ) - def _get_resources_playlists_upload_file_result_serialize( + def _get_resources_playlist_values_serialize( self, - upload_file_id, + playlist_id, + filter, _request_auth, _content_type, _headers, @@ -21795,9 +21837,13 @@ def _get_resources_playlists_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if playlist_id is not None: + _path_params['playlistId'] = playlist_id # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + # process the header parameters # process the form parameters # process the body parameter @@ -21820,7 +21866,7 @@ def _get_resources_playlists_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/playlists/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/playlists/{playlistId}/values', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -21837,7 +21883,7 @@ def _get_resources_playlists_upload_file_result_serialize( @validate_call - def get_resources_sip_library( + def get_resources_playlists( self, take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, @@ -21854,9 +21900,9 @@ def get_resources_sip_library( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> GetResourcesCertificates200Response: - """get_resources_sip_library + """get_resources_playlists - Get all the available sip library files. + Get all the available playlist files. :param take: The number of search results to return :type take: int @@ -21884,7 +21930,7 @@ def get_resources_sip_library( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_serialize( + _param = self._get_resources_playlists_serialize( take=take, skip=skip, _request_auth=_request_auth, @@ -21906,7 +21952,7 @@ def get_resources_sip_library( @validate_call - def get_resources_sip_library_with_http_info( + def get_resources_playlists_with_http_info( self, take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, @@ -21923,9 +21969,9 @@ def get_resources_sip_library_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_sip_library + """get_resources_playlists - Get all the available sip library files. + Get all the available playlist files. :param take: The number of search results to return :type take: int @@ -21953,7 +21999,7 @@ def get_resources_sip_library_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_serialize( + _param = self._get_resources_playlists_serialize( take=take, skip=skip, _request_auth=_request_auth, @@ -21975,7 +22021,7 @@ def get_resources_sip_library_with_http_info( @validate_call - def get_resources_sip_library_without_preload_content( + def get_resources_playlists_without_preload_content( self, take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, @@ -21992,9 +22038,9 @@ def get_resources_sip_library_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_sip_library + """get_resources_playlists - Get all the available sip library files. + Get all the available playlist files. :param take: The number of search results to return :type take: int @@ -22022,7 +22068,7 @@ def get_resources_sip_library_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_serialize( + _param = self._get_resources_playlists_serialize( take=take, skip=skip, _request_auth=_request_auth, @@ -22043,7 +22089,7 @@ def get_resources_sip_library_without_preload_content( ) - def _get_resources_sip_library_serialize( + def _get_resources_playlists_serialize( self, take, skip, @@ -22097,7 +22143,7 @@ def _get_resources_sip_library_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/sip-library', + resource_path='/api/v2/resources/playlists', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -22114,9 +22160,9 @@ def _get_resources_sip_library_serialize( @validate_call - def get_resources_sip_library_by_id( + def get_resources_playlists_upload_file_result( self, - sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22129,13 +22175,13 @@ def get_resources_sip_library_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_sip_library_by_id + ) -> None: + """get_resources_playlists_upload_file_result - Get a particular sip library file. + Get the result of the upload file operation. - :param sip_library_id: The ID of the sip library. (required) - :type sip_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -22158,8 +22204,8 @@ def get_resources_sip_library_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_by_id_serialize( - sip_library_id=sip_library_id, + _param = self._get_resources_playlists_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22167,9 +22213,8 @@ def get_resources_sip_library_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -22180,9 +22225,9 @@ def get_resources_sip_library_by_id( @validate_call - def get_resources_sip_library_by_id_with_http_info( + def get_resources_playlists_upload_file_result_with_http_info( self, - sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22195,13 +22240,13 @@ def get_resources_sip_library_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_sip_library_by_id + ) -> ApiResponse[None]: + """get_resources_playlists_upload_file_result - Get a particular sip library file. + Get the result of the upload file operation. - :param sip_library_id: The ID of the sip library. (required) - :type sip_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -22224,8 +22269,8 @@ def get_resources_sip_library_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_by_id_serialize( - sip_library_id=sip_library_id, + _param = self._get_resources_playlists_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22233,9 +22278,8 @@ def get_resources_sip_library_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -22246,9 +22290,9 @@ def get_resources_sip_library_by_id_with_http_info( @validate_call - def get_resources_sip_library_by_id_without_preload_content( + def get_resources_playlists_upload_file_result_without_preload_content( self, - sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22262,12 +22306,12 @@ def get_resources_sip_library_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_sip_library_by_id + """get_resources_playlists_upload_file_result - Get a particular sip library file. + Get the result of the upload file operation. - :param sip_library_id: The ID of the sip library. (required) - :type sip_library_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -22290,8 +22334,8 @@ def get_resources_sip_library_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_by_id_serialize( - sip_library_id=sip_library_id, + _param = self._get_resources_playlists_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22299,9 +22343,8 @@ def get_resources_sip_library_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -22311,9 +22354,9 @@ def get_resources_sip_library_by_id_without_preload_content( ) - def _get_resources_sip_library_by_id_serialize( + def _get_resources_playlists_upload_file_result_serialize( self, - sip_library_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -22333,8 +22376,8 @@ def _get_resources_sip_library_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if sip_library_id is not None: - _path_params['sipLibraryId'] = sip_library_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -22358,7 +22401,7 @@ def _get_resources_sip_library_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/sip-library/{sipLibraryId}', + resource_path='/api/v2/resources/playlists/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -22375,9 +22418,10 @@ def _get_resources_sip_library_by_id_serialize( @validate_call - def get_resources_sip_library_content_file( + def get_resources_sip_library( self, - sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22390,13 +22434,15 @@ def get_resources_sip_library_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_sip_library_content_file + ) -> GetResourcesCertificates200Response: + """get_resources_sip_library - Get the content of a particular sip library file. + Get all the available sip library files. - :param sip_library_id: The ID of the sip library. (required) - :type sip_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -22419,8 +22465,9 @@ def get_resources_sip_library_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_content_file_serialize( - sip_library_id=sip_library_id, + _param = self._get_resources_sip_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22428,8 +22475,9 @@ def get_resources_sip_library_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -22439,9 +22487,10 @@ def get_resources_sip_library_content_file( @validate_call - def get_resources_sip_library_content_file_with_http_info( + def get_resources_sip_library_with_http_info( self, - sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22454,13 +22503,15 @@ def get_resources_sip_library_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_sip_library_content_file + ) -> ApiResponse[GetResourcesCertificates200Response]: + """get_resources_sip_library - Get the content of a particular sip library file. + Get all the available sip library files. - :param sip_library_id: The ID of the sip library. (required) - :type sip_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -22483,8 +22534,9 @@ def get_resources_sip_library_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_content_file_serialize( - sip_library_id=sip_library_id, + _param = self._get_resources_sip_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22492,8 +22544,9 @@ def get_resources_sip_library_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -22503,9 +22556,10 @@ def get_resources_sip_library_content_file_with_http_info( @validate_call - def get_resources_sip_library_content_file_without_preload_content( + def get_resources_sip_library_without_preload_content( self, - sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22519,12 +22573,14 @@ def get_resources_sip_library_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_sip_library_content_file + """get_resources_sip_library - Get the content of a particular sip library file. + Get all the available sip library files. - :param sip_library_id: The ID of the sip library. (required) - :type sip_library_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -22547,8 +22603,9 @@ def get_resources_sip_library_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_content_file_serialize( - sip_library_id=sip_library_id, + _param = self._get_resources_sip_library_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22556,8 +22613,9 @@ def get_resources_sip_library_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -22566,9 +22624,10 @@ def get_resources_sip_library_content_file_without_preload_content( ) - def _get_resources_sip_library_content_file_serialize( + def _get_resources_sip_library_serialize( self, - sip_library_id, + take, + skip, _request_auth, _content_type, _headers, @@ -22588,9 +22647,15 @@ def _get_resources_sip_library_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if sip_library_id is not None: - _path_params['sipLibraryId'] = sip_library_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -22600,7 +22665,6 @@ def _get_resources_sip_library_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -22614,7 +22678,7 @@ def _get_resources_sip_library_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/sip-library/{sipLibraryId}/contentFile', + resource_path='/api/v2/resources/sip-library', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -22631,9 +22695,9 @@ def _get_resources_sip_library_content_file_serialize( @validate_call - def get_resources_sip_library_upload_file_result( + def get_resources_sip_library_by_id( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22646,13 +22710,13 @@ def get_resources_sip_library_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_sip_library_upload_file_result + ) -> GenericFile: + """get_resources_sip_library_by_id - Get the result of the upload file operation. + Get a particular sip library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param sip_library_id: The ID of the sip library. (required) + :type sip_library_id: str :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 @@ -22675,8 +22739,8 @@ def get_resources_sip_library_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_sip_library_by_id_serialize( + sip_library_id=sip_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22684,8 +22748,9 @@ def get_resources_sip_library_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -22696,9 +22761,9 @@ def get_resources_sip_library_upload_file_result( @validate_call - def get_resources_sip_library_upload_file_result_with_http_info( + def get_resources_sip_library_by_id_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22711,13 +22776,13 @@ def get_resources_sip_library_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_sip_library_upload_file_result + ) -> ApiResponse[GenericFile]: + """get_resources_sip_library_by_id - Get the result of the upload file operation. + Get a particular sip library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param sip_library_id: The ID of the sip library. (required) + :type sip_library_id: str :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 @@ -22740,8 +22805,8 @@ def get_resources_sip_library_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_sip_library_by_id_serialize( + sip_library_id=sip_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22749,8 +22814,9 @@ def get_resources_sip_library_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -22761,9 +22827,9 @@ def get_resources_sip_library_upload_file_result_with_http_info( @validate_call - def get_resources_sip_library_upload_file_result_without_preload_content( + def get_resources_sip_library_by_id_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22777,12 +22843,12 @@ def get_resources_sip_library_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_sip_library_upload_file_result + """get_resources_sip_library_by_id - Get the result of the upload file operation. + Get a particular sip library file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param sip_library_id: The ID of the sip library. (required) + :type sip_library_id: str :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 @@ -22805,8 +22871,8 @@ def get_resources_sip_library_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_sip_library_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_sip_library_by_id_serialize( + sip_library_id=sip_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22814,8 +22880,9 @@ def get_resources_sip_library_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -22825,9 +22892,9 @@ def get_resources_sip_library_upload_file_result_without_preload_content( ) - def _get_resources_sip_library_upload_file_result_serialize( + def _get_resources_sip_library_by_id_serialize( self, - upload_file_id, + sip_library_id, _request_auth, _content_type, _headers, @@ -22847,8 +22914,8 @@ def _get_resources_sip_library_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if sip_library_id is not None: + _path_params['sipLibraryId'] = sip_library_id # process the query parameters # process the header parameters # process the form parameters @@ -22872,7 +22939,7 @@ def _get_resources_sip_library_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/sip-library/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/sip-library/{sipLibraryId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -22889,10 +22956,9 @@ def _get_resources_sip_library_upload_file_result_serialize( @validate_call - def get_resources_stats_profile( + def get_resources_sip_library_content_file( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22905,15 +22971,13 @@ def get_resources_stats_profile( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GetResourcesCertificates200Response: - """get_resources_stats_profile + ) -> bytearray: + """get_resources_sip_library_content_file - Get all the available stats profile files. + Get the content of a particular sip library file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param sip_library_id: The ID of the sip library. (required) + :type sip_library_id: str :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 @@ -22936,9 +23000,8 @@ def get_resources_stats_profile( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_serialize( - take=take, - skip=skip, + _param = self._get_resources_sip_library_content_file_serialize( + sip_library_id=sip_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -22946,9 +23009,9 @@ def get_resources_stats_profile( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -22958,10 +23021,9 @@ def get_resources_stats_profile( @validate_call - def get_resources_stats_profile_with_http_info( + def get_resources_sip_library_content_file_with_http_info( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -22974,15 +23036,13 @@ def get_resources_stats_profile_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GetResourcesCertificates200Response]: - """get_resources_stats_profile + ) -> ApiResponse[bytearray]: + """get_resources_sip_library_content_file - Get all the available stats profile files. + Get the content of a particular sip library file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param sip_library_id: The ID of the sip library. (required) + :type sip_library_id: str :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 @@ -23005,9 +23065,8 @@ def get_resources_stats_profile_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_serialize( - take=take, - skip=skip, + _param = self._get_resources_sip_library_content_file_serialize( + sip_library_id=sip_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23015,9 +23074,9 @@ def get_resources_stats_profile_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -23027,10 +23086,9 @@ def get_resources_stats_profile_with_http_info( @validate_call - def get_resources_stats_profile_without_preload_content( + def get_resources_sip_library_content_file_without_preload_content( self, - take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, - skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + sip_library_id: Annotated[StrictStr, Field(description="The ID of the sip library.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23044,14 +23102,12 @@ def get_resources_stats_profile_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_stats_profile + """get_resources_sip_library_content_file - Get all the available stats profile files. + Get the content of a particular sip library file. - :param take: The number of search results to return - :type take: int - :param skip: The number of search results to skip - :type skip: int + :param sip_library_id: The ID of the sip library. (required) + :type sip_library_id: str :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 @@ -23074,9 +23130,8 @@ def get_resources_stats_profile_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_serialize( - take=take, - skip=skip, + _param = self._get_resources_sip_library_content_file_serialize( + sip_library_id=sip_library_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23084,9 +23139,9 @@ def get_resources_stats_profile_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GetResourcesCertificates200Response", + '200': "bytearray", '401': "ErrorResponse", - '500': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -23095,10 +23150,9 @@ def get_resources_stats_profile_without_preload_content( ) - def _get_resources_stats_profile_serialize( + def _get_resources_sip_library_content_file_serialize( self, - take, - skip, + sip_library_id, _request_auth, _content_type, _headers, @@ -23118,15 +23172,9 @@ def _get_resources_stats_profile_serialize( _body_params: Optional[bytes] = None # process the path parameters + if sip_library_id is not None: + _path_params['sipLibraryId'] = sip_library_id # process the query parameters - if take is not None: - - _query_params.append(('take', take)) - - if skip is not None: - - _query_params.append(('skip', skip)) - # process the header parameters # process the form parameters # process the body parameter @@ -23136,6 +23184,7 @@ def _get_resources_stats_profile_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ + 'application/octet-stream', 'application/json' ] ) @@ -23149,7 +23198,7 @@ def _get_resources_stats_profile_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/stats-profile', + resource_path='/api/v2/resources/sip-library/{sipLibraryId}/contentFile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -23166,9 +23215,9 @@ def _get_resources_stats_profile_serialize( @validate_call - def get_resources_stats_profile_by_id( + def get_resources_sip_library_upload_file_result( self, - stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23181,13 +23230,13 @@ def get_resources_stats_profile_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GenericFile: - """get_resources_stats_profile_by_id + ) -> None: + """get_resources_sip_library_upload_file_result - Get a particular stats profile file. + Get the result of the upload file operation. - :param stats_profile_id: The ID of the stats profile. (required) - :type stats_profile_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -23210,8 +23259,8 @@ def get_resources_stats_profile_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_by_id_serialize( - stats_profile_id=stats_profile_id, + _param = self._get_resources_sip_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23219,9 +23268,8 @@ def get_resources_stats_profile_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -23232,9 +23280,9 @@ def get_resources_stats_profile_by_id( @validate_call - def get_resources_stats_profile_by_id_with_http_info( + def get_resources_sip_library_upload_file_result_with_http_info( self, - stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23247,13 +23295,13 @@ def get_resources_stats_profile_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GenericFile]: - """get_resources_stats_profile_by_id + ) -> ApiResponse[None]: + """get_resources_sip_library_upload_file_result - Get a particular stats profile file. + Get the result of the upload file operation. - :param stats_profile_id: The ID of the stats profile. (required) - :type stats_profile_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -23276,8 +23324,8 @@ def get_resources_stats_profile_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_by_id_serialize( - stats_profile_id=stats_profile_id, + _param = self._get_resources_sip_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23285,9 +23333,8 @@ def get_resources_stats_profile_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -23298,9 +23345,9 @@ def get_resources_stats_profile_by_id_with_http_info( @validate_call - def get_resources_stats_profile_by_id_without_preload_content( + def get_resources_sip_library_upload_file_result_without_preload_content( self, - stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23314,12 +23361,12 @@ def get_resources_stats_profile_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_stats_profile_by_id + """get_resources_sip_library_upload_file_result - Get a particular stats profile file. + Get the result of the upload file operation. - :param stats_profile_id: The ID of the stats profile. (required) - :type stats_profile_id: str + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str :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 @@ -23342,8 +23389,8 @@ def get_resources_stats_profile_by_id_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_by_id_serialize( - stats_profile_id=stats_profile_id, + _param = self._get_resources_sip_library_upload_file_result_serialize( + upload_file_id=upload_file_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23351,9 +23398,8 @@ def get_resources_stats_profile_by_id_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "GenericFile", - '401': "ErrorResponse", - '404': "ErrorResponse", + '200': None, + '400': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -23363,9 +23409,9 @@ def get_resources_stats_profile_by_id_without_preload_content( ) - def _get_resources_stats_profile_by_id_serialize( + def _get_resources_sip_library_upload_file_result_serialize( self, - stats_profile_id, + upload_file_id, _request_auth, _content_type, _headers, @@ -23385,8 +23431,8 @@ def _get_resources_stats_profile_by_id_serialize( _body_params: Optional[bytes] = None # process the path parameters - if stats_profile_id is not None: - _path_params['statsProfileId'] = stats_profile_id + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id # process the query parameters # process the header parameters # process the form parameters @@ -23410,7 +23456,7 @@ def _get_resources_stats_profile_by_id_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/stats-profile/{statsProfileId}', + resource_path='/api/v2/resources/sip-library/operations/uploadFile/{uploadFileId}/result', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -23427,9 +23473,10 @@ def _get_resources_stats_profile_by_id_serialize( @validate_call - def get_resources_stats_profile_content_file( + def get_resources_stats_profile( self, - stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23442,13 +23489,15 @@ def get_resources_stats_profile_content_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """get_resources_stats_profile_content_file + ) -> GetResourcesCertificates200Response: + """get_resources_stats_profile - Get the content of a particular stats profile file. + Get all the available stats profile files. - :param stats_profile_id: The ID of the stats profile. (required) - :type stats_profile_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -23471,8 +23520,9 @@ def get_resources_stats_profile_content_file( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_content_file_serialize( - stats_profile_id=stats_profile_id, + _param = self._get_resources_stats_profile_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23480,8 +23530,9 @@ def get_resources_stats_profile_content_file( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -23491,9 +23542,10 @@ def get_resources_stats_profile_content_file( @validate_call - def get_resources_stats_profile_content_file_with_http_info( + def get_resources_stats_profile_with_http_info( self, - stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23506,13 +23558,15 @@ def get_resources_stats_profile_content_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """get_resources_stats_profile_content_file + ) -> ApiResponse[GetResourcesCertificates200Response]: + """get_resources_stats_profile - Get the content of a particular stats profile file. + Get all the available stats profile files. - :param stats_profile_id: The ID of the stats profile. (required) - :type stats_profile_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -23535,8 +23589,9 @@ def get_resources_stats_profile_content_file_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_content_file_serialize( - stats_profile_id=stats_profile_id, + _param = self._get_resources_stats_profile_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23544,8 +23599,9 @@ def get_resources_stats_profile_content_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -23555,9 +23611,10 @@ def get_resources_stats_profile_content_file_with_http_info( @validate_call - def get_resources_stats_profile_content_file_without_preload_content( + def get_resources_stats_profile_without_preload_content( self, - stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23571,12 +23628,14 @@ def get_resources_stats_profile_content_file_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_stats_profile_content_file + """get_resources_stats_profile - Get the content of a particular stats profile file. + Get all the available stats profile files. - :param stats_profile_id: The ID of the stats profile. (required) - :type stats_profile_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int :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 @@ -23599,8 +23658,9 @@ def get_resources_stats_profile_content_file_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_content_file_serialize( - stats_profile_id=stats_profile_id, + _param = self._get_resources_stats_profile_serialize( + take=take, + skip=skip, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23608,8 +23668,9 @@ def get_resources_stats_profile_content_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - '404': "ErrorResponse", + '200': "GetResourcesCertificates200Response", + '401': "ErrorResponse", + '500': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -23618,9 +23679,10 @@ def get_resources_stats_profile_content_file_without_preload_content( ) - def _get_resources_stats_profile_content_file_serialize( + def _get_resources_stats_profile_serialize( self, - stats_profile_id, + take, + skip, _request_auth, _content_type, _headers, @@ -23640,9 +23702,15 @@ def _get_resources_stats_profile_content_file_serialize( _body_params: Optional[bytes] = None # process the path parameters - if stats_profile_id is not None: - _path_params['statsProfileId'] = stats_profile_id # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + # process the header parameters # process the form parameters # process the body parameter @@ -23652,7 +23720,6 @@ def _get_resources_stats_profile_content_file_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'application/octet-stream', 'application/json' ] ) @@ -23666,7 +23733,7 @@ def _get_resources_stats_profile_content_file_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/stats-profile/{statsProfileId}/contentFile', + resource_path='/api/v2/resources/stats-profile', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -23683,9 +23750,9 @@ def _get_resources_stats_profile_content_file_serialize( @validate_call - def get_resources_stats_profile_upload_file_result( + def get_resources_stats_profile_by_id( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23698,13 +23765,13 @@ def get_resources_stats_profile_upload_file_result( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """get_resources_stats_profile_upload_file_result + ) -> GenericFile: + """get_resources_stats_profile_by_id - Get the result of the upload file operation. + Get a particular stats profile file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param stats_profile_id: The ID of the stats profile. (required) + :type stats_profile_id: str :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 @@ -23727,8 +23794,8 @@ def get_resources_stats_profile_upload_file_result( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_stats_profile_by_id_serialize( + stats_profile_id=stats_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23736,8 +23803,9 @@ def get_resources_stats_profile_upload_file_result( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -23748,9 +23816,9 @@ def get_resources_stats_profile_upload_file_result( @validate_call - def get_resources_stats_profile_upload_file_result_with_http_info( + def get_resources_stats_profile_by_id_with_http_info( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23763,13 +23831,13 @@ def get_resources_stats_profile_upload_file_result_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """get_resources_stats_profile_upload_file_result + ) -> ApiResponse[GenericFile]: + """get_resources_stats_profile_by_id - Get the result of the upload file operation. + Get a particular stats profile file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param stats_profile_id: The ID of the stats profile. (required) + :type stats_profile_id: str :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 @@ -23792,8 +23860,8 @@ def get_resources_stats_profile_upload_file_result_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_stats_profile_by_id_serialize( + stats_profile_id=stats_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23801,8 +23869,9 @@ def get_resources_stats_profile_upload_file_result_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -23813,9 +23882,9 @@ def get_resources_stats_profile_upload_file_result_with_http_info( @validate_call - def get_resources_stats_profile_upload_file_result_without_preload_content( + def get_resources_stats_profile_by_id_without_preload_content( self, - upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23829,12 +23898,12 @@ def get_resources_stats_profile_upload_file_result_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_stats_profile_upload_file_result + """get_resources_stats_profile_by_id - Get the result of the upload file operation. + Get a particular stats profile file. - :param upload_file_id: The ID of the uploadfile. (required) - :type upload_file_id: str + :param stats_profile_id: The ID of the stats profile. (required) + :type stats_profile_id: str :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 @@ -23857,8 +23926,8 @@ def get_resources_stats_profile_upload_file_result_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_stats_profile_upload_file_result_serialize( - upload_file_id=upload_file_id, + _param = self._get_resources_stats_profile_by_id_serialize( + stats_profile_id=stats_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23866,8 +23935,9 @@ def get_resources_stats_profile_upload_file_result_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, - '400': "ErrorResponse", + '200': "GenericFile", + '401': "ErrorResponse", + '404': "ErrorResponse", '500': "ErrorResponse", } return self.api_client.call_api( @@ -23877,9 +23947,9 @@ def get_resources_stats_profile_upload_file_result_without_preload_content( ) - def _get_resources_stats_profile_upload_file_result_serialize( + def _get_resources_stats_profile_by_id_serialize( self, - upload_file_id, + stats_profile_id, _request_auth, _content_type, _headers, @@ -23899,8 +23969,8 @@ def _get_resources_stats_profile_upload_file_result_serialize( _body_params: Optional[bytes] = None # process the path parameters - if upload_file_id is not None: - _path_params['uploadFileId'] = upload_file_id + if stats_profile_id is not None: + _path_params['statsProfileId'] = stats_profile_id # process the query parameters # process the header parameters # process the form parameters @@ -23924,7 +23994,7 @@ def _get_resources_stats_profile_upload_file_result_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/v2/resources/stats-profile/operations/uploadFile/{uploadFileId}/result', + resource_path='/api/v2/resources/stats-profile/{statsProfileId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -23941,9 +24011,9 @@ def _get_resources_stats_profile_upload_file_result_serialize( @validate_call - def get_resources_strike_by_id( + def get_resources_stats_profile_content_file( self, - strike_id: Annotated[StrictStr, Field(description="The ID of the strike.")], + stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -23956,13 +24026,13 @@ def get_resources_strike_by_id( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApplicationType: - """get_resources_strike_by_id + ) -> bytearray: + """get_resources_stats_profile_content_file - Get a particular strike. + Get the content of a particular stats profile file. - :param strike_id: The ID of the strike. (required) - :type strike_id: str + :param stats_profile_id: The ID of the stats profile. (required) + :type stats_profile_id: str :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 @@ -23985,8 +24055,8 @@ def get_resources_strike_by_id( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_strike_by_id_serialize( - strike_id=strike_id, + _param = self._get_resources_stats_profile_content_file_serialize( + stats_profile_id=stats_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -23994,8 +24064,9 @@ def get_resources_strike_by_id( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApplicationType", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -24005,9 +24076,9 @@ def get_resources_strike_by_id( @validate_call - def get_resources_strike_by_id_with_http_info( + def get_resources_stats_profile_content_file_with_http_info( self, - strike_id: Annotated[StrictStr, Field(description="The ID of the strike.")], + stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -24020,13 +24091,13 @@ def get_resources_strike_by_id_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ApplicationType]: - """get_resources_strike_by_id + ) -> ApiResponse[bytearray]: + """get_resources_stats_profile_content_file - Get a particular strike. + Get the content of a particular stats profile file. - :param strike_id: The ID of the strike. (required) - :type strike_id: str + :param stats_profile_id: The ID of the stats profile. (required) + :type stats_profile_id: str :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 @@ -24049,8 +24120,8 @@ def get_resources_strike_by_id_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_resources_strike_by_id_serialize( - strike_id=strike_id, + _param = self._get_resources_stats_profile_content_file_serialize( + stats_profile_id=stats_profile_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -24058,8 +24129,9 @@ def get_resources_strike_by_id_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApplicationType", - '500': "ErrorResponse", + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", } return self.api_client.call_api( *_param, @@ -24069,9 +24141,9 @@ def get_resources_strike_by_id_with_http_info( @validate_call - def get_resources_strike_by_id_without_preload_content( + def get_resources_stats_profile_content_file_without_preload_content( self, - strike_id: Annotated[StrictStr, Field(description="The ID of the strike.")], + stats_profile_id: Annotated[StrictStr, Field(description="The ID of the stats profile.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -24085,12 +24157,527 @@ def get_resources_strike_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_resources_strike_by_id + """get_resources_stats_profile_content_file - Get a particular strike. + Get the content of a particular stats profile file. - :param strike_id: The ID of the strike. (required) - :type strike_id: str + :param stats_profile_id: The ID of the stats profile. (required) + :type stats_profile_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_resources_stats_profile_content_file_serialize( + stats_profile_id=stats_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + '401': "ErrorResponse", + '404': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_resources_stats_profile_content_file_serialize( + self, + stats_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_profile_id is not None: + _path_params['statsProfileId'] = stats_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/octet-stream', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/resources/stats-profile/{statsProfileId}/contentFile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_resources_stats_profile_upload_file_result( + self, + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """get_resources_stats_profile_upload_file_result + + Get the result of the upload file operation. + + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_resources_stats_profile_upload_file_result_serialize( + upload_file_id=upload_file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_resources_stats_profile_upload_file_result_with_http_info( + self, + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """get_resources_stats_profile_upload_file_result + + Get the result of the upload file operation. + + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_resources_stats_profile_upload_file_result_serialize( + upload_file_id=upload_file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_resources_stats_profile_upload_file_result_without_preload_content( + self, + upload_file_id: Annotated[StrictStr, Field(description="The ID of the uploadfile.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_resources_stats_profile_upload_file_result + + Get the result of the upload file operation. + + :param upload_file_id: The ID of the uploadfile. (required) + :type upload_file_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_resources_stats_profile_upload_file_result_serialize( + upload_file_id=upload_file_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '400': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_resources_stats_profile_upload_file_result_serialize( + self, + upload_file_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if upload_file_id is not None: + _path_params['uploadFileId'] = upload_file_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/resources/stats-profile/operations/uploadFile/{uploadFileId}/result', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_resources_strike_by_id( + self, + strike_id: Annotated[StrictStr, Field(description="The ID of the strike.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApplicationType: + """get_resources_strike_by_id + + Get a particular strike. + + :param strike_id: The ID of the strike. (required) + :type strike_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_resources_strike_by_id_serialize( + strike_id=strike_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApplicationType", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_resources_strike_by_id_with_http_info( + self, + strike_id: Annotated[StrictStr, Field(description="The ID of the strike.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ApplicationType]: + """get_resources_strike_by_id + + Get a particular strike. + + :param strike_id: The ID of the strike. (required) + :type strike_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_resources_strike_by_id_serialize( + strike_id=strike_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApplicationType", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_resources_strike_by_id_without_preload_content( + self, + strike_id: Annotated[StrictStr, Field(description="The ID of the strike.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_resources_strike_by_id + + Get a particular strike. + + :param strike_id: The ID of the strike. (required) + :type strike_id: str :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 @@ -25161,6 +25748,7 @@ def get_resources_tls_certificate_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -25225,6 +25813,7 @@ def get_resources_tls_certificate_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -25289,6 +25878,7 @@ def get_resources_tls_certificate_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -26213,6 +26803,7 @@ def get_resources_tls_dh_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -26277,6 +26868,7 @@ def get_resources_tls_dh_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -26341,6 +26933,7 @@ def get_resources_tls_dh_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -27265,6 +27858,7 @@ def get_resources_tls_key_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -27329,6 +27923,7 @@ def get_resources_tls_key_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -27393,6 +27988,7 @@ def get_resources_tls_key_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -28846,6 +29442,7 @@ def get_resources_voice_custom_flow_content_file( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -28910,6 +29507,7 @@ def get_resources_voice_custom_flow_content_file_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -28974,6 +29572,7 @@ def get_resources_voice_custom_flow_content_file_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bytearray", + '401': "ErrorResponse", '404': "ErrorResponse", } return self.api_client.call_api( @@ -30417,7 +31016,8 @@ def _start_resources_captures_batch_delete_serialize( @validate_call def start_resources_captures_encrypted_upload_file( self, - file: Optional[Union[StrictBytes, StrictStr]] = None, + file: Union[StrictBytes, StrictStr], + ssl_key_log_file: Union[StrictBytes, StrictStr], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -30430,13 +31030,15 @@ def start_resources_captures_encrypted_upload_file( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> AsyncContext: """start_resources_captures_encrypted_upload_file Upload a file. - :param file: + :param file: (required) :type file: bytearray + :param ssl_key_log_file: (required) + :type ssl_key_log_file: bytearray :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 @@ -30461,6 +31063,7 @@ def start_resources_captures_encrypted_upload_file( _param = self._start_resources_captures_encrypted_upload_file_serialize( file=file, + ssl_key_log_file=ssl_key_log_file, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -30468,7 +31071,7 @@ def start_resources_captures_encrypted_upload_file( ) _response_types_map: Dict[str, Optional[str]] = { - '202': None, + '202': "AsyncContext", '500': "ErrorResponse", } return self.api_client.call_api( @@ -30481,7 +31084,8 @@ def start_resources_captures_encrypted_upload_file( @validate_call def start_resources_captures_encrypted_upload_file_with_http_info( self, - file: Optional[Union[StrictBytes, StrictStr]] = None, + file: Union[StrictBytes, StrictStr], + ssl_key_log_file: Union[StrictBytes, StrictStr], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -30494,13 +31098,15 @@ def start_resources_captures_encrypted_upload_file_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[AsyncContext]: """start_resources_captures_encrypted_upload_file Upload a file. - :param file: + :param file: (required) :type file: bytearray + :param ssl_key_log_file: (required) + :type ssl_key_log_file: bytearray :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 @@ -30525,6 +31131,7 @@ def start_resources_captures_encrypted_upload_file_with_http_info( _param = self._start_resources_captures_encrypted_upload_file_serialize( file=file, + ssl_key_log_file=ssl_key_log_file, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -30532,7 +31139,7 @@ def start_resources_captures_encrypted_upload_file_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '202': None, + '202': "AsyncContext", '500': "ErrorResponse", } return self.api_client.call_api( @@ -30545,7 +31152,8 @@ def start_resources_captures_encrypted_upload_file_with_http_info( @validate_call def start_resources_captures_encrypted_upload_file_without_preload_content( self, - file: Optional[Union[StrictBytes, StrictStr]] = None, + file: Union[StrictBytes, StrictStr], + ssl_key_log_file: Union[StrictBytes, StrictStr], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -30563,8 +31171,10 @@ def start_resources_captures_encrypted_upload_file_without_preload_content( Upload a file. - :param file: + :param file: (required) :type file: bytearray + :param ssl_key_log_file: (required) + :type ssl_key_log_file: bytearray :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 @@ -30589,6 +31199,7 @@ def start_resources_captures_encrypted_upload_file_without_preload_content( _param = self._start_resources_captures_encrypted_upload_file_serialize( file=file, + ssl_key_log_file=ssl_key_log_file, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -30596,7 +31207,7 @@ def start_resources_captures_encrypted_upload_file_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '202': None, + '202': "AsyncContext", '500': "ErrorResponse", } return self.api_client.call_api( @@ -30609,6 +31220,7 @@ def start_resources_captures_encrypted_upload_file_without_preload_content( def _start_resources_captures_encrypted_upload_file_serialize( self, file, + ssl_key_log_file, _request_auth, _content_type, _headers, @@ -30633,6 +31245,8 @@ def _start_resources_captures_encrypted_upload_file_serialize( # process the form parameters if file is not None: _files['file'] = file + if ssl_key_log_file is not None: + _files['sslKeyLogFile'] = ssl_key_log_file # process the body parameter @@ -33069,7 +33683,7 @@ def _start_resources_get_app_categories_serialize( @validate_call def start_resources_get_apps( self, - get_apps_operation: Optional[GetAppsOperation] = None, + get_scenarios_operation: Optional[GetScenariosOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -33087,8 +33701,8 @@ def start_resources_get_apps( Get the list of applications - :param get_apps_operation: - :type get_apps_operation: GetAppsOperation + :param get_scenarios_operation: + :type get_scenarios_operation: GetScenariosOperation :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 @@ -33112,7 +33726,7 @@ def start_resources_get_apps( """ # noqa: E501 _param = self._start_resources_get_apps_serialize( - get_apps_operation=get_apps_operation, + get_scenarios_operation=get_scenarios_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -33132,7 +33746,7 @@ def start_resources_get_apps( @validate_call def start_resources_get_apps_with_http_info( self, - get_apps_operation: Optional[GetAppsOperation] = None, + get_scenarios_operation: Optional[GetScenariosOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -33150,8 +33764,8 @@ def start_resources_get_apps_with_http_info( Get the list of applications - :param get_apps_operation: - :type get_apps_operation: GetAppsOperation + :param get_scenarios_operation: + :type get_scenarios_operation: GetScenariosOperation :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 @@ -33175,7 +33789,7 @@ def start_resources_get_apps_with_http_info( """ # noqa: E501 _param = self._start_resources_get_apps_serialize( - get_apps_operation=get_apps_operation, + get_scenarios_operation=get_scenarios_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -33195,7 +33809,7 @@ def start_resources_get_apps_with_http_info( @validate_call def start_resources_get_apps_without_preload_content( self, - get_apps_operation: Optional[GetAppsOperation] = None, + get_scenarios_operation: Optional[GetScenariosOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -33213,8 +33827,8 @@ def start_resources_get_apps_without_preload_content( Get the list of applications - :param get_apps_operation: - :type get_apps_operation: GetAppsOperation + :param get_scenarios_operation: + :type get_scenarios_operation: GetScenariosOperation :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 @@ -33238,7 +33852,7 @@ def start_resources_get_apps_without_preload_content( """ # noqa: E501 _param = self._start_resources_get_apps_serialize( - get_apps_operation=get_apps_operation, + get_scenarios_operation=get_scenarios_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -33257,7 +33871,7 @@ def start_resources_get_apps_without_preload_content( def _start_resources_get_apps_serialize( self, - get_apps_operation, + get_scenarios_operation, _request_auth, _content_type, _headers, @@ -33281,8 +33895,8 @@ def _start_resources_get_apps_serialize( # process the header parameters # process the form parameters # process the body parameter - if get_apps_operation is not None: - _body_params = get_apps_operation + if get_scenarios_operation is not None: + _body_params = get_scenarios_operation # set the HTTP header `Accept` @@ -33599,7 +34213,7 @@ def _start_resources_get_attack_categories_serialize( @validate_call def start_resources_get_attacks( self, - get_attacks_operation: Optional[GetAttacksOperation] = None, + get_scenarios_operation: Optional[GetScenariosOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -33617,8 +34231,8 @@ def start_resources_get_attacks( Get the list of attacks - :param get_attacks_operation: - :type get_attacks_operation: GetAttacksOperation + :param get_scenarios_operation: + :type get_scenarios_operation: GetScenariosOperation :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 @@ -33642,7 +34256,7 @@ def start_resources_get_attacks( """ # noqa: E501 _param = self._start_resources_get_attacks_serialize( - get_attacks_operation=get_attacks_operation, + get_scenarios_operation=get_scenarios_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -33662,7 +34276,7 @@ def start_resources_get_attacks( @validate_call def start_resources_get_attacks_with_http_info( self, - get_attacks_operation: Optional[GetAttacksOperation] = None, + get_scenarios_operation: Optional[GetScenariosOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -33680,8 +34294,8 @@ def start_resources_get_attacks_with_http_info( Get the list of attacks - :param get_attacks_operation: - :type get_attacks_operation: GetAttacksOperation + :param get_scenarios_operation: + :type get_scenarios_operation: GetScenariosOperation :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 @@ -33705,7 +34319,7 @@ def start_resources_get_attacks_with_http_info( """ # noqa: E501 _param = self._start_resources_get_attacks_serialize( - get_attacks_operation=get_attacks_operation, + get_scenarios_operation=get_scenarios_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -33725,7 +34339,7 @@ def start_resources_get_attacks_with_http_info( @validate_call def start_resources_get_attacks_without_preload_content( self, - get_attacks_operation: Optional[GetAttacksOperation] = None, + get_scenarios_operation: Optional[GetScenariosOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -33743,8 +34357,8 @@ def start_resources_get_attacks_without_preload_content( Get the list of attacks - :param get_attacks_operation: - :type get_attacks_operation: GetAttacksOperation + :param get_scenarios_operation: + :type get_scenarios_operation: GetScenariosOperation :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 @@ -33768,7 +34382,7 @@ def start_resources_get_attacks_without_preload_content( """ # noqa: E501 _param = self._start_resources_get_attacks_serialize( - get_attacks_operation=get_attacks_operation, + get_scenarios_operation=get_scenarios_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -33787,7 +34401,7 @@ def start_resources_get_attacks_without_preload_content( def _start_resources_get_attacks_serialize( self, - get_attacks_operation, + get_scenarios_operation, _request_auth, _content_type, _headers, @@ -33811,8 +34425,8 @@ def _start_resources_get_attacks_serialize( # process the header parameters # process the form parameters # process the body parameter - if get_attacks_operation is not None: - _body_params = get_attacks_operation + if get_scenarios_operation is not None: + _body_params = get_scenarios_operation # set the HTTP header `Accept` diff --git a/cyperf/api/authorization_api.py b/cyperf/api/authorization_api.py index 37b7b39..a218b54 100644 --- a/cyperf/api/authorization_api.py +++ b/cyperf/api/authorization_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/brokers_api.py b/cyperf/api/brokers_api.py index 2c39111..f88ba43 100644 --- a/cyperf/api/brokers_api.py +++ b/cyperf/api/brokers_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/configurations_api.py b/cyperf/api/configurations_api.py index 62830e7..63b9afe 100644 --- a/cyperf/api/configurations_api.py +++ b/cyperf/api/configurations_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/dashboards_api.py b/cyperf/api/dashboards_api.py new file mode 100644 index 0000000..6d7df3c --- /dev/null +++ b/cyperf/api/dashboards_api.py @@ -0,0 +1,2501 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from cyperf.models.async_context import AsyncContext +from cyperf.models.change_event import ChangeEvent +from cyperf.models.convert_dashboards_operation import ConvertDashboardsOperation +from cyperf.models.get_stats_dashboard_changes200_response import GetStatsDashboardChanges200Response +from cyperf.models.get_stats_dashboards200_response import GetStatsDashboards200Response +from cyperf.models.metrics_list import MetricsList +from cyperf.models.stats_dashboard import StatsDashboard + +from cyperf import DynamicModel +from cyperf.api_client import ApiClient, RequestSerialized +from cyperf.api_response import ApiResponse +from cyperf.rest import RESTResponseType + + +class DashboardsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_stats_dashboard_changes( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + stats_dashboard_changes: Optional[List[ChangeEvent]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[ChangeEvent]: + """create_stats_dashboard_changes + + Register a change event. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param stats_dashboard_changes: + :type stats_dashboard_changes: List[ChangeEvent] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stats_dashboard_changes_serialize( + stats_dashboard_id=stats_dashboard_id, + stats_dashboard_changes=stats_dashboard_changes, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "List[ChangeEvent]", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def create_stats_dashboard_changes_with_http_info( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + stats_dashboard_changes: Optional[List[ChangeEvent]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[ChangeEvent]]: + """create_stats_dashboard_changes + + Register a change event. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param stats_dashboard_changes: + :type stats_dashboard_changes: List[ChangeEvent] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stats_dashboard_changes_serialize( + stats_dashboard_id=stats_dashboard_id, + stats_dashboard_changes=stats_dashboard_changes, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "List[ChangeEvent]", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def create_stats_dashboard_changes_without_preload_content( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + stats_dashboard_changes: Optional[List[ChangeEvent]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """create_stats_dashboard_changes + + Register a change event. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param stats_dashboard_changes: + :type stats_dashboard_changes: List[ChangeEvent] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stats_dashboard_changes_serialize( + stats_dashboard_id=stats_dashboard_id, + stats_dashboard_changes=stats_dashboard_changes, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "List[ChangeEvent]", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _create_stats_dashboard_changes_serialize( + self, + stats_dashboard_id, + stats_dashboard_changes, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statsDashboardChanges': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_dashboard_id is not None: + _path_params['statsDashboardId'] = stats_dashboard_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if stats_dashboard_changes is not None: + _body_params = stats_dashboard_changes + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/stats-dashboards/{statsDashboardId}/changes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_stats_dashboards( + self, + stats_dashboards: Optional[List[StatsDashboard]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[StatsDashboard]: + """create_stats_dashboards + + Add a new dashboard. + + :param stats_dashboards: + :type stats_dashboards: List[StatsDashboard] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stats_dashboards_serialize( + stats_dashboards=stats_dashboards, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "List[StatsDashboard]", + '409': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def create_stats_dashboards_with_http_info( + self, + stats_dashboards: Optional[List[StatsDashboard]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[StatsDashboard]]: + """create_stats_dashboards + + Add a new dashboard. + + :param stats_dashboards: + :type stats_dashboards: List[StatsDashboard] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stats_dashboards_serialize( + stats_dashboards=stats_dashboards, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "List[StatsDashboard]", + '409': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def create_stats_dashboards_without_preload_content( + self, + stats_dashboards: Optional[List[StatsDashboard]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """create_stats_dashboards + + Add a new dashboard. + + :param stats_dashboards: + :type stats_dashboards: List[StatsDashboard] + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stats_dashboards_serialize( + stats_dashboards=stats_dashboards, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "List[StatsDashboard]", + '409': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _create_stats_dashboards_serialize( + self, + stats_dashboards, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statsDashboards': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if stats_dashboards is not None: + _body_params = stats_dashboards + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/stats-dashboards', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_stats_dashboard( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """delete_stats_dashboard + + Delete a particular dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_stats_dashboard_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def delete_stats_dashboard_with_http_info( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """delete_stats_dashboard + + Delete a particular dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_stats_dashboard_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def delete_stats_dashboard_without_preload_content( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """delete_stats_dashboard + + Delete a particular dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_stats_dashboard_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _delete_stats_dashboard_serialize( + self, + stats_dashboard_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_dashboard_id is not None: + _path_params['statsDashboardId'] = stats_dashboard_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/v2/stats-dashboards/{statsDashboardId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_stats_dashboard_by_id( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> StatsDashboard: + """get_stats_dashboard_by_id + + Get a particular dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_by_id_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatsDashboard", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboard_by_id_with_http_info( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[StatsDashboard]: + """get_stats_dashboard_by_id + + Get a particular dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_by_id_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatsDashboard", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboard_by_id_without_preload_content( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_stats_dashboard_by_id + + Get a particular dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_by_id_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatsDashboard", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_stats_dashboard_by_id_serialize( + self, + stats_dashboard_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_dashboard_id is not None: + _path_params['statsDashboardId'] = stats_dashboard_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/stats-dashboards/{statsDashboardId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_stats_dashboard_changes( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetStatsDashboardChanges200Response: + """get_stats_dashboard_changes + + Get the list of change events. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_changes_serialize( + stats_dashboard_id=stats_dashboard_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetStatsDashboardChanges200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboard_changes_with_http_info( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetStatsDashboardChanges200Response]: + """get_stats_dashboard_changes + + Get the list of change events. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_changes_serialize( + stats_dashboard_id=stats_dashboard_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetStatsDashboardChanges200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboard_changes_without_preload_content( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_stats_dashboard_changes + + Get the list of change events. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_changes_serialize( + stats_dashboard_id=stats_dashboard_id, + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetStatsDashboardChanges200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_stats_dashboard_changes_serialize( + self, + stats_dashboard_id, + take, + skip, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_dashboard_id is not None: + _path_params['statsDashboardId'] = stats_dashboard_id + # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/stats-dashboards/{statsDashboardId}/changes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_stats_dashboard_metrics( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MetricsList: + """get_stats_dashboard_metrics + + Get the list of metrics. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_metrics_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MetricsList", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboard_metrics_with_http_info( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[MetricsList]: + """get_stats_dashboard_metrics + + Get the list of metrics. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_metrics_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MetricsList", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboard_metrics_without_preload_content( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_stats_dashboard_metrics + + Get the list of metrics. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboard_metrics_serialize( + stats_dashboard_id=stats_dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MetricsList", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_stats_dashboard_metrics_serialize( + self, + stats_dashboard_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_dashboard_id is not None: + _path_params['statsDashboardId'] = stats_dashboard_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/stats-dashboards/{statsDashboardId}/metrics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_stats_dashboards( + self, + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetStatsDashboards200Response: + """get_stats_dashboards + + Get all the dashboards. + + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboards_serialize( + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetStatsDashboards200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboards_with_http_info( + self, + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetStatsDashboards200Response]: + """get_stats_dashboards + + Get all the dashboards. + + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboards_serialize( + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetStatsDashboards200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def get_stats_dashboards_without_preload_content( + self, + take: Annotated[Optional[StrictInt], Field(description="The number of search results to return")] = None, + skip: Annotated[Optional[StrictInt], Field(description="The number of search results to skip")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """get_stats_dashboards + + Get all the dashboards. + + :param take: The number of search results to return + :type take: int + :param skip: The number of search results to skip + :type skip: int + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_stats_dashboards_serialize( + take=take, + skip=skip, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetStatsDashboards200Response", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _get_stats_dashboards_serialize( + self, + take, + skip, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if take is not None: + + _query_params.append(('take', take)) + + if skip is not None: + + _query_params.append(('skip', skip)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v2/stats-dashboards', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + + + + + + + + + + + @validate_call + def start_stats_dashboards_convert( + self, + convert_dashboards_operation: Optional[ConvertDashboardsOperation] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AsyncContext: + """start_stats_dashboards_convert + + Converts dashboards to specified types of results. + + :param convert_dashboards_operation: + :type convert_dashboards_operation: ConvertDashboardsOperation + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_stats_dashboards_convert_serialize( + convert_dashboards_operation=convert_dashboards_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def start_stats_dashboards_convert_with_http_info( + self, + convert_dashboards_operation: Optional[ConvertDashboardsOperation] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AsyncContext]: + """start_stats_dashboards_convert + + Converts dashboards to specified types of results. + + :param convert_dashboards_operation: + :type convert_dashboards_operation: ConvertDashboardsOperation + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_stats_dashboards_convert_serialize( + convert_dashboards_operation=convert_dashboards_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def start_stats_dashboards_convert_without_preload_content( + self, + convert_dashboards_operation: Optional[ConvertDashboardsOperation] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """start_stats_dashboards_convert + + Converts dashboards to specified types of results. + + :param convert_dashboards_operation: + :type convert_dashboards_operation: ConvertDashboardsOperation + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_stats_dashboards_convert_serialize( + convert_dashboards_operation=convert_dashboards_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "AsyncContext", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _start_stats_dashboards_convert_serialize( + self, + convert_dashboards_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if convert_dashboards_operation is not None: + _body_params = convert_dashboards_operation + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v2/stats-dashboards/operations/convert', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_stats_dashboard( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + stats_dashboard: Optional[StatsDashboard] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> StatsDashboard: + """update_stats_dashboard + + Update a dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param stats_dashboard: + :type stats_dashboard: StatsDashboard + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_stats_dashboard_serialize( + stats_dashboard_id=stats_dashboard_id, + stats_dashboard=stats_dashboard, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatsDashboard", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def update_stats_dashboard_with_http_info( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + stats_dashboard: Optional[StatsDashboard] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[StatsDashboard]: + """update_stats_dashboard + + Update a dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param stats_dashboard: + :type stats_dashboard: StatsDashboard + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_stats_dashboard_serialize( + stats_dashboard_id=stats_dashboard_id, + stats_dashboard=stats_dashboard, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatsDashboard", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=_response_types_map, + _request_timeout=_request_timeout + ) + + + @validate_call + def update_stats_dashboard_without_preload_content( + self, + stats_dashboard_id: Annotated[StrictStr, Field(description="The ID of the stats dashboard.")], + stats_dashboard: Optional[StatsDashboard] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """update_stats_dashboard + + Update a dashboard. + + :param stats_dashboard_id: The ID of the stats dashboard. (required) + :type stats_dashboard_id: str + :param stats_dashboard: + :type stats_dashboard: StatsDashboard + :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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_stats_dashboard_serialize( + stats_dashboard_id=stats_dashboard_id, + stats_dashboard=stats_dashboard, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatsDashboard", + '403': "ErrorResponse", + '500': "ErrorResponse", + } + return self.api_client.call_api( + *_param, + _response_types_map=None, + _request_timeout=_request_timeout + ) + + + def _update_stats_dashboard_serialize( + self, + stats_dashboard_id, + stats_dashboard, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if stats_dashboard_id is not None: + _path_params['statsDashboardId'] = stats_dashboard_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if stats_dashboard is not None: + _body_params = stats_dashboard + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'OAuth2', + 'OAuth2' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/v2/stats-dashboards/{statsDashboardId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/cyperf/api/data_migration_api.py b/cyperf/api/data_migration_api.py index 674238c..e22dd09 100644 --- a/cyperf/api/data_migration_api.py +++ b/cyperf/api/data_migration_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -17,8 +17,8 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictInt -from typing import Optional +from pydantic import Field, StrictBytes, StrictInt, StrictStr +from typing import Optional, Union from typing_extensions import Annotated from cyperf.models.async_context import AsyncContext from cyperf.models.export_package_operation import ExportPackageOperation @@ -330,6 +330,7 @@ def _start_controller_migration_export_serialize( @validate_call def start_controller_migration_import( self, + file: Optional[Union[StrictBytes, StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -347,6 +348,8 @@ def start_controller_migration_import( Import the data from the supplied package into the controller. + :param file: + :type file: bytearray :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 @@ -370,6 +373,7 @@ def start_controller_migration_import( """ # noqa: E501 _param = self._start_controller_migration_import_serialize( + file=file, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -389,6 +393,7 @@ def start_controller_migration_import( @validate_call def start_controller_migration_import_with_http_info( self, + file: Optional[Union[StrictBytes, StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -406,6 +411,8 @@ def start_controller_migration_import_with_http_info( Import the data from the supplied package into the controller. + :param file: + :type file: bytearray :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 @@ -429,6 +436,7 @@ def start_controller_migration_import_with_http_info( """ # noqa: E501 _param = self._start_controller_migration_import_serialize( + file=file, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -448,6 +456,7 @@ def start_controller_migration_import_with_http_info( @validate_call def start_controller_migration_import_without_preload_content( self, + file: Optional[Union[StrictBytes, StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -465,6 +474,8 @@ def start_controller_migration_import_without_preload_content( Import the data from the supplied package into the controller. + :param file: + :type file: bytearray :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 @@ -488,6 +499,7 @@ def start_controller_migration_import_without_preload_content( """ # noqa: E501 _param = self._start_controller_migration_import_serialize( + file=file, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -506,6 +518,7 @@ def start_controller_migration_import_without_preload_content( def _start_controller_migration_import_serialize( self, + file, _request_auth, _content_type, _headers, @@ -528,6 +541,8 @@ def _start_controller_migration_import_serialize( # process the query parameters # process the header parameters # process the form parameters + if file is not None: + _files['file'] = file # process the body parameter @@ -539,6 +554,19 @@ def _start_controller_migration_import_serialize( ] ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ diff --git a/cyperf/api/diagnostics_api.py b/cyperf/api/diagnostics_api.py index 5a59367..309dd92 100644 --- a/cyperf/api/diagnostics_api.py +++ b/cyperf/api/diagnostics_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/license_servers_api.py b/cyperf/api/license_servers_api.py index a45eb7a..d309cd0 100644 --- a/cyperf/api/license_servers_api.py +++ b/cyperf/api/license_servers_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/licensing_api.py b/cyperf/api/licensing_api.py index ba1a2c5..65ec6af 100644 --- a/cyperf/api/licensing_api.py +++ b/cyperf/api/licensing_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/notifications_api.py b/cyperf/api/notifications_api.py index aa99ac0..efd9d02 100644 --- a/cyperf/api/notifications_api.py +++ b/cyperf/api/notifications_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -21,6 +21,7 @@ from typing import Optional from typing_extensions import Annotated from cyperf.models.async_context import AsyncContext +from cyperf.models.dismiss_operation import DismissOperation from cyperf.models.get_notifications200_response import GetNotifications200Response from cyperf.models.notification import Notification from cyperf.models.notification_counts import NotificationCounts @@ -1779,6 +1780,7 @@ def _start_notifications_cleanup_serialize( @validate_call def start_notifications_dismiss( self, + dismiss_operation: Optional[DismissOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1796,6 +1798,8 @@ def start_notifications_dismiss( Dismiss all notifications that match the specified filter. + :param dismiss_operation: + :type dismiss_operation: DismissOperation :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 @@ -1819,6 +1823,7 @@ def start_notifications_dismiss( """ # noqa: E501 _param = self._start_notifications_dismiss_serialize( + dismiss_operation=dismiss_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1838,6 +1843,7 @@ def start_notifications_dismiss( @validate_call def start_notifications_dismiss_with_http_info( self, + dismiss_operation: Optional[DismissOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1855,6 +1861,8 @@ def start_notifications_dismiss_with_http_info( Dismiss all notifications that match the specified filter. + :param dismiss_operation: + :type dismiss_operation: DismissOperation :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 @@ -1878,6 +1886,7 @@ def start_notifications_dismiss_with_http_info( """ # noqa: E501 _param = self._start_notifications_dismiss_serialize( + dismiss_operation=dismiss_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1897,6 +1906,7 @@ def start_notifications_dismiss_with_http_info( @validate_call def start_notifications_dismiss_without_preload_content( self, + dismiss_operation: Optional[DismissOperation] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1914,6 +1924,8 @@ def start_notifications_dismiss_without_preload_content( Dismiss all notifications that match the specified filter. + :param dismiss_operation: + :type dismiss_operation: DismissOperation :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 @@ -1937,6 +1949,7 @@ def start_notifications_dismiss_without_preload_content( """ # noqa: E501 _param = self._start_notifications_dismiss_serialize( + dismiss_operation=dismiss_operation, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1955,6 +1968,7 @@ def start_notifications_dismiss_without_preload_content( def _start_notifications_dismiss_serialize( self, + dismiss_operation, _request_auth, _content_type, _headers, @@ -1978,6 +1992,8 @@ def _start_notifications_dismiss_serialize( # process the header parameters # process the form parameters # process the body parameter + if dismiss_operation is not None: + _body_params = dismiss_operation # set the HTTP header `Accept` @@ -1988,6 +2004,19 @@ def _start_notifications_dismiss_serialize( ] ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ diff --git a/cyperf/api/reports_api.py b/cyperf/api/reports_api.py index 83ca1ef..3aeafce 100644 --- a/cyperf/api/reports_api.py +++ b/cyperf/api/reports_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/sessions_api.py b/cyperf/api/sessions_api.py index 705e787..1a243b0 100644 --- a/cyperf/api/sessions_api.py +++ b/cyperf/api/sessions_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -28,7 +28,6 @@ from cyperf.models.load_config_operation import LoadConfigOperation from cyperf.models.open_api_definitions import OpenAPIDefinitions from cyperf.models.pair import Pair -from cyperf.models.prepare_test_operation import PrepareTestOperation from cyperf.models.save_config_operation import SaveConfigOperation from cyperf.models.session import Session from cyperf.models.start_agents_batch_delete_request_inner import StartAgentsBatchDeleteRequestInner @@ -4562,16 +4561,6 @@ def _patch_session_test_serialize( - - - - - - - - - - @@ -5691,287 +5680,6 @@ def _start_session_load_config_serialize( - @validate_call - def start_session_prepare_test( - self, - session_id: Annotated[StrictStr, Field(description="The ID of the session.")], - prepare_test_operation: Optional[List[PrepareTestOperation]] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AsyncContext: - """start_session_prepare_test - - This operation returns the config processed as agent messages and any data necessary for UI and REST stats - - :param session_id: The ID of the session. (required) - :type session_id: str - :param prepare_test_operation: - :type prepare_test_operation: List[PrepareTestOperation] - :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. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._start_session_prepare_test_serialize( - session_id=session_id, - prepare_test_operation=prepare_test_operation, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '202': "AsyncContext", - } - return self.api_client.call_api( - *_param, - _response_types_map=_response_types_map, - _request_timeout=_request_timeout - ) - - - @validate_call - def start_session_prepare_test_with_http_info( - self, - session_id: Annotated[StrictStr, Field(description="The ID of the session.")], - prepare_test_operation: Optional[List[PrepareTestOperation]] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AsyncContext]: - """start_session_prepare_test - - This operation returns the config processed as agent messages and any data necessary for UI and REST stats - - :param session_id: The ID of the session. (required) - :type session_id: str - :param prepare_test_operation: - :type prepare_test_operation: List[PrepareTestOperation] - :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. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._start_session_prepare_test_serialize( - session_id=session_id, - prepare_test_operation=prepare_test_operation, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '202': "AsyncContext", - } - return self.api_client.call_api( - *_param, - _response_types_map=_response_types_map, - _request_timeout=_request_timeout - ) - - - @validate_call - def start_session_prepare_test_without_preload_content( - self, - session_id: Annotated[StrictStr, Field(description="The ID of the session.")], - prepare_test_operation: Optional[List[PrepareTestOperation]] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """start_session_prepare_test - - This operation returns the config processed as agent messages and any data necessary for UI and REST stats - - :param session_id: The ID of the session. (required) - :type session_id: str - :param prepare_test_operation: - :type prepare_test_operation: List[PrepareTestOperation] - :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. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._start_session_prepare_test_serialize( - session_id=session_id, - prepare_test_operation=prepare_test_operation, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '202': "AsyncContext", - } - return self.api_client.call_api( - *_param, - _response_types_map=None, - _request_timeout=_request_timeout - ) - - - def _start_session_prepare_test_serialize( - self, - session_id, - prepare_test_operation, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'PrepareTestOperation': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if session_id is not None: - _path_params['sessionId'] = session_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if prepare_test_operation is not None: - _body_params = prepare_test_operation - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'OAuth2', - 'OAuth2' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/v2/sessions/{sessionId}/operations/prepareTest', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - @validate_call def start_session_test_end( self, diff --git a/cyperf/api/statistics_api.py b/cyperf/api/statistics_api.py index 0a818ba..85282f4 100644 --- a/cyperf/api/statistics_api.py +++ b/cyperf/api/statistics_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/test_operations_api.py b/cyperf/api/test_operations_api.py index 1051319..7fb2628 100644 --- a/cyperf/api/test_operations_api.py +++ b/cyperf/api/test_operations_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/test_results_api.py b/cyperf/api/test_results_api.py index aed223e..1ca8cc9 100644 --- a/cyperf/api/test_results_api.py +++ b/cyperf/api/test_results_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/api/utils_api.py b/cyperf/api/utils_api.py index b4eaf2f..76271b8 100644 --- a/cyperf/api/utils_api.py +++ b/cyperf/api/utils_api.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -2030,6 +2030,7 @@ def _get_docs_yaml_serialize( @validate_call def get_eula( self, + id: Annotated[StrictStr, Field(description="The ID of the EULA.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2046,6 +2047,8 @@ def get_eula( """Retrieve EULA detail + :param id: The ID of the EULA. (required) + :type id: str :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 @@ -2069,6 +2072,7 @@ def get_eula( """ # noqa: E501 _param = self._get_eula_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2089,6 +2093,7 @@ def get_eula( @validate_call def get_eula_with_http_info( self, + id: Annotated[StrictStr, Field(description="The ID of the EULA.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2105,6 +2110,8 @@ def get_eula_with_http_info( """Retrieve EULA detail + :param id: The ID of the EULA. (required) + :type id: str :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 @@ -2128,6 +2135,7 @@ def get_eula_with_http_info( """ # noqa: E501 _param = self._get_eula_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2148,6 +2156,7 @@ def get_eula_with_http_info( @validate_call def get_eula_without_preload_content( self, + id: Annotated[StrictStr, Field(description="The ID of the EULA.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2164,6 +2173,8 @@ def get_eula_without_preload_content( """Retrieve EULA detail + :param id: The ID of the EULA. (required) + :type id: str :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 @@ -2187,6 +2198,7 @@ def get_eula_without_preload_content( """ # noqa: E501 _param = self._get_eula_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2206,6 +2218,7 @@ def get_eula_without_preload_content( def _get_eula_serialize( self, + id, _request_auth, _content_type, _headers, @@ -2225,6 +2238,8 @@ def _get_eula_serialize( _body_params: Optional[bytes] = None # process the path parameters + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters @@ -2248,7 +2263,7 @@ def _get_eula_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/eula/v1/eula/CyPerf', + resource_path='/eula/v1/eula/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3048,6 +3063,7 @@ def _list_eulas_serialize( @validate_call def post_eula( self, + id: Annotated[StrictStr, Field(description="The ID of the EULA.")], eula_summary: Optional[EulaSummary] = None, _request_timeout: Union[ None, @@ -3065,6 +3081,8 @@ def post_eula( """Update properties an EULA + :param id: The ID of the EULA. (required) + :type id: str :param eula_summary: :type eula_summary: EulaSummary :param _request_timeout: timeout setting for this request. If one @@ -3090,6 +3108,7 @@ def post_eula( """ # noqa: E501 _param = self._post_eula_serialize( + id=id, eula_summary=eula_summary, _request_auth=_request_auth, _content_type=_content_type, @@ -3111,6 +3130,7 @@ def post_eula( @validate_call def post_eula_with_http_info( self, + id: Annotated[StrictStr, Field(description="The ID of the EULA.")], eula_summary: Optional[EulaSummary] = None, _request_timeout: Union[ None, @@ -3128,6 +3148,8 @@ def post_eula_with_http_info( """Update properties an EULA + :param id: The ID of the EULA. (required) + :type id: str :param eula_summary: :type eula_summary: EulaSummary :param _request_timeout: timeout setting for this request. If one @@ -3153,6 +3175,7 @@ def post_eula_with_http_info( """ # noqa: E501 _param = self._post_eula_serialize( + id=id, eula_summary=eula_summary, _request_auth=_request_auth, _content_type=_content_type, @@ -3174,6 +3197,7 @@ def post_eula_with_http_info( @validate_call def post_eula_without_preload_content( self, + id: Annotated[StrictStr, Field(description="The ID of the EULA.")], eula_summary: Optional[EulaSummary] = None, _request_timeout: Union[ None, @@ -3191,6 +3215,8 @@ def post_eula_without_preload_content( """Update properties an EULA + :param id: The ID of the EULA. (required) + :type id: str :param eula_summary: :type eula_summary: EulaSummary :param _request_timeout: timeout setting for this request. If one @@ -3216,6 +3242,7 @@ def post_eula_without_preload_content( """ # noqa: E501 _param = self._post_eula_serialize( + id=id, eula_summary=eula_summary, _request_auth=_request_auth, _content_type=_content_type, @@ -3236,6 +3263,7 @@ def post_eula_without_preload_content( def _post_eula_serialize( self, + id, eula_summary, _request_auth, _content_type, @@ -3256,6 +3284,8 @@ def _post_eula_serialize( _body_params: Optional[bytes] = None # process the path parameters + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters @@ -3294,7 +3324,7 @@ def _post_eula_serialize( return self.api_client.param_serialize( method='POST', - resource_path='/eula/v1/eula/CyPerf', + resource_path='/eula/v1/eula/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/cyperf/api_client.py b/cyperf/api_client.py index efe6a3d..0408541 100644 --- a/cyperf/api_client.py +++ b/cyperf/api_client.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -543,14 +543,14 @@ def __deserialize(self, data, klass): m = re.match(r'List\[(.*)]', klass) assert m is not None, "Malformed List type definition" sub_kls = m.group(1) - return [self.__deserialize(sub_data, sub_kls) + return [self.__deserialize(sub_data, sub_kls) for sub_data in data] elif klass.startswith('Dict['): m = re.match(r'Dict\[([^,]*), (.*)]', klass) assert m is not None, "Malformed Dict type definition" sub_kls = m.group(2) - return {k: self.__deserialize(v, sub_kls) + return {k: self.__deserialize(v, sub_kls) for k, v in data.items()} elif klass.startswith('typing.List['): @@ -577,6 +577,12 @@ def __deserialize(self, data, klass): klass = m.group(1) continue + elif '|' in klass: + m = re.match(r'(.*)\|.*', klass) + assert m is not None, "Malformed union type definition" + klass = m.group(1).strip() + continue + else: break diff --git a/cyperf/configuration.py b/cyperf/configuration.py index 4579df0..57a6121 100644 --- a/cyperf/configuration.py +++ b/cyperf/configuration.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/dynamic_model_meta.py b/cyperf/dynamic_model_meta.py index e45cc20..02bc132 100644 --- a/cyperf/dynamic_model_meta.py +++ b/cyperf/dynamic_model_meta.py @@ -254,9 +254,9 @@ def __new__(cls, name, bases, dct): list_fields = [] if not_method: - list_match = re.search(r"List\[(\w+)\]", field_str) + list_match = re.search(r"List\[([\w.]+)\]", field_str) if list_match: - inner_type = list_match.group(1) + inner_type = list_match.group(1).rsplit(".", 1)[-1] if inner_type not in ignored_types: list_fields.append([inner_type, field.alias]) @@ -265,11 +265,11 @@ def __new__(cls, name, bases, dct): for child_key, _ in child_fields.items(): parts = cls.extract_x_operation(child_key, child_private_attrs) - + if parts: if len(parts) == 1 or (len(parts) == 2 and parts[1].strip() == "-"): child_method_name = child_key + "_" + child_name.lower() - dct[child_method_name] = cls.generate_method(child_key, 'POST', True, child_alias) + dct[child_method_name] = cls.generate_method(child_key, 'POST', True, child_alias) parts = cls.extract_x_operation(key, private_attrs) if parts: @@ -319,7 +319,7 @@ def init(cls, self, base_model): def to_str(cls, self) -> str: """Returns the string representation of the actual instance""" return f"{self.base_model}" - + @classmethod def repr(cls, self) -> str: """Returns the string representation of the actual instance""" @@ -420,7 +420,7 @@ def poll(cls, self, get_final_result = True, poll_time = 1): return_type=self.base_model.__class__, href=self.url), api_client=self.api_client) if op.state == "ERROR": - raise ApiException(f"Error running operation {op.id} of type {op.type}: {op.message}") + raise ApiException(f"Error running operation {op.id} of type {op.type}: {op.message if op.message else op.base_model.result}") if op.result_url and get_final_result: return cls.link_based_request(op, None, "GET", return_type=object, href=op.result_url) return op.base_model.result @@ -537,7 +537,7 @@ def extract_x_operation(cls, key, private_attrs): private_attr_obj = private_attrs[extra_attr_name] if hasattr(private_attr_obj, 'default'): extra = private_attr_obj.default or {} - + operation_raw = extra.get("x-operation") if operation_raw: parts = operation_raw.split(",") @@ -554,7 +554,7 @@ def operation(self, *args, **kwargs): derived_href = self_link.href.rstrip("/") + f"/{child_inner_model}" f"/operations/{link_name.replace('_', '-')}" else: derived_href = self_link.href.rstrip("/") + f"/operations/{link_name.replace('_', '-')}" - + link_class = type(self.links[0]) if self.links else type(self_link) new_link = link_class( href=derived_href, diff --git a/cyperf/dynamic_models/__init__.py b/cyperf/dynamic_models/__init__.py index 28dfabf..bcea570 100644 --- a/cyperf/dynamic_models/__init__.py +++ b/cyperf/dynamic_models/__init__.py @@ -2,9 +2,9 @@ # flake8: noqa """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -30,8 +30,11 @@ ActivationCodeRequest = DynamicModel('ActivationCodeRequest', (), {} ) AddActionInfo = DynamicModel('AddActionInfo', (), {} ) AddInput = DynamicModel('AddInput', (), {} ) +Address = DynamicModel('Address', (), {} ) +AdvancedMetric = DynamicModel('AdvancedMetric', (), {} ) AdvancedSettings = DynamicModel('AdvancedSettings', (), {} ) Agent = DynamicModel('Agent', (), {} ) +AgentAssignmentByFrontPanelPort = DynamicModel('AgentAssignmentByFrontPanelPort', (), {} ) AgentAssignmentByPort = DynamicModel('AgentAssignmentByPort', (), {} ) AgentAssignmentDetails = DynamicModel('AgentAssignmentDetails', (), {} ) AgentAssignments = DynamicModel('AgentAssignments', (), {} ) @@ -74,6 +77,7 @@ Authenticate200Response = DynamicModel('Authenticate200Response', (), {} ) AuthenticationSettings = DynamicModel('AuthenticationSettings', (), {} ) AutomaticIpType = DynamicModel('AutomaticIpType', (), {} ) +BasicAuthProfile = DynamicModel('BasicAuthProfile', (), {} ) Broker = DynamicModel('Broker', (), {} ) CaptureInput = DynamicModel('CaptureInput', (), {} ) CaptureInputFindParam = DynamicModel('CaptureInputFindParam', (), {} ) @@ -83,16 +87,24 @@ CategoryValue = DynamicModel('CategoryValue', (), {} ) CertConfig = DynamicModel('CertConfig', (), {} ) Certificate = DynamicModel('Certificate', (), {} ) +ChangeEvent = DynamicModel('ChangeEvent', (), {} ) ChassisInfo = DynamicModel('ChassisInfo', (), {} ) Choice = DynamicModel('Choice', (), {} ) CipherTLS12 = DynamicModel('CipherTLS12', (), {} ) CipherTLS13 = DynamicModel('CipherTLS13', (), {} ) CiscoAnyConnectSettings = DynamicModel('CiscoAnyConnectSettings', (), {} ) CiscoEncapsulation = DynamicModel('CiscoEncapsulation', (), {} ) +ClassicalSignatureAlgorithmTLS13 = DynamicModel('ClassicalSignatureAlgorithmTLS13', (), {} ) +ClearComputeResourcesOwnershipOperation = DynamicModel('ClearComputeResourcesOwnershipOperation', (), {} ) +ClearFrontPanelPortsOwnershipOperation = DynamicModel('ClearFrontPanelPortsOwnershipOperation', (), {} ) ClearPortsOwnershipOperation = DynamicModel('ClearPortsOwnershipOperation', (), {} ) Command = DynamicModel('Command', (), {} ) CommandMetadata = DynamicModel('CommandMetadata', (), {} ) +CompositePqcSignatureAlgorithmTLS13 = DynamicModel('CompositePqcSignatureAlgorithmTLS13', (), {} ) ComputeNode = DynamicModel('ComputeNode', (), {} ) +ComputeResource = DynamicModel('ComputeResource', (), {} ) +ComputeResourcesByController = DynamicModel('ComputeResourcesByController', (), {} ) +ComputeResourcesByNode = DynamicModel('ComputeResourcesByNode', (), {} ) Config = DynamicModel('Config', (), {} ) ConfigCategory = DynamicModel('ConfigCategory', (), {} ) ConfigId = DynamicModel('ConfigId', (), {} ) @@ -103,19 +115,24 @@ Connection = DynamicModel('Connection', (), {} ) ConnectionPersistence = DynamicModel('ConnectionPersistence', (), {} ) Consumer = DynamicModel('Consumer', (), {} ) +ContentBlock = DynamicModel('ContentBlock', (), {} ) Controller = DynamicModel('Controller', (), {} ) +ConvertDashboardsOperation = DynamicModel('ConvertDashboardsOperation', (), {} ) CountedFeatureConsumer = DynamicModel('CountedFeatureConsumer', (), {} ) CountedFeatureStats = DynamicModel('CountedFeatureStats', (), {} ) CreateAppOperation = DynamicModel('CreateAppOperation', (), {} ) CreateAppOrAttackOperationInput = DynamicModel('CreateAppOrAttackOperationInput', (), {} ) CustomDashboards = DynamicModel('CustomDashboards', (), {} ) CustomImportHandler = DynamicModel('CustomImportHandler', (), {} ) +CustomSequence = DynamicModel('CustomSequence', (), {} ) CustomStat = DynamicModel('CustomStat', (), {} ) DNSResolver = DynamicModel('DNSResolver', (), {} ) DNSServer = DynamicModel('DNSServer', (), {} ) DTLSSettings = DynamicModel('DTLSSettings', (), {} ) DUTNetwork = DynamicModel('DUTNetwork', (), {} ) +DUTRange = DynamicModel('DUTRange', (), {} ) Dashboard = DynamicModel('Dashboard', (), {} ) +DataSourceDetails = DynamicModel('DataSourceDetails', (), {} ) DataType = DynamicModel('DataType', (), {} ) DataTypeValuesInner = DynamicModel('DataTypeValuesInner', (), {} ) Definition = DynamicModel('Definition', (), {} ) @@ -125,6 +142,7 @@ DiagnosticComponentContext = DynamicModel('DiagnosticComponentContext', (), {} ) DiagnosticOptions = DynamicModel('DiagnosticOptions', (), {} ) DiskUsage = DynamicModel('DiskUsage', (), {} ) +DismissOperation = DynamicModel('DismissOperation', (), {} ) ESPOverUDPSettings = DynamicModel('ESPOverUDPSettings', (), {} ) EditActionInput = DynamicModel('EditActionInput', (), {} ) EditAppOperation = DynamicModel('EditAppOperation', (), {} ) @@ -166,8 +184,12 @@ Filter = DynamicModel('Filter', (), {} ) FilteredStat = DynamicModel('FilteredStat', (), {} ) FindParamMatchesOperation = DynamicModel('FindParamMatchesOperation', (), {} ) +FormattedDescription = DynamicModel('FormattedDescription', (), {} ) FortinetEncapsulation = DynamicModel('FortinetEncapsulation', (), {} ) FortinetSettings = DynamicModel('FortinetSettings', (), {} ) +FrontPanel = DynamicModel('FrontPanel', (), {} ) +FrontPanelPortsByController = DynamicModel('FrontPanelPortsByController', (), {} ) +FrontPanelsByController = DynamicModel('FrontPanelsByController', (), {} ) FulfillmentRequest = DynamicModel('FulfillmentRequest', (), {} ) GenerateAllOperation = DynamicModel('GenerateAllOperation', (), {} ) GenerateCSVReportsOperation = DynamicModel('GenerateCSVReportsOperation', (), {} ) @@ -177,18 +199,24 @@ GetAgents200ResponseOneOf = DynamicModel('GetAgents200ResponseOneOf', (), {} ) GetAgentsTags200Response = DynamicModel('GetAgentsTags200Response', (), {} ) GetAgentsTags200ResponseOneOf = DynamicModel('GetAgentsTags200ResponseOneOf', (), {} ) -GetAppsOperation = DynamicModel('GetAppsOperation', (), {} ) GetAsyncOperationResult200Response = DynamicModel('GetAsyncOperationResult200Response', (), {} ) -GetAttacksOperation = DynamicModel('GetAttacksOperation', (), {} ) GetBrokers200Response = DynamicModel('GetBrokers200Response', (), {} ) GetBrokers200ResponseOneOf = DynamicModel('GetBrokers200ResponseOneOf', (), {} ) GetCategoriesOperation = DynamicModel('GetCategoriesOperation', (), {} ) +GetComputeNodeComputeResources200Response = DynamicModel('GetComputeNodeComputeResources200Response', (), {} ) +GetComputeNodeComputeResources200ResponseOneOf = DynamicModel('GetComputeNodeComputeResources200ResponseOneOf', (), {} ) +GetComputeNodePorts200Response = DynamicModel('GetComputeNodePorts200Response', (), {} ) +GetComputeNodePorts200ResponseOneOf = DynamicModel('GetComputeNodePorts200ResponseOneOf', (), {} ) GetConfigCategorieSubcategories200Response = DynamicModel('GetConfigCategorieSubcategories200Response', (), {} ) GetConfigCategorieSubcategories200ResponseOneOf = DynamicModel('GetConfigCategorieSubcategories200ResponseOneOf', (), {} ) GetConfigCategories200Response = DynamicModel('GetConfigCategories200Response', (), {} ) GetConfigCategories200ResponseOneOf = DynamicModel('GetConfigCategories200ResponseOneOf', (), {} ) GetConfigs200Response = DynamicModel('GetConfigs200Response', (), {} ) GetConfigs200ResponseOneOf = DynamicModel('GetConfigs200ResponseOneOf', (), {} ) +GetControllerComputeNodes200Response = DynamicModel('GetControllerComputeNodes200Response', (), {} ) +GetControllerComputeNodes200ResponseOneOf = DynamicModel('GetControllerComputeNodes200ResponseOneOf', (), {} ) +GetControllerFrontPanels200Response = DynamicModel('GetControllerFrontPanels200Response', (), {} ) +GetControllerFrontPanels200ResponseOneOf = DynamicModel('GetControllerFrontPanels200ResponseOneOf', (), {} ) GetControllers200Response = DynamicModel('GetControllers200Response', (), {} ) GetControllers200ResponseOneOf = DynamicModel('GetControllers200ResponseOneOf', (), {} ) GetDiskUsageConsumers200Response = DynamicModel('GetDiskUsageConsumers200Response', (), {} ) @@ -212,6 +240,8 @@ GetResourcesCustomImportOperations200ResponseOneOf = DynamicModel('GetResourcesCustomImportOperations200ResponseOneOf', (), {} ) GetResourcesHttpProfiles200Response = DynamicModel('GetResourcesHttpProfiles200Response', (), {} ) GetResourcesHttpProfiles200ResponseOneOf = DynamicModel('GetResourcesHttpProfiles200ResponseOneOf', (), {} ) +GetResourcesLlmApiProfiles200Response = DynamicModel('GetResourcesLlmApiProfiles200Response', (), {} ) +GetResourcesLlmApiProfiles200ResponseOneOf = DynamicModel('GetResourcesLlmApiProfiles200ResponseOneOf', (), {} ) GetResultFiles200Response = DynamicModel('GetResultFiles200Response', (), {} ) GetResultFiles200ResponseOneOf = DynamicModel('GetResultFiles200ResponseOneOf', (), {} ) GetResultStats200Response = DynamicModel('GetResultStats200Response', (), {} ) @@ -220,13 +250,19 @@ GetResults200ResponseOneOf = DynamicModel('GetResults200ResponseOneOf', (), {} ) GetResultsTags200Response = DynamicModel('GetResultsTags200Response', (), {} ) GetResultsTags200ResponseOneOf = DynamicModel('GetResultsTags200ResponseOneOf', (), {} ) +GetScenariosOperation = DynamicModel('GetScenariosOperation', (), {} ) GetSessionMeta200Response = DynamicModel('GetSessionMeta200Response', (), {} ) GetSessionMeta200ResponseOneOf = DynamicModel('GetSessionMeta200ResponseOneOf', (), {} ) GetSessions200Response = DynamicModel('GetSessions200Response', (), {} ) GetSessions200ResponseOneOf = DynamicModel('GetSessions200ResponseOneOf', (), {} ) +GetStatsDashboardChanges200Response = DynamicModel('GetStatsDashboardChanges200Response', (), {} ) +GetStatsDashboardChanges200ResponseOneOf = DynamicModel('GetStatsDashboardChanges200ResponseOneOf', (), {} ) +GetStatsDashboards200Response = DynamicModel('GetStatsDashboards200Response', (), {} ) +GetStatsDashboards200ResponseOneOf = DynamicModel('GetStatsDashboards200ResponseOneOf', (), {} ) GetStatsPlugins200Response = DynamicModel('GetStatsPlugins200Response', (), {} ) GetStatsPlugins200ResponseOneOf = DynamicModel('GetStatsPlugins200ResponseOneOf', (), {} ) GetStrikesOperation = DynamicModel('GetStrikesOperation', (), {} ) +GridPosition = DynamicModel('GridPosition', (), {} ) GroupTLS13 = DynamicModel('GroupTLS13', (), {} ) HTTPProfile = DynamicModel('HTTPProfile', (), {} ) HTTPReqMeta = DynamicModel('HTTPReqMeta', (), {} ) @@ -242,14 +278,19 @@ IPSecRange = DynamicModel('IPSecRange', (), {} ) IPSecStack = DynamicModel('IPSecStack', (), {} ) IdPSignatureAlgo = DynamicModel('IdPSignatureAlgo', (), {} ) +IdentificationConfig = DynamicModel('IdentificationConfig', (), {} ) ImportAllOperation = DynamicModel('ImportAllOperation', (), {} ) ImportOfflineLicenseResult = DynamicModel('ImportOfflineLicenseResult', (), {} ) IngestOperation = DynamicModel('IngestOperation', (), {} ) InnerIPRange = DynamicModel('InnerIPRange', (), {} ) +InnerIPSecRange = DynamicModel('InnerIPSecRange', (), {} ) Interface = DynamicModel('Interface', (), {} ) IpMask = DynamicModel('IpMask', (), {} ) IpPreference = DynamicModel('IpPreference', (), {} ) IpVer = DynamicModel('IpVer', (), {} ) +Keyword = DynamicModel('Keyword', (), {} ) +LLMAPIProfile = DynamicModel('LLMAPIProfile', (), {} ) +LayoutConfig = DynamicModel('LayoutConfig', (), {} ) License = DynamicModel('License', (), {} ) LicenseReceipt = DynamicModel('LicenseReceipt', (), {} ) LicenseServerMetadata = DynamicModel('LicenseServerMetadata', (), {} ) @@ -265,6 +306,7 @@ MediaFile = DynamicModel('MediaFile', (), {} ) MediaTrack = DynamicModel('MediaTrack', (), {} ) Metadata = DynamicModel('Metadata', (), {} ) +MetricsList = DynamicModel('MetricsList', (), {} ) MosMode = DynamicModel('MosMode', (), {} ) NameIdFormat = DynamicModel('NameIdFormat', (), {} ) NameServer = DynamicModel('NameServer', (), {} ) @@ -286,7 +328,11 @@ P2Config = DynamicModel('P2Config', (), {} ) PANGPEncapsulation = DynamicModel('PANGPEncapsulation', (), {} ) PANGPSettings = DynamicModel('PANGPSettings', (), {} ) +PPKPair = DynamicModel('PPKPair', (), {} ) +PSPRange = DynamicModel('PSPRange', (), {} ) +PSPStack = DynamicModel('PSPStack', (), {} ) Pair = DynamicModel('Pair', (), {} ) +Panel = DynamicModel('Panel', (), {} ) ParamMetadata = DynamicModel('ParamMetadata', (), {} ) ParamMetadataTypeInfo = DynamicModel('ParamMetadataTypeInfo', (), {} ) ParamMetadataTypeInfoArrayV2 = DynamicModel('ParamMetadataTypeInfoArrayV2', (), {} ) @@ -307,21 +353,25 @@ PepDUT = DynamicModel('PepDUT', (), {} ) PfsP2Group = DynamicModel('PfsP2Group', (), {} ) PlaylistMetadata = DynamicModel('PlaylistMetadata', (), {} ) +PlaylistSequencingMethod = DynamicModel('PlaylistSequencingMethod', (), {} ) Plugin = DynamicModel('Plugin', (), {} ) PluginStats = DynamicModel('PluginStats', (), {} ) Port = DynamicModel('Port', (), {} ) PortSettings = DynamicModel('PortSettings', (), {} ) PortsByController = DynamicModel('PortsByController', (), {} ) PortsByNode = DynamicModel('PortsByNode', (), {} ) -PrepareTestOperation = DynamicModel('PrepareTestOperation', (), {} ) -PreparedTestOptions = DynamicModel('PreparedTestOptions', (), {} ) +PortsByPanel = DynamicModel('PortsByPanel', (), {} ) +PqcKemGroup = DynamicModel('PqcKemGroup', (), {} ) +PqcSignatureAlgorithmTLS13 = DynamicModel('PqcSignatureAlgorithmTLS13', (), {} ) PrfP1Algorithm = DynamicModel('PrfP1Algorithm', (), {} ) +Profile = DynamicModel('Profile', (), {} ) ProtectedSubnetConfig = DynamicModel('ProtectedSubnetConfig', (), {} ) QUICProfile = DynamicModel('QUICProfile', (), {} ) QUICVersion = DynamicModel('QUICVersion', (), {} ) RTPEncryptionMode = DynamicModel('RTPEncryptionMode', (), {} ) RTPProfile = DynamicModel('RTPProfile', (), {} ) RTPProfileMeta = DynamicModel('RTPProfileMeta', (), {} ) +RebootComputeResourcesOperation = DynamicModel('RebootComputeResourcesOperation', (), {} ) RebootOperationInput = DynamicModel('RebootOperationInput', (), {} ) RebootPortsOperation = DynamicModel('RebootPortsOperation', (), {} ) Reference = DynamicModel('Reference', (), {} ) @@ -341,18 +391,26 @@ SaveConfigOperation = DynamicModel('SaveConfigOperation', (), {} ) Scenario = DynamicModel('Scenario', (), {} ) SecondaryObjective = DynamicModel('SecondaryObjective', (), {} ) +Section = DynamicModel('Section', (), {} ) SegmentType = DynamicModel('SegmentType', (), {} ) SelectedEnv = DynamicModel('SelectedEnv', (), {} ) +SequenceDataTypes = DynamicModel('SequenceDataTypes', (), {} ) +SequenceValue = DynamicModel('SequenceValue', (), {} ) +SequenceValueTypes = DynamicModel('SequenceValueTypes', (), {} ) Session = DynamicModel('Session', (), {} ) SessionReuseMethodTLS12 = DynamicModel('SessionReuseMethodTLS12', (), {} ) SessionReuseMethodTLS13 = DynamicModel('SessionReuseMethodTLS13', (), {} ) SetAggregationModeOperation = DynamicModel('SetAggregationModeOperation', (), {} ) SetControllerAppOperation = DynamicModel('SetControllerAppOperation', (), {} ) SetDpdkModeOperationInput = DynamicModel('SetDpdkModeOperationInput', (), {} ) -SetLinkStateOperation = DynamicModel('SetLinkStateOperation', (), {} ) +SetFanOutModeOperation = DynamicModel('SetFanOutModeOperation', (), {} ) +SetFrontPanelPortsLinkStateOperation = DynamicModel('SetFrontPanelPortsLinkStateOperation', (), {} ) SetNodesAppOperation = DynamicModel('SetNodesAppOperation', (), {} ) SetNtpOperationInput = DynamicModel('SetNtpOperationInput', (), {} ) +SetPortsLinkStateOperation = DynamicModel('SetPortsLinkStateOperation', (), {} ) +SimpleSequenceValue = DynamicModel('SimpleSequenceValue', (), {} ) SimulatedIdP = DynamicModel('SimulatedIdP', (), {} ) +SingleValue = DynamicModel('SingleValue', (), {} ) Snapshot = DynamicModel('Snapshot', (), {} ) SnowflakeExporter = DynamicModel('SnowflakeExporter', (), {} ) SortBodyField = DynamicModel('SortBodyField', (), {} ) @@ -360,19 +418,21 @@ StartAgentsBatchDeleteRequestInner = DynamicModel('StartAgentsBatchDeleteRequestInner', (), {} ) StatelessStream = DynamicModel('StatelessStream', (), {} ) StaticARPEntry = DynamicModel('StaticARPEntry', (), {} ) +StatsDashboard = DynamicModel('StatsDashboard', (), {} ) StatsResult = DynamicModel('StatsResult', (), {} ) SteadySegment = DynamicModel('SteadySegment', (), {} ) StepSegment = DynamicModel('StepSegment', (), {} ) StreamDirection = DynamicModel('StreamDirection', (), {} ) StreamPayloadType = DynamicModel('StreamPayloadType', (), {} ) StreamProfile = DynamicModel('StreamProfile', (), {} ) +SubStep = DynamicModel('SubStep', (), {} ) SupportedGroupTLS13 = DynamicModel('SupportedGroupTLS13', (), {} ) SystemInfo = DynamicModel('SystemInfo', (), {} ) TLSProfile = DynamicModel('TLSProfile', (), {} ) TcpProfile = DynamicModel('TcpProfile', (), {} ) TestInfo = DynamicModel('TestInfo', (), {} ) TestStateChangedOperation = DynamicModel('TestStateChangedOperation', (), {} ) -TestUsage = DynamicModel('TestUsage', (), {} ) +TextSegment = DynamicModel('TextSegment', (), {} ) TimeValue = DynamicModel('TimeValue', (), {} ) TimelineSegment = DynamicModel('TimelineSegment', (), {} ) TimelineSegmentBase = DynamicModel('TimelineSegmentBase', (), {} ) @@ -397,6 +457,7 @@ UpdateNetworkMapping = DynamicModel('UpdateNetworkMapping', (), {} ) UpdatePortTagsOperation = DynamicModel('UpdatePortTagsOperation', (), {} ) VLANRange = DynamicModel('VLANRange', (), {} ) +VLANType = DynamicModel('VLANType', (), {} ) ValidationMessage = DynamicModel('ValidationMessage', (), {} ) Version = DynamicModel('Version', (), {} ) VxLANId = DynamicModel('VxLANId', (), {} ) diff --git a/cyperf/exceptions.py b/cyperf/exceptions.py index cfb9e65..674969b 100644 --- a/cyperf/exceptions.py +++ b/cyperf/exceptions.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/__init__.py b/cyperf/models/__init__.py index c24cc76..a401464 100644 --- a/cyperf/models/__init__.py +++ b/cyperf/models/__init__.py @@ -2,9 +2,9 @@ # flake8: noqa """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -30,8 +30,11 @@ class LinkNameException(Exception): from cyperf.models.activation_code_request import ActivationCodeRequest from cyperf.models.add_action_info import AddActionInfo from cyperf.models.add_input import AddInput +from cyperf.models.address import Address +from cyperf.models.advanced_metric import AdvancedMetric from cyperf.models.advanced_settings import AdvancedSettings from cyperf.models.agent import Agent +from cyperf.models.agent_assignment_by_front_panel_port import AgentAssignmentByFrontPanelPort from cyperf.models.agent_assignment_by_port import AgentAssignmentByPort from cyperf.models.agent_assignment_details import AgentAssignmentDetails from cyperf.models.agent_assignments import AgentAssignments @@ -74,6 +77,7 @@ class LinkNameException(Exception): from cyperf.models.authenticate200_response import Authenticate200Response from cyperf.models.authentication_settings import AuthenticationSettings from cyperf.models.automatic_ip_type import AutomaticIpType +from cyperf.models.basic_auth_profile import BasicAuthProfile from cyperf.models.broker import Broker from cyperf.models.capture_input import CaptureInput from cyperf.models.capture_input_find_param import CaptureInputFindParam @@ -83,16 +87,24 @@ class LinkNameException(Exception): from cyperf.models.category_value import CategoryValue from cyperf.models.cert_config import CertConfig from cyperf.models.certificate import Certificate +from cyperf.models.change_event import ChangeEvent from cyperf.models.chassis_info import ChassisInfo from cyperf.models.choice import Choice from cyperf.models.cipher_tls12 import CipherTLS12 from cyperf.models.cipher_tls13 import CipherTLS13 from cyperf.models.cisco_any_connect_settings import CiscoAnyConnectSettings from cyperf.models.cisco_encapsulation import CiscoEncapsulation +from cyperf.models.classical_signature_algorithm_tls13 import ClassicalSignatureAlgorithmTLS13 +from cyperf.models.clear_compute_resources_ownership_operation import ClearComputeResourcesOwnershipOperation +from cyperf.models.clear_front_panel_ports_ownership_operation import ClearFrontPanelPortsOwnershipOperation from cyperf.models.clear_ports_ownership_operation import ClearPortsOwnershipOperation from cyperf.models.command import Command from cyperf.models.command_metadata import CommandMetadata +from cyperf.models.composite_pqc_signature_algorithm_tls13 import CompositePqcSignatureAlgorithmTLS13 from cyperf.models.compute_node import ComputeNode +from cyperf.models.compute_resource import ComputeResource +from cyperf.models.compute_resources_by_controller import ComputeResourcesByController +from cyperf.models.compute_resources_by_node import ComputeResourcesByNode from cyperf.models.config import Config from cyperf.models.config_category import ConfigCategory from cyperf.models.config_id import ConfigId @@ -103,19 +115,24 @@ class LinkNameException(Exception): from cyperf.models.connection import Connection from cyperf.models.connection_persistence import ConnectionPersistence from cyperf.models.consumer import Consumer +from cyperf.models.content_block import ContentBlock from cyperf.models.controller import Controller +from cyperf.models.convert_dashboards_operation import ConvertDashboardsOperation from cyperf.models.counted_feature_consumer import CountedFeatureConsumer from cyperf.models.counted_feature_stats import CountedFeatureStats from cyperf.models.create_app_operation import CreateAppOperation from cyperf.models.create_app_or_attack_operation_input import CreateAppOrAttackOperationInput from cyperf.models.custom_dashboards import CustomDashboards from cyperf.models.custom_import_handler import CustomImportHandler +from cyperf.models.custom_sequence import CustomSequence from cyperf.models.custom_stat import CustomStat from cyperf.models.dns_resolver import DNSResolver from cyperf.models.dns_server import DNSServer from cyperf.models.dtls_settings import DTLSSettings from cyperf.models.dut_network import DUTNetwork +from cyperf.models.dut_range import DUTRange from cyperf.models.dashboard import Dashboard +from cyperf.models.data_source_details import DataSourceDetails from cyperf.models.data_type import DataType from cyperf.models.data_type_values_inner import DataTypeValuesInner from cyperf.models.definition import Definition @@ -125,6 +142,7 @@ class LinkNameException(Exception): from cyperf.models.diagnostic_component_context import DiagnosticComponentContext from cyperf.models.diagnostic_options import DiagnosticOptions from cyperf.models.disk_usage import DiskUsage +from cyperf.models.dismiss_operation import DismissOperation from cyperf.models.esp_over_udp_settings import ESPOverUDPSettings from cyperf.models.edit_action_input import EditActionInput from cyperf.models.edit_app_operation import EditAppOperation @@ -166,8 +184,12 @@ class LinkNameException(Exception): from cyperf.models.filter import Filter from cyperf.models.filtered_stat import FilteredStat from cyperf.models.find_param_matches_operation import FindParamMatchesOperation +from cyperf.models.formatted_description import FormattedDescription from cyperf.models.fortinet_encapsulation import FortinetEncapsulation from cyperf.models.fortinet_settings import FortinetSettings +from cyperf.models.front_panel import FrontPanel +from cyperf.models.front_panel_ports_by_controller import FrontPanelPortsByController +from cyperf.models.front_panels_by_controller import FrontPanelsByController from cyperf.models.fulfillment_request import FulfillmentRequest from cyperf.models.generate_all_operation import GenerateAllOperation from cyperf.models.generate_csv_reports_operation import GenerateCSVReportsOperation @@ -177,18 +199,24 @@ class LinkNameException(Exception): from cyperf.models.get_agents200_response_one_of import GetAgents200ResponseOneOf from cyperf.models.get_agents_tags200_response import GetAgentsTags200Response from cyperf.models.get_agents_tags200_response_one_of import GetAgentsTags200ResponseOneOf -from cyperf.models.get_apps_operation import GetAppsOperation from cyperf.models.get_async_operation_result200_response import GetAsyncOperationResult200Response -from cyperf.models.get_attacks_operation import GetAttacksOperation from cyperf.models.get_brokers200_response import GetBrokers200Response from cyperf.models.get_brokers200_response_one_of import GetBrokers200ResponseOneOf from cyperf.models.get_categories_operation import GetCategoriesOperation +from cyperf.models.get_compute_node_compute_resources200_response import GetComputeNodeComputeResources200Response +from cyperf.models.get_compute_node_compute_resources200_response_one_of import GetComputeNodeComputeResources200ResponseOneOf +from cyperf.models.get_compute_node_ports200_response import GetComputeNodePorts200Response +from cyperf.models.get_compute_node_ports200_response_one_of import GetComputeNodePorts200ResponseOneOf from cyperf.models.get_config_categorie_subcategories200_response import GetConfigCategorieSubcategories200Response from cyperf.models.get_config_categorie_subcategories200_response_one_of import GetConfigCategorieSubcategories200ResponseOneOf from cyperf.models.get_config_categories200_response import GetConfigCategories200Response from cyperf.models.get_config_categories200_response_one_of import GetConfigCategories200ResponseOneOf from cyperf.models.get_configs200_response import GetConfigs200Response from cyperf.models.get_configs200_response_one_of import GetConfigs200ResponseOneOf +from cyperf.models.get_controller_compute_nodes200_response import GetControllerComputeNodes200Response +from cyperf.models.get_controller_compute_nodes200_response_one_of import GetControllerComputeNodes200ResponseOneOf +from cyperf.models.get_controller_front_panels200_response import GetControllerFrontPanels200Response +from cyperf.models.get_controller_front_panels200_response_one_of import GetControllerFrontPanels200ResponseOneOf from cyperf.models.get_controllers200_response import GetControllers200Response from cyperf.models.get_controllers200_response_one_of import GetControllers200ResponseOneOf from cyperf.models.get_disk_usage_consumers200_response import GetDiskUsageConsumers200Response @@ -212,6 +240,8 @@ class LinkNameException(Exception): from cyperf.models.get_resources_custom_import_operations200_response_one_of import GetResourcesCustomImportOperations200ResponseOneOf from cyperf.models.get_resources_http_profiles200_response import GetResourcesHttpProfiles200Response from cyperf.models.get_resources_http_profiles200_response_one_of import GetResourcesHttpProfiles200ResponseOneOf +from cyperf.models.get_resources_llm_api_profiles200_response import GetResourcesLlmApiProfiles200Response +from cyperf.models.get_resources_llm_api_profiles200_response_one_of import GetResourcesLlmApiProfiles200ResponseOneOf from cyperf.models.get_result_files200_response import GetResultFiles200Response from cyperf.models.get_result_files200_response_one_of import GetResultFiles200ResponseOneOf from cyperf.models.get_result_stats200_response import GetResultStats200Response @@ -220,13 +250,19 @@ class LinkNameException(Exception): from cyperf.models.get_results200_response_one_of import GetResults200ResponseOneOf from cyperf.models.get_results_tags200_response import GetResultsTags200Response from cyperf.models.get_results_tags200_response_one_of import GetResultsTags200ResponseOneOf +from cyperf.models.get_scenarios_operation import GetScenariosOperation from cyperf.models.get_session_meta200_response import GetSessionMeta200Response from cyperf.models.get_session_meta200_response_one_of import GetSessionMeta200ResponseOneOf from cyperf.models.get_sessions200_response import GetSessions200Response from cyperf.models.get_sessions200_response_one_of import GetSessions200ResponseOneOf +from cyperf.models.get_stats_dashboard_changes200_response import GetStatsDashboardChanges200Response +from cyperf.models.get_stats_dashboard_changes200_response_one_of import GetStatsDashboardChanges200ResponseOneOf +from cyperf.models.get_stats_dashboards200_response import GetStatsDashboards200Response +from cyperf.models.get_stats_dashboards200_response_one_of import GetStatsDashboards200ResponseOneOf from cyperf.models.get_stats_plugins200_response import GetStatsPlugins200Response from cyperf.models.get_stats_plugins200_response_one_of import GetStatsPlugins200ResponseOneOf from cyperf.models.get_strikes_operation import GetStrikesOperation +from cyperf.models.grid_position import GridPosition from cyperf.models.group_tls13 import GroupTLS13 from cyperf.models.http_profile import HTTPProfile from cyperf.models.http_req_meta import HTTPReqMeta @@ -242,14 +278,19 @@ class LinkNameException(Exception): from cyperf.models.ip_sec_range import IPSecRange from cyperf.models.ip_sec_stack import IPSecStack from cyperf.models.id_p_signature_algo import IdPSignatureAlgo +from cyperf.models.identification_config import IdentificationConfig from cyperf.models.import_all_operation import ImportAllOperation from cyperf.models.import_offline_license_result import ImportOfflineLicenseResult from cyperf.models.ingest_operation import IngestOperation from cyperf.models.inner_ip_range import InnerIPRange +from cyperf.models.inner_ip_sec_range import InnerIPSecRange from cyperf.models.interface import Interface from cyperf.models.ip_mask import IpMask from cyperf.models.ip_preference import IpPreference from cyperf.models.ip_ver import IpVer +from cyperf.models.keyword import Keyword +from cyperf.models.llmapi_profile import LLMAPIProfile +from cyperf.models.layout_config import LayoutConfig from cyperf.models.license import License from cyperf.models.license_receipt import LicenseReceipt from cyperf.models.license_server_metadata import LicenseServerMetadata @@ -265,6 +306,7 @@ class LinkNameException(Exception): from cyperf.models.media_file import MediaFile from cyperf.models.media_track import MediaTrack from cyperf.models.metadata import Metadata +from cyperf.models.metrics_list import MetricsList from cyperf.models.mos_mode import MosMode from cyperf.models.name_id_format import NameIdFormat from cyperf.models.name_server import NameServer @@ -286,7 +328,11 @@ class LinkNameException(Exception): from cyperf.models.p2_config import P2Config from cyperf.models.pangp_encapsulation import PANGPEncapsulation from cyperf.models.pangp_settings import PANGPSettings +from cyperf.models.ppk_pair import PPKPair +from cyperf.models.psp_range import PSPRange +from cyperf.models.psp_stack import PSPStack from cyperf.models.pair import Pair +from cyperf.models.panel import Panel from cyperf.models.param_metadata import ParamMetadata from cyperf.models.param_metadata_type_info import ParamMetadataTypeInfo from cyperf.models.param_metadata_type_info_array_v2 import ParamMetadataTypeInfoArrayV2 @@ -307,21 +353,25 @@ class LinkNameException(Exception): from cyperf.models.pep_dut import PepDUT from cyperf.models.pfs_p2_group import PfsP2Group from cyperf.models.playlist_metadata import PlaylistMetadata +from cyperf.models.playlist_sequencing_method import PlaylistSequencingMethod from cyperf.models.plugin import Plugin from cyperf.models.plugin_stats import PluginStats from cyperf.models.port import Port from cyperf.models.port_settings import PortSettings from cyperf.models.ports_by_controller import PortsByController from cyperf.models.ports_by_node import PortsByNode -from cyperf.models.prepare_test_operation import PrepareTestOperation -from cyperf.models.prepared_test_options import PreparedTestOptions +from cyperf.models.ports_by_panel import PortsByPanel +from cyperf.models.pqc_kem_group import PqcKemGroup +from cyperf.models.pqc_signature_algorithm_tls13 import PqcSignatureAlgorithmTLS13 from cyperf.models.prf_p1_algorithm import PrfP1Algorithm +from cyperf.models.profile import Profile from cyperf.models.protected_subnet_config import ProtectedSubnetConfig from cyperf.models.quic_profile import QUICProfile from cyperf.models.quic_version import QUICVersion from cyperf.models.rtp_encryption_mode import RTPEncryptionMode from cyperf.models.rtp_profile import RTPProfile from cyperf.models.rtp_profile_meta import RTPProfileMeta +from cyperf.models.reboot_compute_resources_operation import RebootComputeResourcesOperation from cyperf.models.reboot_operation_input import RebootOperationInput from cyperf.models.reboot_ports_operation import RebootPortsOperation from cyperf.models.reference import Reference @@ -341,18 +391,26 @@ class LinkNameException(Exception): from cyperf.models.save_config_operation import SaveConfigOperation from cyperf.models.scenario import Scenario from cyperf.models.secondary_objective import SecondaryObjective +from cyperf.models.section import Section from cyperf.models.segment_type import SegmentType from cyperf.models.selected_env import SelectedEnv +from cyperf.models.sequence_data_types import SequenceDataTypes +from cyperf.models.sequence_value import SequenceValue +from cyperf.models.sequence_value_types import SequenceValueTypes from cyperf.models.session import Session from cyperf.models.session_reuse_method_tls12 import SessionReuseMethodTLS12 from cyperf.models.session_reuse_method_tls13 import SessionReuseMethodTLS13 from cyperf.models.set_aggregation_mode_operation import SetAggregationModeOperation from cyperf.models.set_controller_app_operation import SetControllerAppOperation from cyperf.models.set_dpdk_mode_operation_input import SetDpdkModeOperationInput -from cyperf.models.set_link_state_operation import SetLinkStateOperation +from cyperf.models.set_fan_out_mode_operation import SetFanOutModeOperation +from cyperf.models.set_front_panel_ports_link_state_operation import SetFrontPanelPortsLinkStateOperation from cyperf.models.set_nodes_app_operation import SetNodesAppOperation from cyperf.models.set_ntp_operation_input import SetNtpOperationInput +from cyperf.models.set_ports_link_state_operation import SetPortsLinkStateOperation +from cyperf.models.simple_sequence_value import SimpleSequenceValue from cyperf.models.simulated_id_p import SimulatedIdP +from cyperf.models.single_value import SingleValue from cyperf.models.snapshot import Snapshot from cyperf.models.snowflake_exporter import SnowflakeExporter from cyperf.models.sort_body_field import SortBodyField @@ -360,19 +418,21 @@ class LinkNameException(Exception): from cyperf.models.start_agents_batch_delete_request_inner import StartAgentsBatchDeleteRequestInner from cyperf.models.stateless_stream import StatelessStream from cyperf.models.static_arp_entry import StaticARPEntry +from cyperf.models.stats_dashboard import StatsDashboard from cyperf.models.stats_result import StatsResult from cyperf.models.steady_segment import SteadySegment from cyperf.models.step_segment import StepSegment from cyperf.models.stream_direction import StreamDirection from cyperf.models.stream_payload_type import StreamPayloadType from cyperf.models.stream_profile import StreamProfile +from cyperf.models.sub_step import SubStep from cyperf.models.supported_group_tls13 import SupportedGroupTLS13 from cyperf.models.system_info import SystemInfo from cyperf.models.tls_profile import TLSProfile from cyperf.models.tcp_profile import TcpProfile from cyperf.models.test_info import TestInfo from cyperf.models.test_state_changed_operation import TestStateChangedOperation -from cyperf.models.test_usage import TestUsage +from cyperf.models.text_segment import TextSegment from cyperf.models.time_value import TimeValue from cyperf.models.timeline_segment import TimelineSegment from cyperf.models.timeline_segment_base import TimelineSegmentBase @@ -397,6 +457,7 @@ class LinkNameException(Exception): from cyperf.models.update_network_mapping import UpdateNetworkMapping from cyperf.models.update_port_tags_operation import UpdatePortTagsOperation from cyperf.models.vlan_range import VLANRange +from cyperf.models.vlan_type import VLANType from cyperf.models.validation_message import ValidationMessage from cyperf.models.version import Version from cyperf.models.vx_lanid import VxLANId diff --git a/cyperf/models/action.py b/cyperf/models/action.py index 8626b2c..a67c324 100644 --- a/cyperf/models/action.py +++ b/cyperf/models/action.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -23,6 +23,7 @@ from typing_extensions import Annotated from cyperf.models.api_link import APILink from cyperf.models.exchange import Exchange +from cyperf.models.http_version import HTTPVersion from cyperf.models.params import Params from typing import Optional, Set, Union from typing_extensions import Self @@ -38,15 +39,17 @@ class Action(BaseModel): is_banner: Optional[StrictBool] = Field(default=None, description="Indicates if this is a required action, can only be add once and also must be the first", alias="IsBanner") is_deprecated: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is deprecated.", alias="IsDeprecated") is_hostname: Optional[StrictInt] = Field(default=None, alias="IsHostname") + is_llm_strike: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is an LLM strike.", alias="IsLLMStrike") is_strike: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is a strike.", alias="IsStrike") name: Optional[StrictStr] = Field(default=None, description="The name of the action.", alias="Name") params: Optional[List[Params]] = Field(default=None, alias="Params") port: Optional[StrictInt] = Field(default=None, description="The port of the destination host.", alias="Port") protocol_id: Optional[StrictStr] = Field(default=None, alias="ProtocolID") requires_uniqueness: Optional[StrictBool] = Field(default=None, description="If true, for applications with the same protocol id, application/attack must have been uniquely identified in previous commands.", alias="RequiresUniqueness") + supported_http_versions: Optional[List[HTTPVersion]] = Field(default=None, description="The HTTP versions supported by the action.", alias="SupportedHTTPVersions") id: Optional[StrictStr] = None links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["DstHost", "Exchanges", "Index", "IsBanner", "IsDeprecated", "IsHostname", "IsStrike", "Name", "Params", "Port", "ProtocolID", "RequiresUniqueness", "id", "links"] + __properties: ClassVar[List[str]] = ["DstHost", "Exchanges", "Index", "IsBanner", "IsDeprecated", "IsHostname", "IsLLMStrike", "IsStrike", "Name", "Params", "Port", "ProtocolID", "RequiresUniqueness", "SupportedHTTPVersions", "id", "links"] @field_validator('dst_host') def dst_host_validate_regular_expression(cls, value): @@ -138,12 +141,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "IsBanner": obj.get("IsBanner"), "IsDeprecated": obj.get("IsDeprecated"), "IsHostname": obj.get("IsHostname"), + "IsLLMStrike": obj.get("IsLLMStrike"), "IsStrike": obj.get("IsStrike"), "Name": obj.get("Name"), "Params": ( [Params.from_dict(_item) for _item in obj.get("Params", [])] if obj.get("Params") is not None else None), "Port": obj.get("Port"), "ProtocolID": obj.get("ProtocolID"), "RequiresUniqueness": obj.get("RequiresUniqueness"), + "SupportedHTTPVersions": obj.get("SupportedHTTPVersions"), "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) , diff --git a/cyperf/models/action_base.py b/cyperf/models/action_base.py index 4a86892..193de1e 100644 --- a/cyperf/models/action_base.py +++ b/cyperf/models/action_base.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -23,6 +23,7 @@ from typing_extensions import Annotated from cyperf.models.api_link import APILink from cyperf.models.exchange import Exchange +from cyperf.models.http_version import HTTPVersion from cyperf.models.params import Params from typing import Optional, Set, Union from typing_extensions import Self @@ -38,15 +39,17 @@ class ActionBase(BaseModel): is_banner: Optional[StrictBool] = Field(default=None, description="Indicates if this is a required action, can only be add once and also must be the first", alias="IsBanner") is_deprecated: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is deprecated.", alias="IsDeprecated") is_hostname: Optional[StrictInt] = Field(default=None, alias="IsHostname") + is_llm_strike: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is an LLM strike.", alias="IsLLMStrike") is_strike: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is a strike.", alias="IsStrike") name: Optional[StrictStr] = Field(default=None, description="The name of the action.", alias="Name") params: Optional[List[Params]] = Field(default=None, alias="Params") port: Optional[StrictInt] = Field(default=None, description="The port of the destination host.", alias="Port") protocol_id: Optional[StrictStr] = Field(default=None, alias="ProtocolID") requires_uniqueness: Optional[StrictBool] = Field(default=None, description="If true, for applications with the same protocol id, application/attack must have been uniquely identified in previous commands.", alias="RequiresUniqueness") + supported_http_versions: Optional[List[HTTPVersion]] = Field(default=None, description="The HTTP versions supported by the action.", alias="SupportedHTTPVersions") id: Optional[StrictStr] = None links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["DstHost", "Exchanges", "Index", "IsBanner", "IsDeprecated", "IsHostname", "IsStrike", "Name", "Params", "Port", "ProtocolID", "RequiresUniqueness", "id", "links"] + __properties: ClassVar[List[str]] = ["DstHost", "Exchanges", "Index", "IsBanner", "IsDeprecated", "IsHostname", "IsLLMStrike", "IsStrike", "Name", "Params", "Port", "ProtocolID", "RequiresUniqueness", "SupportedHTTPVersions", "id", "links"] @field_validator('dst_host') def dst_host_validate_regular_expression(cls, value): @@ -138,12 +141,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "IsBanner": obj.get("IsBanner"), "IsDeprecated": obj.get("IsDeprecated"), "IsHostname": obj.get("IsHostname"), + "IsLLMStrike": obj.get("IsLLMStrike"), "IsStrike": obj.get("IsStrike"), "Name": obj.get("Name"), "Params": ( [Params.from_dict(_item) for _item in obj.get("Params", [])] if obj.get("Params") is not None else None), "Port": obj.get("Port"), "ProtocolID": obj.get("ProtocolID"), "RequiresUniqueness": obj.get("RequiresUniqueness"), + "SupportedHTTPVersions": obj.get("SupportedHTTPVersions"), "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) , diff --git a/cyperf/models/action_input.py b/cyperf/models/action_input.py index 20d1342..93c25f3 100644 --- a/cyperf/models/action_input.py +++ b/cyperf/models/action_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/action_input_find_param.py b/cyperf/models/action_input_find_param.py index b62a8c1..1f0d95c 100644 --- a/cyperf/models/action_input_find_param.py +++ b/cyperf/models/action_input_find_param.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/action_metadata.py b/cyperf/models/action_metadata.py index a1bcfe1..bb46292 100644 --- a/cyperf/models/action_metadata.py +++ b/cyperf/models/action_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/activation_code_info.py b/cyperf/models/activation_code_info.py index 9cc170b..1f1c41f 100644 --- a/cyperf/models/activation_code_info.py +++ b/cyperf/models/activation_code_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/activation_code_list_request.py b/cyperf/models/activation_code_list_request.py index ee7c0f7..def228f 100644 --- a/cyperf/models/activation_code_list_request.py +++ b/cyperf/models/activation_code_list_request.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/activation_code_request.py b/cyperf/models/activation_code_request.py index b0cc4da..e24d877 100644 --- a/cyperf/models/activation_code_request.py +++ b/cyperf/models/activation_code_request.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/add_action_info.py b/cyperf/models/add_action_info.py index a3b41d1..e063115 100644 --- a/cyperf/models/add_action_info.py +++ b/cyperf/models/add_action_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/add_input.py b/cyperf/models/add_input.py index 32916fa..2bb8cd7 100644 --- a/cyperf/models/add_input.py +++ b/cyperf/models/add_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/address.py b/cyperf/models/address.py new file mode 100644 index 0000000..8b31ea3 --- /dev/null +++ b/cyperf/models/address.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from cyperf.models.api_link import APILink +from cyperf.models.dut_range import DUTRange +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class Address(BaseModel): + """ + Address + """ # noqa: E501 + host: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, alias="Host") + range: Optional[DUTRange] = Field(default=None, alias="Range") + use_range: Optional[StrictBool] = Field(default=None, alias="UseRange") + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["Host", "Range", "UseRange", "links"] + + @field_validator('host') + def host_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^$|^(([a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$|(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$|^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$", value): + raise ValueError(r"must validate the regular expression /^$|^(([a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$|(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$|^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Address from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of range + if self.range: + _dict['Range'] = self.range.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Address from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Host": obj.get("Host"), + "Range": DUTRange.from_dict(obj["Range"]) if obj.get("Range") is not None else None, + "UseRange": obj.get("UseRange"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/advanced_metric.py b/cyperf/models/advanced_metric.py new file mode 100644 index 0000000..e6c2991 --- /dev/null +++ b/cyperf/models/advanced_metric.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class AdvancedMetric(BaseModel): + """ + AdvancedMetric + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The name of the metric") + sort_type: Optional[StrictStr] = Field(default=None, description="The sorting type of the metric", alias="sortType") + value: Optional[StrictStr] = Field(default=None, description="The value of the metric") + __properties: ClassVar[List[str]] = ["name", "sortType", "value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdvancedMetric from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AdvancedMetric from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "name": obj.get("name"), + "sortType": obj.get("sortType"), + "value": obj.get("value") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/advanced_settings.py b/cyperf/models/advanced_settings.py index 2e4b124..126cce0 100644 --- a/cyperf/models/advanced_settings.py +++ b/cyperf/models/advanced_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent.py b/cyperf/models/agent.py index 17b44d4..72f8377 100644 --- a/cyperf/models/agent.py +++ b/cyperf/models/agent.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -36,9 +36,11 @@ class Agent(BaseModel): Agent """ # noqa: E501 agent_tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags", alias="AgentTags") + display_name_format: Optional[StrictStr] = Field(default=None, description="display agent name format", alias="DisplayNameFormat") ip: Optional[StrictStr] = Field(default=None, description="The management IP of the agent", alias="IP") interfaces: Optional[List[Interface]] = Field(default=None, description="A list of test interfaces available on the agent", alias="Interfaces") last_update: Optional[StrictInt] = Field(default=None, description="A Unix timestamp that indicates when the agent was last updated", alias="LastUpdate") + port_id_format: Optional[StrictStr] = Field(default=None, description="port agent id format", alias="PortIDFormat") reservation_id: Optional[StrictStr] = Field(default=None, description="The ID of the reservation", alias="ReservationID") selected_env: Optional[SelectedEnv] = Field(default=None, alias="SelectedEnv") selection_status: Optional[StrictStr] = Field(default=None, description="The current status of the selection operation", alias="SelectionStatus") @@ -60,7 +62,7 @@ class Agent(BaseModel): requires_updating: Optional[StrictBool] = Field(default=None, description="A flag indicating whether the agent is not using the recommended version", alias="requiresUpdating") system_info: Optional[SystemInfo] = Field(default=None, alias="systemInfo") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["AgentTags", "IP", "Interfaces", "LastUpdate", "ReservationID", "SelectedEnv", "SelectionStatus", "SessionName", "Status", "configuredProxy", "cpuInfo", "dpdkEnabled", "features", "hostname", "id", "memoryMB", "mgmtInterface", "ntpInfo", "offline", "owner", "ownerId", "packageVersionStatus", "requiresUpdating", "systemInfo", "links"] + __properties: ClassVar[List[str]] = ["AgentTags", "DisplayNameFormat", "IP", "Interfaces", "LastUpdate", "PortIDFormat", "ReservationID", "SelectedEnv", "SelectionStatus", "SessionName", "Status", "configuredProxy", "cpuInfo", "dpdkEnabled", "features", "hostname", "id", "memoryMB", "mgmtInterface", "ntpInfo", "offline", "owner", "ownerId", "packageVersionStatus", "requiresUpdating", "systemInfo", "links"] model_config = ConfigDict( populate_by_name=True, @@ -182,9 +184,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "AgentTags": obj.get("AgentTags") if obj.get("AgentTags") is not None else [], + "DisplayNameFormat": obj.get("DisplayNameFormat"), "IP": obj.get("IP"), "Interfaces": ( [Interface.from_dict(_item) for _item in obj.get("Interfaces", [])] if obj.get("Interfaces") is not None else None), "LastUpdate": obj.get("LastUpdate"), + "PortIDFormat": obj.get("PortIDFormat"), "ReservationID": obj.get("ReservationID"), "SelectedEnv": SelectedEnv.from_dict(obj["SelectedEnv"]) if obj.get("SelectedEnv") is not None else None, "SelectionStatus": obj.get("SelectionStatus"), diff --git a/cyperf/models/get_certificates200_response_one_of.py b/cyperf/models/agent_assignment_by_front_panel_port.py similarity index 52% rename from cyperf/models/get_certificates200_response_one_of.py rename to cyperf/models/agent_assignment_by_front_panel_port.py index 20fc846..e1e81b0 100644 --- a/cyperf/models/get_certificates200_response_one_of.py +++ b/cyperf/models/agent_assignment_by_front_panel_port.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,24 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.generic_file import GenericFile -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.api_link import APILink +from cyperf.models.capture_settings import CaptureSettings +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetCertificates200ResponseOneOf(BaseModel): +class AgentAssignmentByFrontPanelPort(BaseModel): """ - GetCertificates200ResponseOneOf + Details of an agent assignment by front panel port """ # noqa: E501 - data: Optional[List[GenericFile]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] + capture_settings: Optional[CaptureSettings] = Field(default=None, description="The capture settings of the front panel port that is assigned.", alias="captureSettings") + compute_resources_by_type: Optional[Dict[str, StrictInt]] = Field(default=None, description="The number of compute resources to assign per compute node type name + aggregation mode. Each key must be formatted as ':'.", alias="computeResourcesByType") + front_panel_port_id: StrictStr = Field(description="The id of the front panel port that is assigned.", alias="frontPanelPortId") + id: StrictStr + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["captureSettings", "computeResourcesByType", "frontPanelPortId", "id", "links"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +55,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetCertificates200ResponseOneOf from a JSON string""" + """Create an instance of AgentAssignmentByFrontPanelPort from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,18 +76,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) + # override the default output from pydantic by calling `to_dict()` of capture_settings + if self.capture_settings: + _dict['captureSettings'] = self.capture_settings.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) _items = [] - if self.data: - for _item in self.data: + if self.links: + for _item in self.links: if _item: _items.append(_item.to_dict()) - _dict['data'] = _items + _dict['links'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetCertificates200ResponseOneOf from a dict""" + """Create an instance of AgentAssignmentByFrontPanelPort from a dict""" if obj is None: return None @@ -93,8 +100,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [GenericFile.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") + "captureSettings": CaptureSettings.from_dict(obj["captureSettings"]) if obj.get("captureSettings") is not None else None, + "computeResourcesByType": obj.get("computeResourcesByType"), + "frontPanelPortId": obj.get("frontPanelPortId"), + "id": obj.get("id"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) , "links": obj.get("links") }) diff --git a/cyperf/models/agent_assignment_by_port.py b/cyperf/models/agent_assignment_by_port.py index 3142e3b..8986db2 100644 --- a/cyperf/models/agent_assignment_by_port.py +++ b/cyperf/models/agent_assignment_by_port.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent_assignment_details.py b/cyperf/models/agent_assignment_details.py index fd2fccc..677fe54 100644 --- a/cyperf/models/agent_assignment_details.py +++ b/cyperf/models/agent_assignment_details.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent_assignments.py b/cyperf/models/agent_assignments.py index d2400e2..7522e4f 100644 --- a/cyperf/models/agent_assignments.py +++ b/cyperf/models/agent_assignments.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,6 +20,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.agent_assignment_by_front_panel_port import AgentAssignmentByFrontPanelPort from cyperf.models.agent_assignment_by_port import AgentAssignmentByPort from cyperf.models.agent_assignment_details import AgentAssignmentDetails from cyperf.models.api_link import APILink @@ -31,11 +32,12 @@ class AgentAssignments(BaseModel): """ The agents assigned to the current test configuration """ # noqa: E501 + by_front_panel_port: Optional[List[AgentAssignmentByFrontPanelPort]] = Field(default=None, description="The front panel ports assigned to the current test configuration.", alias="ByFrontPanelPort") by_id: Optional[List[AgentAssignmentDetails]] = Field(default=None, description="The agents statically assigned to the current test configuration.", alias="ByID") by_port: Optional[List[AgentAssignmentByPort]] = Field(default=None, description="The ports assigned to the current test configuration.", alias="ByPort") by_tag: Optional[List[StrictStr]] = Field(default=None, description="The tags according to which the agents are dynamically assigned.", alias="ByTag") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["ByID", "ByPort", "ByTag", "links"] + __properties: ClassVar[List[str]] = ["ByFrontPanelPort", "ByID", "ByPort", "ByTag", "links"] model_config = ConfigDict( populate_by_name=True, @@ -76,6 +78,13 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of each item in by_front_panel_port (list) + _items = [] + if self.by_front_panel_port: + for _item in self.by_front_panel_port: + if _item: + _items.append(_item.to_dict()) + _dict['ByFrontPanelPort'] = _items # override the default output from pydantic by calling `to_dict()` of each item in by_id (list) _items = [] if self.by_id: @@ -111,7 +120,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "ByID": ( [AgentAssignmentDetails.from_dict(_item) for _item in obj.get("ByID", [])] if obj.get("ByID") is not None else None), + "ByFrontPanelPort": ( [AgentAssignmentByFrontPanelPort.from_dict(_item) for _item in obj.get("ByFrontPanelPort", [])] if obj.get("ByFrontPanelPort") is not None else None), + "ByID": ( [AgentAssignmentDetails.from_dict(_item) for _item in obj.get("ByID", [])] if obj.get("ByID") is not None else None), "ByPort": ( [AgentAssignmentByPort.from_dict(_item) for _item in obj.get("ByPort", [])] if obj.get("ByPort") is not None else None), "ByTag": obj.get("ByTag") if obj.get("ByTag") is not None else [], "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) diff --git a/cyperf/models/agent_cpu_info.py b/cyperf/models/agent_cpu_info.py index ff56423..53c0680 100644 --- a/cyperf/models/agent_cpu_info.py +++ b/cyperf/models/agent_cpu_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent_features.py b/cyperf/models/agent_features.py index 4631d9d..02e89b0 100644 --- a/cyperf/models/agent_features.py +++ b/cyperf/models/agent_features.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent_optimization_mode.py b/cyperf/models/agent_optimization_mode.py index 26183c2..a30a1fe 100644 --- a/cyperf/models/agent_optimization_mode.py +++ b/cyperf/models/agent_optimization_mode.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent_release.py b/cyperf/models/agent_release.py index 02852a3..3b209b6 100644 --- a/cyperf/models/agent_release.py +++ b/cyperf/models/agent_release.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agent_reservation.py b/cyperf/models/agent_reservation.py index cfe014e..4a75a50 100644 --- a/cyperf/models/agent_reservation.py +++ b/cyperf/models/agent_reservation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -30,11 +30,12 @@ class AgentReservation(BaseModel): """ # noqa: E501 agent_id: Optional[StrictStr] = Field(default=None, alias="agentId") agent_payload_names: Optional[List[StrictStr]] = Field(default=None, alias="agentPayloadNames") + front_panel_port_id: Optional[StrictStr] = Field(default=None, alias="frontPanelPortId") general_purpose_cpu_percent: Optional[StrictInt] = Field(default=None, alias="generalPurposeCPUPercent") interfaces: Optional[List[StrictStr]] = None ip_address_version_used: Optional[StrictStr] = Field(default=None, alias="ipAddressVersionUsed") optimization_mode: Optional[StrictStr] = Field(default=None, alias="optimizationMode") - __properties: ClassVar[List[str]] = ["agentId", "agentPayloadNames", "generalPurposeCPUPercent", "interfaces", "ipAddressVersionUsed", "optimizationMode"] + __properties: ClassVar[List[str]] = ["agentId", "agentPayloadNames", "frontPanelPortId", "generalPurposeCPUPercent", "interfaces", "ipAddressVersionUsed", "optimizationMode"] model_config = ConfigDict( populate_by_name=True, @@ -91,6 +92,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "agentId": obj.get("agentId"), "agentPayloadNames": obj.get("agentPayloadNames") if obj.get("agentPayloadNames") is not None else [], + "frontPanelPortId": obj.get("frontPanelPortId"), "generalPurposeCPUPercent": obj.get("generalPurposeCPUPercent"), "interfaces": obj.get("interfaces") if obj.get("interfaces") is not None else [], "ipAddressVersionUsed": obj.get("ipAddressVersionUsed"), diff --git a/cyperf/models/agent_to_be_rebooted.py b/cyperf/models/agent_to_be_rebooted.py index 8d8fcf5..11c2361 100644 --- a/cyperf/models/agent_to_be_rebooted.py +++ b/cyperf/models/agent_to_be_rebooted.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/agents_group.py b/cyperf/models/agents_group.py index cce0959..b1d9e57 100644 --- a/cyperf/models/agents_group.py +++ b/cyperf/models/agents_group.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/api_link.py b/cyperf/models/api_link.py index ddf20df..dbebaac 100644 --- a/cyperf/models/api_link.py +++ b/cyperf/models/api_link.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/api_relationship.py b/cyperf/models/api_relationship.py index 8cc294f..7d967a5 100644 --- a/cyperf/models/api_relationship.py +++ b/cyperf/models/api_relationship.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_exchange.py b/cyperf/models/app_exchange.py index 79fb1fc..5c9b55d 100644 --- a/cyperf/models/app_exchange.py +++ b/cyperf/models/app_exchange.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_flow.py b/cyperf/models/app_flow.py index e0346b7..3f57168 100644 --- a/cyperf/models/app_flow.py +++ b/cyperf/models/app_flow.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_flow_desc.py b/cyperf/models/app_flow_desc.py index 42cf3cd..0f4f46a 100644 --- a/cyperf/models/app_flow_desc.py +++ b/cyperf/models/app_flow_desc.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_flow_input.py b/cyperf/models/app_flow_input.py index 01af86c..9ab63d3 100644 --- a/cyperf/models/app_flow_input.py +++ b/cyperf/models/app_flow_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_flow_input_find_param.py b/cyperf/models/app_flow_input_find_param.py index 13bd6f2..89348d4 100644 --- a/cyperf/models/app_flow_input_find_param.py +++ b/cyperf/models/app_flow_input_find_param.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_id.py b/cyperf/models/app_id.py index b40ddf7..ab46745 100644 --- a/cyperf/models/app_id.py +++ b/cyperf/models/app_id.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/app_mode.py b/cyperf/models/app_mode.py index 4dca4fc..07ab234 100644 --- a/cyperf/models/app_mode.py +++ b/cyperf/models/app_mode.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/application.py b/cyperf/models/application.py index e656008..3891e24 100644 --- a/cyperf/models/application.py +++ b/cyperf/models/application.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -27,6 +27,7 @@ from cyperf.models.endpoint import Endpoint from cyperf.models.http_profile import HTTPProfile from cyperf.models.ip_preference import IpPreference +from cyperf.models.llmapi_profile import LLMAPIProfile from cyperf.models.network_mapping import NetworkMapping from cyperf.models.params import Params from cyperf.models.quic_profile import QUICProfile @@ -76,16 +77,19 @@ class Application(BaseModel): links: Optional[List[APILink]] = None client_tls_profile: Optional[TLSProfile] = Field(default=None, alias="ClientTLSProfile") data_types: Optional[List[DataType]] = Field(default=None, alias="DataTypes") + inherit_llmapi: Optional[StrictBool] = Field(default=None, alias="InheritLLMAPI") inherit_tls: Optional[StrictBool] = Field(default=None, alias="InheritTLS") is_stateless_stream: Optional[StrictBool] = Field(default=None, alias="IsStatelessStream") is_streaming: Optional[StrictBool] = Field(default=None, alias="IsStreaming") - objective_weight: StrictInt = Field(description="The objective weight of the application.", alias="ObjectiveWeight") + llmapi_profiles: Optional[List[LLMAPIProfile]] = Field(default=None, alias="LLMAPIProfiles") + objective_weight: Optional[StrictInt] = Field(default=None, description="The objective weight of the application.", alias="ObjectiveWeight") protocol_found: Optional[StrictBool] = Field(default=None, alias="ProtocolFound") server_tls_profile: Optional[TLSProfile] = Field(default=None, alias="ServerTLSProfile") stateless_stream: Optional[StatelessStream] = Field(default=None, alias="StatelessStream") static: Optional[StrictBool] = Field(default=None, alias="Static") supported_apps: Optional[List[StrictStr]] = Field(default=None, alias="SupportedApps") supports_calibration: Optional[StrictBool] = Field(default=None, alias="SupportsCalibration") + supports_http2: Optional[StrictBool] = Field(default=None, alias="SupportsHTTP2") supports_multi_flow: Optional[StrictBool] = Field(default=None, alias="SupportsMultiFlow") supports_strikes: Optional[StrictBool] = Field(default=None, alias="SupportsStrikes") supports_tls: Optional[StrictBool] = Field(default=None, alias="SupportsTLS") @@ -94,7 +98,7 @@ class Application(BaseModel): _modify_excluded_dut_recursively_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,UpdateApplicationNetworkMapping" }) modify_tags_recursively: Optional[List[UpdateNetworkMapping]] = Field(default=None, alias="modify-tags-recursively") _modify_tags_recursively_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,UpdateApplicationNetworkMapping" }) - __properties: ClassVar[List[str]] = ["ActionTimeout", "Active", "ClientHTTPProfile", "ClientQUICProfile", "Connections", "ConnectionsMaxTransactions", "Description", "DestinationHostname", "DnnId", "EndPointID", "Endpoints", "ExternalResourceURL", "Index", "InheritHTTPProfile", "InheritQUICProfile", "IpPreference", "IsDeprecated", "IterationCount", "MaxActiveLimit", "Name", "NetworkMapping", "Params", "ProtocolID", "QosFlowId", "ReadonlyMaxTrans", "ServerHTTPProfile", "ServerQUICProfile", "SupportsClientHTTPProfile", "SupportsHTTPProfiles", "SupportsServerHTTPProfile", "id", "links", "ClientTLSProfile", "DataTypes", "InheritTLS", "IsStatelessStream", "IsStreaming", "ObjectiveWeight", "ProtocolFound", "ServerTLSProfile", "StatelessStream", "Static", "SupportedApps", "SupportsCalibration", "SupportsMultiFlow", "SupportsStrikes", "SupportsTLS", "Tracks", "modify-excluded-dut-recursively", "modify-tags-recursively"] + __properties: ClassVar[List[str]] = ["ActionTimeout", "Active", "ClientHTTPProfile", "ClientQUICProfile", "Connections", "ConnectionsMaxTransactions", "Description", "DestinationHostname", "DnnId", "EndPointID", "Endpoints", "ExternalResourceURL", "Index", "InheritHTTPProfile", "InheritQUICProfile", "IpPreference", "IsDeprecated", "IterationCount", "MaxActiveLimit", "Name", "NetworkMapping", "Params", "ProtocolID", "QosFlowId", "ReadonlyMaxTrans", "ServerHTTPProfile", "ServerQUICProfile", "SupportsClientHTTPProfile", "SupportsHTTPProfiles", "SupportsServerHTTPProfile", "id", "links", "ClientTLSProfile", "DataTypes", "InheritLLMAPI", "InheritTLS", "IsStatelessStream", "IsStreaming", "LLMAPIProfiles", "ObjectiveWeight", "ProtocolFound", "ServerTLSProfile", "StatelessStream", "Static", "SupportedApps", "SupportsCalibration", "SupportsHTTP2", "SupportsMultiFlow", "SupportsStrikes", "SupportsTLS", "Tracks", "modify-excluded-dut-recursively", "modify-tags-recursively"] @field_validator('name') def name_validate_regular_expression(cls, value): @@ -198,6 +202,13 @@ def to_dict(self) -> Dict[str, Any]: if _item: _items.append(_item.to_dict()) _dict['DataTypes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in llmapi_profiles (list) + _items = [] + if self.llmapi_profiles: + for _item in self.llmapi_profiles: + if _item: + _items.append(_item.to_dict()) + _dict['LLMAPIProfiles'] = _items # override the default output from pydantic by calling `to_dict()` of server_tls_profile if self.server_tls_profile: _dict['ServerTLSProfile'] = self.server_tls_profile.to_dict() @@ -273,9 +284,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), "ClientTLSProfile": TLSProfile.from_dict(obj["ClientTLSProfile"]) if obj.get("ClientTLSProfile") is not None else None, "DataTypes": ( [DataType.from_dict(_item) for _item in obj.get("DataTypes", [])] if obj.get("DataTypes") is not None else None), + "InheritLLMAPI": obj.get("InheritLLMAPI"), "InheritTLS": obj.get("InheritTLS"), "IsStatelessStream": obj.get("IsStatelessStream"), "IsStreaming": obj.get("IsStreaming"), + "LLMAPIProfiles": ( [LLMAPIProfile.from_dict(_item) for _item in obj.get("LLMAPIProfiles", [])] if obj.get("LLMAPIProfiles") is not None else None), "ObjectiveWeight": obj.get("ObjectiveWeight"), "ProtocolFound": obj.get("ProtocolFound"), "ServerTLSProfile": TLSProfile.from_dict(obj["ServerTLSProfile"]) if obj.get("ServerTLSProfile") is not None else None, @@ -283,6 +296,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "Static": obj.get("Static"), "SupportedApps": obj.get("SupportedApps") if obj.get("SupportedApps") is not None else [], "SupportsCalibration": obj.get("SupportsCalibration"), + "SupportsHTTP2": obj.get("SupportsHTTP2"), "SupportsMultiFlow": obj.get("SupportsMultiFlow"), "SupportsStrikes": obj.get("SupportsStrikes"), "SupportsTLS": obj.get("SupportsTLS"), diff --git a/cyperf/models/application_profile.py b/cyperf/models/application_profile.py index 8559031..229efa0 100644 --- a/cyperf/models/application_profile.py +++ b/cyperf/models/application_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -25,6 +25,7 @@ from cyperf.models.external_resource_info import ExternalResourceInfo from cyperf.models.network_mapping import NetworkMapping from cyperf.models.objectives_and_timeline import ObjectivesAndTimeline +from cyperf.models.playlist_sequencing_method import PlaylistSequencingMethod from cyperf.models.traffic_settings import TrafficSettings from cyperf.models.update_network_mapping import UpdateNetworkMapping from typing import Optional, Set, Union @@ -36,6 +37,7 @@ class ApplicationProfile(BaseModel): ApplicationProfile """ # noqa: E501 active: Optional[StrictBool] = Field(default=None, description="Indicates whether the profile is enabled or not.", alias="Active") + playlist_sequencing_method: Optional[PlaylistSequencingMethod] = Field(default=None, alias="PlaylistSequencingMethod") traffic_settings: Optional[TrafficSettings] = Field(default=None, alias="TrafficSettings") use_all_source_ips_per_user: Optional[StrictBool] = Field(default=None, description="Indicates whether one or all source IPs are used for each simulated user.", alias="UseAllSourceIPsPerUser") id: Optional[StrictStr] = None @@ -52,7 +54,7 @@ class ApplicationProfile(BaseModel): _modify_tags_recursively_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,UpdateTrafficProfileNetworkMapping" }) reset_tags_to_default: Optional[List[Union[StrictBytes, StrictStr]]] = Field(default=None, alias="reset-tags-to-default") _reset_tags_to_default_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,ResetTrafficProfileNetworkMapping" }) - __properties: ClassVar[List[str]] = ["Active", "TrafficSettings", "UseAllSourceIPsPerUser", "id", "links", "Applications", "DefaultNetworkMapping", "Name", "ObjectivesAndTimeline", "add-applications", "modify-excluded-dut-recursively", "modify-tags-recursively", "reset-tags-to-default"] + __properties: ClassVar[List[str]] = ["Active", "PlaylistSequencingMethod", "TrafficSettings", "UseAllSourceIPsPerUser", "id", "links", "Applications", "DefaultNetworkMapping", "Name", "ObjectivesAndTimeline", "add-applications", "modify-excluded-dut-recursively", "modify-tags-recursively", "reset-tags-to-default"] model_config = ConfigDict( populate_by_name=True, @@ -152,6 +154,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "Active": obj.get("Active"), + "PlaylistSequencingMethod": obj.get("PlaylistSequencingMethod"), "TrafficSettings": TrafficSettings.from_dict(obj["TrafficSettings"]) if obj.get("TrafficSettings") is not None else None, "UseAllSourceIPsPerUser": obj.get("UseAllSourceIPsPerUser"), "id": obj.get("id"), diff --git a/cyperf/models/application_type.py b/cyperf/models/application_type.py index b05b4e4..38e0565 100644 --- a/cyperf/models/application_type.py +++ b/cyperf/models/application_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/appsec_app.py b/cyperf/models/appsec_app.py index 48fa646..1d0f31a 100644 --- a/cyperf/models/appsec_app.py +++ b/cyperf/models/appsec_app.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/appsec_app_metadata.py b/cyperf/models/appsec_app_metadata.py index 907a4ae..a07e24a 100644 --- a/cyperf/models/appsec_app_metadata.py +++ b/cyperf/models/appsec_app_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/appsec_app_metadata_keywords_inner.py b/cyperf/models/appsec_app_metadata_keywords_inner.py index c8f39ce..eeeee36 100644 --- a/cyperf/models/appsec_app_metadata_keywords_inner.py +++ b/cyperf/models/appsec_app_metadata_keywords_inner.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/appsec_attack.py b/cyperf/models/appsec_attack.py index cbbd65a..e059cb2 100644 --- a/cyperf/models/appsec_attack.py +++ b/cyperf/models/appsec_attack.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/appsec_config.py b/cyperf/models/appsec_config.py index f861a8a..53dcf64 100644 --- a/cyperf/models/appsec_config.py +++ b/cyperf/models/appsec_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/archive_info.py b/cyperf/models/archive_info.py index a8ebe18..4bfeba1 100644 --- a/cyperf/models/archive_info.py +++ b/cyperf/models/archive_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/array_v2_element_metadata.py b/cyperf/models/array_v2_element_metadata.py index b10aac2..07fdfef 100644 --- a/cyperf/models/array_v2_element_metadata.py +++ b/cyperf/models/array_v2_element_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/async_context.py b/cyperf/models/async_context.py index bd6749b..2c563b0 100644 --- a/cyperf/models/async_context.py +++ b/cyperf/models/async_context.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/attack.py b/cyperf/models/attack.py index faf4758..0438bf4 100644 --- a/cyperf/models/attack.py +++ b/cyperf/models/attack.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -28,6 +28,7 @@ from cyperf.models.endpoint import Endpoint from cyperf.models.http_profile import HTTPProfile from cyperf.models.ip_preference import IpPreference +from cyperf.models.llmapi_profile import LLMAPIProfile from cyperf.models.network_mapping import NetworkMapping from cyperf.models.params import Params from cyperf.models.quic_profile import QUICProfile @@ -74,7 +75,9 @@ class Attack(BaseModel): id: Optional[StrictStr] = None links: Optional[List[APILink]] = None client_tls_profile: Optional[TLSProfile] = Field(default=None, alias="ClientTLSProfile") + inherit_llmapi: Optional[StrictBool] = Field(default=None, alias="InheritLLMAPI") inherit_tls: Optional[StrictBool] = Field(default=None, alias="InheritTLS") + llmapi_profiles: Optional[List[LLMAPIProfile]] = Field(default=None, alias="LLMAPIProfiles") server_tls_profile: Optional[TLSProfile] = Field(default=None, alias="ServerTLSProfile") supports_tls: Optional[StrictBool] = Field(default=None, alias="SupportsTLS") tracks: Optional[List[AttackTrack]] = Field(default=None, alias="Tracks") @@ -84,7 +87,7 @@ class Attack(BaseModel): _modify_excluded_dut_recursively_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,UpdateAttackNetworkMapping" }) modify_tags_recursively: Optional[List[UpdateNetworkMapping]] = Field(default=None, alias="modify-tags-recursively") _modify_tags_recursively_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,UpdateAttackNetworkMapping" }) - __properties: ClassVar[List[str]] = ["ActionTimeout", "Active", "ClientHTTPProfile", "ClientQUICProfile", "Connections", "ConnectionsMaxTransactions", "Description", "DestinationHostname", "DnnId", "EndPointID", "Endpoints", "ExternalResourceURL", "Index", "InheritHTTPProfile", "InheritQUICProfile", "IpPreference", "IsDeprecated", "IterationCount", "MaxActiveLimit", "Name", "NetworkMapping", "Params", "ProtocolID", "QosFlowId", "ReadonlyMaxTrans", "ServerHTTPProfile", "ServerQUICProfile", "SupportsClientHTTPProfile", "SupportsHTTPProfiles", "SupportsServerHTTPProfile", "id", "links", "ClientTLSProfile", "InheritTLS", "ServerTLSProfile", "SupportsTLS", "Tracks", "create", "modify-excluded-dut-recursively", "modify-tags-recursively"] + __properties: ClassVar[List[str]] = ["ActionTimeout", "Active", "ClientHTTPProfile", "ClientQUICProfile", "Connections", "ConnectionsMaxTransactions", "Description", "DestinationHostname", "DnnId", "EndPointID", "Endpoints", "ExternalResourceURL", "Index", "InheritHTTPProfile", "InheritQUICProfile", "IpPreference", "IsDeprecated", "IterationCount", "MaxActiveLimit", "Name", "NetworkMapping", "Params", "ProtocolID", "QosFlowId", "ReadonlyMaxTrans", "ServerHTTPProfile", "ServerQUICProfile", "SupportsClientHTTPProfile", "SupportsHTTPProfiles", "SupportsServerHTTPProfile", "id", "links", "ClientTLSProfile", "InheritLLMAPI", "InheritTLS", "LLMAPIProfiles", "ServerTLSProfile", "SupportsTLS", "Tracks", "create", "modify-excluded-dut-recursively", "modify-tags-recursively"] @field_validator('name') def name_validate_regular_expression(cls, value): @@ -181,6 +184,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of client_tls_profile if self.client_tls_profile: _dict['ClientTLSProfile'] = self.client_tls_profile.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in llmapi_profiles (list) + _items = [] + if self.llmapi_profiles: + for _item in self.llmapi_profiles: + if _item: + _items.append(_item.to_dict()) + _dict['LLMAPIProfiles'] = _items # override the default output from pydantic by calling `to_dict()` of server_tls_profile if self.server_tls_profile: _dict['ServerTLSProfile'] = self.server_tls_profile.to_dict() @@ -259,7 +269,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), "ClientTLSProfile": TLSProfile.from_dict(obj["ClientTLSProfile"]) if obj.get("ClientTLSProfile") is not None else None, + "InheritLLMAPI": obj.get("InheritLLMAPI"), "InheritTLS": obj.get("InheritTLS"), + "LLMAPIProfiles": ( [LLMAPIProfile.from_dict(_item) for _item in obj.get("LLMAPIProfiles", [])] if obj.get("LLMAPIProfiles") is not None else None), "ServerTLSProfile": TLSProfile.from_dict(obj["ServerTLSProfile"]) if obj.get("ServerTLSProfile") is not None else None, "SupportsTLS": obj.get("SupportsTLS"), "Tracks": ( [AttackTrack.from_dict(_item) for _item in obj.get("Tracks", [])] if obj.get("Tracks") is not None else None), diff --git a/cyperf/models/attack_action.py b/cyperf/models/attack_action.py index 589854a..0670016 100644 --- a/cyperf/models/attack_action.py +++ b/cyperf/models/attack_action.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -23,6 +23,7 @@ from typing_extensions import Annotated from cyperf.models.api_link import APILink from cyperf.models.exchange import Exchange +from cyperf.models.http_version import HTTPVersion from cyperf.models.params import Params from typing import Optional, Set, Union from typing_extensions import Self @@ -38,15 +39,17 @@ class AttackAction(BaseModel): is_banner: Optional[StrictBool] = Field(default=None, description="Indicates if this is a required action, can only be add once and also must be the first", alias="IsBanner") is_deprecated: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is deprecated.", alias="IsDeprecated") is_hostname: Optional[StrictInt] = Field(default=None, alias="IsHostname") + is_llm_strike: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is an LLM strike.", alias="IsLLMStrike") is_strike: Optional[StrictBool] = Field(default=None, description="A value that indicates if the action is a strike.", alias="IsStrike") name: Optional[StrictStr] = Field(default=None, description="The name of the action.", alias="Name") params: Optional[List[Params]] = Field(default=None, alias="Params") port: Optional[StrictInt] = Field(default=None, description="The port of the destination host.", alias="Port") protocol_id: Optional[StrictStr] = Field(default=None, alias="ProtocolID") requires_uniqueness: Optional[StrictBool] = Field(default=None, description="If true, for applications with the same protocol id, application/attack must have been uniquely identified in previous commands.", alias="RequiresUniqueness") + supported_http_versions: Optional[List[HTTPVersion]] = Field(default=None, description="The HTTP versions supported by the action.", alias="SupportedHTTPVersions") id: Optional[StrictStr] = None links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["DstHost", "Exchanges", "Index", "IsBanner", "IsDeprecated", "IsHostname", "IsStrike", "Name", "Params", "Port", "ProtocolID", "RequiresUniqueness", "id", "links"] + __properties: ClassVar[List[str]] = ["DstHost", "Exchanges", "Index", "IsBanner", "IsDeprecated", "IsHostname", "IsLLMStrike", "IsStrike", "Name", "Params", "Port", "ProtocolID", "RequiresUniqueness", "SupportedHTTPVersions", "id", "links"] @field_validator('dst_host') def dst_host_validate_regular_expression(cls, value): @@ -138,12 +141,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "IsBanner": obj.get("IsBanner"), "IsDeprecated": obj.get("IsDeprecated"), "IsHostname": obj.get("IsHostname"), + "IsLLMStrike": obj.get("IsLLMStrike"), "IsStrike": obj.get("IsStrike"), "Name": obj.get("Name"), "Params": ( [Params.from_dict(_item) for _item in obj.get("Params", [])] if obj.get("Params") is not None else None), "Port": obj.get("Port"), "ProtocolID": obj.get("ProtocolID"), "RequiresUniqueness": obj.get("RequiresUniqueness"), + "SupportedHTTPVersions": obj.get("SupportedHTTPVersions"), "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) , diff --git a/cyperf/models/attack_metadata.py b/cyperf/models/attack_metadata.py index d0306f8..6908e5e 100644 --- a/cyperf/models/attack_metadata.py +++ b/cyperf/models/attack_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/attack_metadata_keywords_inner.py b/cyperf/models/attack_metadata_keywords_inner.py deleted file mode 100644 index 43082b2..0000000 --- a/cyperf/models/attack_metadata_keywords_inner.py +++ /dev/null @@ -1,208 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -from inspect import getfullargspec -import json -import pprint -import re # noqa: F401 -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator -from typing import Any, Dict, List, Optional, Union -from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict -from typing_extensions import Literal, Self -from pydantic import Field - -ATTACKMETADATAKEYWORDSINNER_ANY_OF_SCHEMAS = ["List[object]", "bool", "float", "int", "object", "str"] - -class AttackMetadataKeywordsInner(BaseModel): - """ - AttackMetadataKeywordsInner - """ - - # data type: str - anyof_schema_1_validator: Optional[StrictStr] = None - # data type: float - anyof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None - # data type: int - anyof_schema_3_validator: Optional[StrictInt] = None - # data type: bool - anyof_schema_4_validator: Optional[StrictBool] = None - # data type: List[object] - anyof_schema_5_validator: Optional[List[Any]] = None - # data type: object - anyof_schema_6_validator: Optional[Dict[str, Any]] = None - if TYPE_CHECKING: - actual_instance: Optional[Union[List[object], bool, float, int, object, str]] = None - else: - actual_instance: Any = None - any_of_schemas: Set[str] = { "List[object]", "bool", "float", "int", "object", "str" } - - model_config = { - "validate_assignment": True, - "protected_namespaces": (), - } - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_anyof(cls, v): - instance = AttackMetadataKeywordsInner.model_construct() - error_messages = [] - # validate data type: str - try: - instance.anyof_schema_1_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: float - try: - instance.anyof_schema_2_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: int - try: - instance.anyof_schema_3_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: bool - try: - instance.anyof_schema_4_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: List[object] - try: - instance.anyof_schema_5_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: object - try: - instance.anyof_schema_6_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - if error_messages: - # no match - raise ValueError("No match found when setting the actual_instance in AttackMetadataKeywordsInner with anyOf schemas: List[object], bool, float, int, object, str. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Dict[str, Any]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - # deserialize data into str - try: - # validation - instance.anyof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_1_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into float - try: - # validation - instance.anyof_schema_2_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_2_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into int - try: - # validation - instance.anyof_schema_3_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_3_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into bool - try: - # validation - instance.anyof_schema_4_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_4_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into List[object] - try: - # validation - instance.anyof_schema_5_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_5_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into object - try: - # validation - instance.anyof_schema_6_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_6_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if error_messages: - # no match - raise ValueError("No match found when deserializing the JSON string into AttackMetadataKeywordsInner with anyOf schemas: List[object], bool, float, int, object, str. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], List[object], bool, float, int, object, str]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/attack_objectives_and_timeline.py b/cyperf/models/attack_objectives_and_timeline.py index 21bd090..e070c86 100644 --- a/cyperf/models/attack_objectives_and_timeline.py +++ b/cyperf/models/attack_objectives_and_timeline.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/attack_profile.py b/cyperf/models/attack_profile.py index 643e4f6..b520747 100644 --- a/cyperf/models/attack_profile.py +++ b/cyperf/models/attack_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -25,6 +25,7 @@ from cyperf.models.attack_objectives_and_timeline import AttackObjectivesAndTimeline from cyperf.models.external_resource_info import ExternalResourceInfo from cyperf.models.network_mapping import NetworkMapping +from cyperf.models.playlist_sequencing_method import PlaylistSequencingMethod from cyperf.models.traffic_settings import TrafficSettings from cyperf.models.update_network_mapping import UpdateNetworkMapping from typing import Optional, Set, Union @@ -36,6 +37,7 @@ class AttackProfile(BaseModel): AttackProfile """ # noqa: E501 active: Optional[StrictBool] = Field(default=None, description="Indicates whether the profile is enabled or not.", alias="Active") + playlist_sequencing_method: Optional[PlaylistSequencingMethod] = Field(default=None, alias="PlaylistSequencingMethod") traffic_settings: Optional[TrafficSettings] = Field(default=None, alias="TrafficSettings") use_all_source_ips_per_user: Optional[StrictBool] = Field(default=None, description="Indicates whether one or all source IPs are used for each simulated user.", alias="UseAllSourceIPsPerUser") id: Optional[StrictStr] = None @@ -52,7 +54,7 @@ class AttackProfile(BaseModel): _modify_tags_recursively_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,UpdateAttackProfileNetworkMapping" }) reset_tags_to_default: Optional[List[Union[StrictBytes, StrictStr]]] = Field(default=None, alias="reset-tags-to-default") _reset_tags_to_default_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,ResetAttackProfileNetworkMapping" }) - __properties: ClassVar[List[str]] = ["Active", "TrafficSettings", "UseAllSourceIPsPerUser", "id", "links", "Attacks", "DefaultNetworkMapping", "Name", "ObjectivesAndTimeline", "add-attacks", "modify-excluded-dut-recursively", "modify-tags-recursively", "reset-tags-to-default"] + __properties: ClassVar[List[str]] = ["Active", "PlaylistSequencingMethod", "TrafficSettings", "UseAllSourceIPsPerUser", "id", "links", "Attacks", "DefaultNetworkMapping", "Name", "ObjectivesAndTimeline", "add-attacks", "modify-excluded-dut-recursively", "modify-tags-recursively", "reset-tags-to-default"] model_config = ConfigDict( populate_by_name=True, @@ -152,6 +154,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "Active": obj.get("Active"), + "PlaylistSequencingMethod": obj.get("PlaylistSequencingMethod"), "TrafficSettings": TrafficSettings.from_dict(obj["TrafficSettings"]) if obj.get("TrafficSettings") is not None else None, "UseAllSourceIPsPerUser": obj.get("UseAllSourceIPsPerUser"), "id": obj.get("id"), diff --git a/cyperf/models/attack_timeline_segment.py b/cyperf/models/attack_timeline_segment.py index 1d83e28..2fce395 100644 --- a/cyperf/models/attack_timeline_segment.py +++ b/cyperf/models/attack_timeline_segment.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/attack_track.py b/cyperf/models/attack_track.py index 8a266c3..2e80c34 100644 --- a/cyperf/models/attack_track.py +++ b/cyperf/models/attack_track.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/auth_method_type.py b/cyperf/models/auth_method_type.py index a3ec0a0..a06cb7e 100644 --- a/cyperf/models/auth_method_type.py +++ b/cyperf/models/auth_method_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/auth_profile.py b/cyperf/models/auth_profile.py index 51584a5..1d549cb 100644 --- a/cyperf/models/auth_profile.py +++ b/cyperf/models/auth_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/auth_profile_metadata.py b/cyperf/models/auth_profile_metadata.py index 213454f..fe2fd75 100644 --- a/cyperf/models/auth_profile_metadata.py +++ b/cyperf/models/auth_profile_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/auth_realms_keysight_protocol_openid_connect_token_post200_response.py b/cyperf/models/auth_realms_keysight_protocol_openid_connect_token_post200_response.py deleted file mode 100644 index e89e3a2..0000000 --- a/cyperf/models/auth_realms_keysight_protocol_openid_connect_token_post200_response.py +++ /dev/null @@ -1,99 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional, Union -from typing import Optional, Set, Union, GenericAlias, get_args -from typing_extensions import Self -from pydantic import Field - -class AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response(BaseModel): - """ - AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response - """ # noqa: E501 - access_token: Optional[StrictStr] = Field(default=None, description="The access token. Set this in the Authorization HTTP Header to authenticate requests.") - expires_in: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The access token lifetime.") - refresh_expires_in: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The refresh token lifetime.") - refresh_token: Optional[StrictStr] = Field(default=None, description="Token that can be used with this request and grant_type: refresh_token to get a new access_token if the current one expires.") - __properties: ClassVar[List[str]] = ["access_token", "expires_in", "refresh_expires_in", "refresh_token"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - _obj = cls.model_validate(obj) -# _obj.api_client = client - return _obj - - _obj = cls.model_validate({ - "access_token": obj.get("access_token"), - "expires_in": obj.get("expires_in"), - "refresh_expires_in": obj.get("refresh_expires_in"), - "refresh_token": obj.get("refresh_token") - , - "links": obj.get("links") - }) - return _obj - - diff --git a/cyperf/models/auth_settings.py b/cyperf/models/auth_settings.py index ccab464..4ee91c0 100644 --- a/cyperf/models/auth_settings.py +++ b/cyperf/models/auth_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/authenticate200_response.py b/cyperf/models/authenticate200_response.py index 14d2a9a..fc836e9 100644 --- a/cyperf/models/authenticate200_response.py +++ b/cyperf/models/authenticate200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/authentication_settings.py b/cyperf/models/authentication_settings.py index e7db0d2..05afd53 100644 --- a/cyperf/models/authentication_settings.py +++ b/cyperf/models/authentication_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/automatic_ip_type.py b/cyperf/models/automatic_ip_type.py index 763accd..6848eed 100644 --- a/cyperf/models/automatic_ip_type.py +++ b/cyperf/models/automatic_ip_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/basic_auth_profile.py b/cyperf/models/basic_auth_profile.py new file mode 100644 index 0000000..0c8d08d --- /dev/null +++ b/cyperf/models/basic_auth_profile.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.params import Params +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class BasicAuthProfile(BaseModel): + """ + BasicAuthProfile + """ # noqa: E501 + active: Optional[StrictBool] = Field(default=None, alias="Active") + params: Optional[List[Params]] = Field(default=None, alias="Params") + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["Active", "Params", "links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BasicAuthProfile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in params (list) + _items = [] + if self.params: + for _item in self.params: + if _item: + _items.append(_item.to_dict()) + _dict['Params'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BasicAuthProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Active": obj.get("Active"), + "Params": ( [Params.from_dict(_item) for _item in obj.get("Params", [])] if obj.get("Params") is not None else None), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/broker.py b/cyperf/models/broker.py index ec2df0c..d42b9c1 100644 --- a/cyperf/models/broker.py +++ b/cyperf/models/broker.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set, Union from typing_extensions import Self @@ -28,18 +28,18 @@ class Broker(BaseModel): """ Broker """ # noqa: E501 - connection_status: Optional[StrictStr] = Field(default=None, description="The broker's connection status", alias="connectionStatus") - failure_reason: Optional[StrictStr] = Field(default=None, description="The broker's connection failure reason", alias="failureReason") - fingerprint: Optional[StrictStr] = Field(default=None, description="The broker's fingerprint") - host: Optional[StrictStr] = Field(default=None, description="The IP or hostname of the registered broker") - host_name: Optional[StrictStr] = Field(default=None, description="The IP or hostname of the registered broker", alias="hostName") - id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the broker") - interactive_fingerprint_verification: Optional[StrictBool] = Field(default=None, description="Validate the broker's fingerprint interactively", alias="interactiveFingerprintVerification") - password: Optional[StrictStr] = Field(default=None, description="The broker's authentication password") - pretty_conn_status: Optional[StrictStr] = Field(default=None, description="The broker's connection status in human readable format", alias="prettyConnStatus") - trust_new: Optional[StrictBool] = Field(default=None, description="The flag used to skip broker's identity verifications", alias="trustNew") - user: Optional[StrictStr] = Field(default=None, description="The broker's authentication user") - __properties: ClassVar[List[str]] = ["connectionStatus", "failureReason", "fingerprint", "host", "hostName", "id", "interactiveFingerprintVerification", "password", "prettyConnStatus", "trustNew", "user"] + connection_status: Optional[StrictStr] = Field(default=None, alias="connectionStatus") + failure_reason: Optional[StrictStr] = Field(default=None, alias="failureReason") + fingerprint: Optional[StrictStr] = None + host_name: Optional[StrictStr] = Field(default=None, alias="hostName") + id: Optional[StrictInt] = None + interactive_fingerprint_verification: Optional[StrictBool] = Field(default=None, alias="interactiveFingerprintVerification") + password: Optional[StrictStr] = None + pretty_conn_status: Optional[StrictStr] = Field(default=None, alias="prettyConnStatus") + trust_new: Optional[StrictBool] = Field(default=None, alias="trustNew") + tunnel_host_name: Optional[StrictStr] = Field(default=None, alias="tunnelHostName") + user: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["connectionStatus", "failureReason", "fingerprint", "hostName", "id", "interactiveFingerprintVerification", "password", "prettyConnStatus", "trustNew", "tunnelHostName", "user"] model_config = ConfigDict( populate_by_name=True, @@ -71,10 +71,8 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ - "id", ]) _dict = self.model_dump( @@ -99,13 +97,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "connectionStatus": obj.get("connectionStatus"), "failureReason": obj.get("failureReason"), "fingerprint": obj.get("fingerprint"), - "host": obj.get("host"), "hostName": obj.get("hostName"), "id": obj.get("id"), "interactiveFingerprintVerification": obj.get("interactiveFingerprintVerification"), "password": obj.get("password"), "prettyConnStatus": obj.get("prettyConnStatus"), "trustNew": obj.get("trustNew"), + "tunnelHostName": obj.get("tunnelHostName"), "user": obj.get("user") , "links": obj.get("links") diff --git a/cyperf/models/capture_input.py b/cyperf/models/capture_input.py index 4c3fd3e..34ec906 100644 --- a/cyperf/models/capture_input.py +++ b/cyperf/models/capture_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/capture_input_find_param.py b/cyperf/models/capture_input_find_param.py index e57949b..bb1c6b0 100644 --- a/cyperf/models/capture_input_find_param.py +++ b/cyperf/models/capture_input_find_param.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/capture_settings.py b/cyperf/models/capture_settings.py index 889a638..3890818 100644 --- a/cyperf/models/capture_settings.py +++ b/cyperf/models/capture_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/category.py b/cyperf/models/category.py index 6c7c153..f9c32c4 100644 --- a/cyperf/models/category.py +++ b/cyperf/models/category.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/category_filter.py b/cyperf/models/category_filter.py index 4a6025b..3ab5854 100644 --- a/cyperf/models/category_filter.py +++ b/cyperf/models/category_filter.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/category_value.py b/cyperf/models/category_value.py index ec9486b..45ec445 100644 --- a/cyperf/models/category_value.py +++ b/cyperf/models/category_value.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/cert_config.py b/cyperf/models/cert_config.py index b103db8..0472eeb 100644 --- a/cyperf/models/cert_config.py +++ b/cyperf/models/cert_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/certificate.py b/cyperf/models/certificate.py index e8a6868..4c04d06 100644 --- a/cyperf/models/certificate.py +++ b/cyperf/models/certificate.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/set_app_operation.py b/cyperf/models/change_event.py similarity index 69% rename from cyperf/models/set_app_operation.py rename to cyperf/models/change_event.py index 134363b..cccc9cc 100644 --- a/cyperf/models/set_app_operation.py +++ b/cyperf/models/change_event.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,20 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr -class SetAppOperation(BaseModel): +class ChangeEvent(BaseModel): """ - SetAppOperation + ChangeEvent """ # noqa: E501 - app_id: Optional[StrictStr] = Field(default=None, description="The id of the app to activate on the controllers.", alias="appId") - controllers: Optional[List[StrictStr]] = Field(default=None, description="The controller ids for which to activate the app.") - force: Optional[StrictBool] = Field(default=None, description="Whether the ownership information will be cleared or not.") - __properties: ClassVar[List[str]] = ["appId", "controllers", "force"] + dashboard_id: Optional[StrictStr] = Field(default=None, description="The id of the changed dashboard", alias="dashboardId") + session_id: Optional[StrictStr] = Field(default=None, description="The id of the session where the change happened", alias="sessionId") + test_id: Optional[StrictStr] = Field(default=None, description="The id of the test where the change happened", alias="testId") + __properties: ClassVar[List[str]] = ["dashboardId", "sessionId", "testId"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SetAppOperation from a JSON string""" + """Create an instance of ChangeEvent from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,7 +76,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SetAppOperation from a dict""" + """Create an instance of ChangeEvent from a dict""" if obj is None: return None @@ -86,9 +86,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "appId": obj.get("appId"), - "controllers": obj.get("controllers") if obj.get("controllers") is not None else [], - "force": obj.get("force") + "dashboardId": obj.get("dashboardId"), + "sessionId": obj.get("sessionId"), + "testId": obj.get("testId") , "links": obj.get("links") }) diff --git a/cyperf/models/chassis_info.py b/cyperf/models/chassis_info.py index da9b587..00ea0da 100644 --- a/cyperf/models/chassis_info.py +++ b/cyperf/models/chassis_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set, Union from typing_extensions import Self @@ -28,12 +28,15 @@ class ChassisInfo(BaseModel): """ ChassisInfo """ # noqa: E501 + aggregated_mode: Optional[StrictBool] = Field(default=None, description="Whether the ports of this compute node are aggregated", alias="aggregatedMode") checkout_id: Optional[StrictInt] = Field(default=None, description="The id of the compute node used for checkout licenses", alias="checkoutID") compute_node_id: Optional[StrictStr] = Field(default=None, description="The id of the compute node where the agent is running", alias="computeNodeID") - hw_platform: Optional[StrictStr] = Field(default=None, alias="hwPlatform") - hw_revision: Optional[StrictStr] = Field(default=None, alias="hwRevision") + front_panel_port_id: Optional[StrictStr] = Field(default=None, description="The ID of the Front Panel Port", alias="frontPanelPortID") + hw_platform: Optional[StrictStr] = Field(default=None, description="The hardware platform the corresponding port is running on", alias="hwPlatform") + hw_revision: Optional[StrictStr] = Field(default=None, description="The hardware revision of the underlying platform", alias="hwRevision") port_id: Optional[StrictStr] = Field(default=None, description="The id of the corresponding port", alias="portID") - __properties: ClassVar[List[str]] = ["checkoutID", "computeNodeID", "hwPlatform", "hwRevision", "portID"] + type_display_name: Optional[StrictStr] = Field(default=None, description="The marketing name for the compute node", alias="typeDisplayName") + __properties: ClassVar[List[str]] = ["aggregatedMode", "checkoutID", "computeNodeID", "frontPanelPortID", "hwPlatform", "hwRevision", "portID", "typeDisplayName"] model_config = ConfigDict( populate_by_name=True, @@ -68,11 +71,21 @@ def to_dict(self) -> Dict[str, Any]: * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ + "aggregated_mode", "checkout_id", "compute_node_id", + "front_panel_port_id", + "hw_platform", + "hw_revision", "port_id", + "type_display_name", ]) _dict = self.model_dump( @@ -94,11 +107,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "checkoutID": obj.get("checkoutID"), + "aggregatedMode": obj.get("aggregatedMode"), + "checkoutID": obj.get("checkoutID"), "computeNodeID": obj.get("computeNodeID"), + "frontPanelPortID": obj.get("frontPanelPortID"), "hwPlatform": obj.get("hwPlatform"), "hwRevision": obj.get("hwRevision"), - "portID": obj.get("portID") + "portID": obj.get("portID"), + "typeDisplayName": obj.get("typeDisplayName") , "links": obj.get("links") }) diff --git a/cyperf/models/choice.py b/cyperf/models/choice.py index 83aa523..f4eebfe 100644 --- a/cyperf/models/choice.py +++ b/cyperf/models/choice.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/cipher_tls12.py b/cyperf/models/cipher_tls12.py index 37a85c1..9a0d727 100644 --- a/cyperf/models/cipher_tls12.py +++ b/cyperf/models/cipher_tls12.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/cipher_tls13.py b/cyperf/models/cipher_tls13.py index 3327e12..c2a30c1 100644 --- a/cyperf/models/cipher_tls13.py +++ b/cyperf/models/cipher_tls13.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/cisco_any_connect_settings.py b/cyperf/models/cisco_any_connect_settings.py index 5808990..6584b92 100644 --- a/cyperf/models/cisco_any_connect_settings.py +++ b/cyperf/models/cisco_any_connect_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/cisco_encapsulation.py b/cyperf/models/cisco_encapsulation.py index 8917377..b6b6db5 100644 --- a/cyperf/models/cisco_encapsulation.py +++ b/cyperf/models/cisco_encapsulation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/classical_signature_algorithm_tls13.py b/cyperf/models/classical_signature_algorithm_tls13.py new file mode 100644 index 0000000..cb8ce0f --- /dev/null +++ b/cyperf/models/classical_signature_algorithm_tls13.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ClassicalSignatureAlgorithmTLS13(str, Enum): + """ + The TLS supported classical signature algorithms. + """ + + """ + allowed enum values + """ + RSA_PKCS1_SHA256 = 'rsa_pkcs1_sha256' + RSA_PKCS1_SHA384 = 'rsa_pkcs1_sha384' + RSA_PKCS1_SHA512 = 'rsa_pkcs1_sha512' + ECDSA_SECP256R1_SHA256 = 'ecdsa_secp256r1_sha256' + ECDSA_SECP384R1_SHA384 = 'ecdsa_secp384r1_sha384' + ECDSA_SECP521R1_SHA512 = 'ecdsa_secp521r1_sha512' + RSA_PSS_RSAE_SHA256 = 'rsa_pss_rsae_sha256' + RSA_PSS_RSAE_SHA384 = 'rsa_pss_rsae_sha384' + RSA_PSS_RSAE_SHA512 = 'rsa_pss_rsae_sha512' + RSA_PSS_PSS_SHA256 = 'rsa_pss_pss_sha256' + RSA_PSS_PSS_SHA384 = 'rsa_pss_pss_sha384' + RSA_PSS_PSS_SHA512 = 'rsa_pss_pss_sha512' + ED25519 = 'ed25519' + ED448 = 'ed448' + ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 'ecdsa_brainpoolp256r1tls13_sha256' + ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 'ecdsa_brainpoolp384r1tls13_sha384' + ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 'ecdsa_brainpoolp512r1tls13_sha512' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ClassicalSignatureAlgorithmTLS13 from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/clear_compute_resources_ownership_operation.py b/cyperf/models/clear_compute_resources_ownership_operation.py new file mode 100644 index 0000000..73cce25 --- /dev/null +++ b/cyperf/models/clear_compute_resources_ownership_operation.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.compute_resources_by_controller import ComputeResourcesByController +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class ClearComputeResourcesOwnershipOperation(BaseModel): + """ + ClearComputeResourcesOwnershipOperation + """ # noqa: E501 + controllers: Optional[List[ComputeResourcesByController]] = Field(default=None, description="The controllers that the compute resources are part of.") + __properties: ClassVar[List[str]] = ["controllers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ClearComputeResourcesOwnershipOperation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in controllers (list) + _items = [] + if self.controllers: + for _item in self.controllers: + if _item: + _items.append(_item.to_dict()) + _dict['controllers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ClearComputeResourcesOwnershipOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "controllers": ( [ComputeResourcesByController.from_dict(_item) for _item in obj.get("controllers", [])] if obj.get("controllers") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/clear_front_panel_ports_ownership_operation.py b/cyperf/models/clear_front_panel_ports_ownership_operation.py new file mode 100644 index 0000000..247e3a5 --- /dev/null +++ b/cyperf/models/clear_front_panel_ports_ownership_operation.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.front_panel_ports_by_controller import FrontPanelPortsByController +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class ClearFrontPanelPortsOwnershipOperation(BaseModel): + """ + ClearFrontPanelPortsOwnershipOperation + """ # noqa: E501 + controllers: Optional[List[FrontPanelPortsByController]] = Field(default=None, description="The controllers that the front panel ports are part of.") + __properties: ClassVar[List[str]] = ["controllers"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ClearFrontPanelPortsOwnershipOperation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in controllers (list) + _items = [] + if self.controllers: + for _item in self.controllers: + if _item: + _items.append(_item.to_dict()) + _dict['controllers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ClearFrontPanelPortsOwnershipOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "controllers": ( [FrontPanelPortsByController.from_dict(_item) for _item in obj.get("controllers", [])] if obj.get("controllers") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/clear_ports_ownership_operation.py b/cyperf/models/clear_ports_ownership_operation.py index 4083b60..44a20c9 100644 --- a/cyperf/models/clear_ports_ownership_operation.py +++ b/cyperf/models/clear_ports_ownership_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/command.py b/cyperf/models/command.py index a79cd07..02be5e4 100644 --- a/cyperf/models/command.py +++ b/cyperf/models/command.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/command_metadata.py b/cyperf/models/command_metadata.py index d033c3a..7e4c6f0 100644 --- a/cyperf/models/command_metadata.py +++ b/cyperf/models/command_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -34,6 +34,7 @@ class CommandMetadata(BaseModel): direction: Optional[StrictStr] = Field(default=None, description="The direction of the strike", alias="Direction") is_banner: Optional[StrictBool] = Field(default=None, description="Indicates that this is a command that is required, can only be add once and also must be the first", alias="IsBanner") is_for_app_traffic_only: Optional[StrictBool] = Field(default=None, description="Indicates that this is a command that can only be used in application traffic and cannot be mixed with attack traffic", alias="IsForAppTrafficOnly") + is_llm_strike: Optional[StrictBool] = Field(default=None, description="Indicates if the command is an LLM strike", alias="IsLLMStrike") is_streaming: Optional[StrictBool] = Field(default=None, description="Indicates if the application's traffic is a UDP stream", alias="IsStreaming") keywords: Optional[List[AppsecAppMetadataKeywordsInner]] = Field(default=None, description="The keywords of the strike", alias="Keywords") legacy_names: Optional[List[StrictStr]] = Field(default=None, description="The names of the equivalent application/strike", alias="LegacyNames") @@ -123,6 +124,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "Direction": obj.get("Direction"), "IsBanner": obj.get("IsBanner"), "IsForAppTrafficOnly": obj.get("IsForAppTrafficOnly"), + "IsLLMStrike": obj.get("IsLLMStrike"), "IsStreaming": obj.get("IsStreaming"), "Keywords": ( [AppsecAppMetadataKeywordsInner.from_dict(_item) for _item in obj.get("Keywords", [])] if obj.get("Keywords") is not None else None), "LegacyNames": obj.get("LegacyNames") if obj.get("LegacyNames") is not None else [], diff --git a/cyperf/models/composite_pqc_signature_algorithm_tls13.py b/cyperf/models/composite_pqc_signature_algorithm_tls13.py new file mode 100644 index 0000000..dd08f02 --- /dev/null +++ b/cyperf/models/composite_pqc_signature_algorithm_tls13.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class CompositePqcSignatureAlgorithmTLS13(str, Enum): + """ + The TLSv1.3 supported composite PQC signature algorithms. + """ + + """ + allowed enum values + """ + P256_MLDSA44 = 'p256_mldsa44' + P384_MLDSA65 = 'p384_mldsa65' + P521_MLDSA87 = 'p521_mldsa87' + RSA3072_MLDSA44 = 'rsa3072_mldsa44' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CompositePqcSignatureAlgorithmTLS13 from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/compute_node.py b/cyperf/models/compute_node.py index 9327e8b..0d0e4b9 100644 --- a/cyperf/models/compute_node.py +++ b/cyperf/models/compute_node.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.api_link import APILink from cyperf.models.app_mode import AppMode +from cyperf.models.compute_resource import ComputeResource from cyperf.models.health_issue import HealthIssue from cyperf.models.port import Port from typing import Optional, Set, Union @@ -34,6 +35,7 @@ class ComputeNode(BaseModel): """ # noqa: E501 aggregated_mode: Optional[StrictBool] = Field(default=None, description="Whether the ports of the compute node are aggregated or not", alias="aggregatedMode") app_mode: Optional[AppMode] = Field(default=None, alias="appMode") + compute_resources: Optional[List[ComputeResource]] = Field(default=None, description="The compute Resources of the compute node", alias="computeResources") health_details: Optional[List[HealthIssue]] = Field(default=None, description="A list with more details regarding the health of the compute node", alias="healthDetails") healthy: Optional[StrictBool] = Field(default=None, description="Whether the compute node has any health issue or not") id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the compute node") @@ -44,7 +46,8 @@ class ComputeNode(BaseModel): slot_number: Optional[StrictInt] = Field(default=None, description="The slot number of the compute node", alias="slotNumber") status: Optional[StrictStr] = Field(default=None, description="The current status of the compute node: ready or not ready") type: Optional[StrictStr] = Field(default=None, description="The type of the compute node") - __properties: ClassVar[List[str]] = ["aggregatedMode", "appMode", "healthDetails", "healthy", "id", "links", "name", "ports", "serial", "slotNumber", "status", "type"] + type_display_name: Optional[StrictStr] = Field(default=None, description="The display type name of the compute node", alias="typeDisplayName") + __properties: ClassVar[List[str]] = ["aggregatedMode", "appMode", "computeResources", "healthDetails", "healthy", "id", "links", "name", "ports", "serial", "slotNumber", "status", "type", "typeDisplayName"] model_config = ConfigDict( populate_by_name=True, @@ -88,6 +91,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of app_mode if self.app_mode: _dict['appMode'] = self.app_mode.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in compute_resources (list) + _items = [] + if self.compute_resources: + for _item in self.compute_resources: + if _item: + _items.append(_item.to_dict()) + _dict['computeResources'] = _items # override the default output from pydantic by calling `to_dict()` of each item in health_details (list) _items = [] if self.health_details: @@ -125,6 +135,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "aggregatedMode": obj.get("aggregatedMode"), "appMode": AppMode.from_dict(obj["appMode"]) if obj.get("appMode") is not None else None, + "computeResources": ( [ComputeResource.from_dict(_item) for _item in obj.get("computeResources", [])] if obj.get("computeResources") is not None else None), "healthDetails": ( [HealthIssue.from_dict(_item) for _item in obj.get("healthDetails", [])] if obj.get("healthDetails") is not None else None), "healthy": obj.get("healthy"), "id": obj.get("id"), @@ -134,7 +145,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "serial": obj.get("serial"), "slotNumber": obj.get("slotNumber"), "status": obj.get("status"), - "type": obj.get("type") + "type": obj.get("type"), + "typeDisplayName": obj.get("typeDisplayName") , "links": obj.get("links") }) diff --git a/cyperf/models/compute_resource.py b/cyperf/models/compute_resource.py new file mode 100644 index 0000000..0bf0f74 --- /dev/null +++ b/cyperf/models/compute_resource.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class ComputeResource(BaseModel): + """ + ComputeResource + """ # noqa: E501 + disabled: Optional[StrictBool] = Field(default=None, description="Whether the compute resource is disabled or not") + id: Optional[StrictStr] = Field(default=None, description="The compute resource's unique identifier") + link: Optional[StrictStr] = Field(default=None, description="The link state of the compute resource: up or down") + name: Optional[StrictStr] = Field(default=None, description="A user-friendly display name for the compute resource") + reserved_by: Optional[StrictStr] = Field(default=None, description="The owner of the compute resource", alias="reservedBy") + speed: Optional[StrictStr] = Field(default=None, description="The compute resource's speed") + status: Optional[StrictStr] = Field(default=None, description="The current status of the compute resource: ready or not ready") + traffic_status: Optional[StrictStr] = Field(default=None, description="The traffic status of the compute resource", alias="trafficStatus") + __properties: ClassVar[List[str]] = ["disabled", "id", "link", "name", "reservedBy", "speed", "status", "trafficStatus"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ComputeResource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ComputeResource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "disabled": obj.get("disabled"), + "id": obj.get("id"), + "link": obj.get("link"), + "name": obj.get("name"), + "reservedBy": obj.get("reservedBy"), + "speed": obj.get("speed"), + "status": obj.get("status"), + "trafficStatus": obj.get("trafficStatus") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/get_consumers200_response_one_of.py b/cyperf/models/compute_resources_by_controller.py similarity index 64% rename from cyperf/models/get_consumers200_response_one_of.py rename to cyperf/models/compute_resources_by_controller.py index cac4604..1cc7701 100644 --- a/cyperf/models/get_consumers200_response_one_of.py +++ b/cyperf/models/compute_resources_by_controller.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,20 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt +from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.consumer import Consumer -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.compute_resources_by_node import ComputeResourcesByNode +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetConsumers200ResponseOneOf(BaseModel): +class ComputeResourcesByController(BaseModel): """ - GetConsumers200ResponseOneOf + ComputeResourcesByController """ # noqa: E501 - data: Optional[List[Consumer]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] + compute_nodes: Optional[List[ComputeResourcesByNode]] = Field(default=None, description="The compute nodes that the compute resources are part of.", alias="computeNodes") + controller_id: Optional[StrictStr] = Field(default=None, description="The id of the controller that the compute resources are part of.", alias="controllerId") + __properties: ClassVar[List[str]] = ["computeNodes", "controllerId"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetConsumers200ResponseOneOf from a JSON string""" + """Create an instance of ComputeResourcesByController from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,18 +72,18 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) + # override the default output from pydantic by calling `to_dict()` of each item in compute_nodes (list) _items = [] - if self.data: - for _item in self.data: + if self.compute_nodes: + for _item in self.compute_nodes: if _item: _items.append(_item.to_dict()) - _dict['data'] = _items + _dict['computeNodes'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetConsumers200ResponseOneOf from a dict""" + """Create an instance of ComputeResourcesByController from a dict""" if obj is None: return None @@ -93,8 +93,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [Consumer.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") + "computeNodes": ( [ComputeResourcesByNode.from_dict(_item) for _item in obj.get("computeNodes", [])] if obj.get("computeNodes") is not None else None), + "controllerId": obj.get("controllerId") , "links": obj.get("links") }) diff --git a/cyperf/models/compute_resources_by_node.py b/cyperf/models/compute_resources_by_node.py new file mode 100644 index 0000000..b160839 --- /dev/null +++ b/cyperf/models/compute_resources_by_node.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class ComputeResourcesByNode(BaseModel): + """ + ComputeResourcesByNode + """ # noqa: E501 + compute_node_id: Optional[StrictStr] = Field(default=None, description="The id of the compute node that the compute resources are part of.", alias="computeNodeId") + compute_resources: Optional[List[StrictStr]] = Field(default=None, description="The compute resource ids.", alias="computeResources") + __properties: ClassVar[List[str]] = ["computeNodeId", "computeResources"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ComputeResourcesByNode from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ComputeResourcesByNode from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "computeNodeId": obj.get("computeNodeId"), + "computeResources": obj.get("computeResources") if obj.get("computeResources") is not None else [] + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/config.py b/cyperf/models/config.py index 6cd7440..883177c 100644 --- a/cyperf/models/config.py +++ b/cyperf/models/config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/config_category.py b/cyperf/models/config_category.py index f525067..350f0b4 100644 --- a/cyperf/models/config_category.py +++ b/cyperf/models/config_category.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/config_id.py b/cyperf/models/config_id.py index e9143c0..b92dd20 100644 --- a/cyperf/models/config_id.py +++ b/cyperf/models/config_id.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/config_metadata.py b/cyperf/models/config_metadata.py index eda89e7..0133f37 100644 --- a/cyperf/models/config_metadata.py +++ b/cyperf/models/config_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/config_metadata_config_data_value.py b/cyperf/models/config_metadata_config_data_value.py deleted file mode 100644 index 021627c..0000000 --- a/cyperf/models/config_metadata_config_data_value.py +++ /dev/null @@ -1,208 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -from inspect import getfullargspec -import json -import pprint -import re # noqa: F401 -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, ValidationError, field_validator -from typing import Any, Dict, List, Optional, Union -from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict -from typing_extensions import Literal, Self -from pydantic import Field - -CONFIGMETADATACONFIGDATAVALUE_ANY_OF_SCHEMAS = ["List[object]", "bool", "float", "int", "object", "str"] - -class ConfigMetadataConfigDataValue(BaseModel): - """ - ConfigMetadataConfigDataValue - """ - - # data type: str - anyof_schema_1_validator: Optional[StrictStr] = None - # data type: float - anyof_schema_2_validator: Optional[Union[StrictFloat, StrictInt]] = None - # data type: int - anyof_schema_3_validator: Optional[StrictInt] = None - # data type: bool - anyof_schema_4_validator: Optional[StrictBool] = None - # data type: List[object] - anyof_schema_5_validator: Optional[List[Any]] = None - # data type: object - anyof_schema_6_validator: Optional[Dict[str, Any]] = None - if TYPE_CHECKING: - actual_instance: Optional[Union[List[object], bool, float, int, object, str]] = None - else: - actual_instance: Any = None - any_of_schemas: Set[str] = { "List[object]", "bool", "float", "int", "object", "str" } - - model_config = { - "validate_assignment": True, - "protected_namespaces": (), - } - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_anyof(cls, v): - instance = ConfigMetadataConfigDataValue.model_construct() - error_messages = [] - # validate data type: str - try: - instance.anyof_schema_1_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: float - try: - instance.anyof_schema_2_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: int - try: - instance.anyof_schema_3_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: bool - try: - instance.anyof_schema_4_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: List[object] - try: - instance.anyof_schema_5_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: object - try: - instance.anyof_schema_6_validator = v - return v - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - if error_messages: - # no match - raise ValueError("No match found when setting the actual_instance in ConfigMetadataConfigDataValue with anyOf schemas: List[object], bool, float, int, object, str. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Dict[str, Any]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - # deserialize data into str - try: - # validation - instance.anyof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_1_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into float - try: - # validation - instance.anyof_schema_2_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_2_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into int - try: - # validation - instance.anyof_schema_3_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_3_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into bool - try: - # validation - instance.anyof_schema_4_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_4_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into List[object] - try: - # validation - instance.anyof_schema_5_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_5_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into object - try: - # validation - instance.anyof_schema_6_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.anyof_schema_6_validator - return instance - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if error_messages: - # no match - raise ValueError("No match found when deserializing the JSON string into ConfigMetadataConfigDataValue with anyOf schemas: List[object], bool, float, int, object, str. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], List[object], bool, float, int, object, str]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/config_sub_category.py b/cyperf/models/config_sub_category.py index 1609ea0..3d06f37 100644 --- a/cyperf/models/config_sub_category.py +++ b/cyperf/models/config_sub_category.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/config_validation.py b/cyperf/models/config_validation.py index 37015e7..8313837 100644 --- a/cyperf/models/config_validation.py +++ b/cyperf/models/config_validation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/conflict.py b/cyperf/models/conflict.py index b63963d..ef196bb 100644 --- a/cyperf/models/conflict.py +++ b/cyperf/models/conflict.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/connection.py b/cyperf/models/connection.py index 02a48b7..75356ad 100644 --- a/cyperf/models/connection.py +++ b/cyperf/models/connection.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/connection_persistence.py b/cyperf/models/connection_persistence.py index b742035..7e2e08f 100644 --- a/cyperf/models/connection_persistence.py +++ b/cyperf/models/connection_persistence.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/consumer.py b/cyperf/models/consumer.py index 2e621e6..429849c 100644 --- a/cyperf/models/consumer.py +++ b/cyperf/models/consumer.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/content_block.py b/cyperf/models/content_block.py new file mode 100644 index 0000000..f9306ca --- /dev/null +++ b/cyperf/models/content_block.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.text_segment import TextSegment +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class ContentBlock(BaseModel): + """ + ContentBlock + """ # noqa: E501 + content: Optional[List[TextSegment]] = Field(default=None, description="The content of the block, as a list of rich text segments.") + level: Optional[StrictInt] = Field(default=None, description="The heading level (1-6), used by heading blocks.") + list_style: Optional[StrictStr] = Field(default=None, description="The list style: ordered or unordered (used by list blocks).", alias="listStyle") + severity: Optional[StrictStr] = Field(default=None, description="The severity level of a note block: info, warning, error, or success.") + type: Optional[StrictStr] = Field(default=None, description="The type of content block (e.g. paragraph, list, note, heading, divider).") + __properties: ClassVar[List[str]] = ["content", "level", "listStyle", "severity", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ContentBlock from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in content (list) + _items = [] + if self.content: + for _item in self.content: + if _item: + _items.append(_item.to_dict()) + _dict['content'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ContentBlock from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "content": ( [TextSegment.from_dict(_item) for _item in obj.get("content", [])] if obj.get("content") is not None else None), + "level": obj.get("level"), + "listStyle": obj.get("listStyle"), + "severity": obj.get("severity"), + "type": obj.get("type") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/controller.py b/cyperf/models/controller.py index 3de31b8..c025ca3 100644 --- a/cyperf/models/controller.py +++ b/cyperf/models/controller.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.api_link import APILink from cyperf.models.compute_node import ComputeNode +from cyperf.models.front_panel import FrontPanel from cyperf.models.health_issue import HealthIssue from typing import Optional, Set, Union from typing_extensions import Self @@ -32,6 +33,7 @@ class Controller(BaseModel): Controller """ # noqa: E501 compute_nodes: Optional[List[ComputeNode]] = Field(default=None, description="The compute nodes of the controller", alias="computeNodes") + front_panels: Optional[List[FrontPanel]] = Field(default=None, description="The front panels of the controller", alias="frontPanels") health_details: Optional[List[HealthIssue]] = Field(default=None, description="Details regarding any health issue of the controller", alias="healthDetails") healthy: Optional[StrictBool] = Field(default=None, description="Whether the controller has any health issue or not") id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the controller") @@ -39,7 +41,8 @@ class Controller(BaseModel): name: Optional[StrictStr] = Field(default=None, description="A user-friendly display name for the controller") serial: Optional[StrictStr] = Field(default=None, description="The serial of the controller") type: Optional[StrictStr] = Field(default=None, description="The type of the controller") - __properties: ClassVar[List[str]] = ["computeNodes", "healthDetails", "healthy", "id", "links", "name", "serial", "type"] + type_display_name: Optional[StrictStr] = Field(default=None, description="The display type name of the controller", alias="typeDisplayName") + __properties: ClassVar[List[str]] = ["computeNodes", "frontPanels", "healthDetails", "healthy", "id", "links", "name", "serial", "type", "typeDisplayName"] model_config = ConfigDict( populate_by_name=True, @@ -87,6 +90,13 @@ def to_dict(self) -> Dict[str, Any]: if _item: _items.append(_item.to_dict()) _dict['computeNodes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in front_panels (list) + _items = [] + if self.front_panels: + for _item in self.front_panels: + if _item: + _items.append(_item.to_dict()) + _dict['frontPanels'] = _items # override the default output from pydantic by calling `to_dict()` of each item in health_details (list) _items = [] if self.health_details: @@ -116,13 +126,15 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "computeNodes": ( [ComputeNode.from_dict(_item) for _item in obj.get("computeNodes", [])] if obj.get("computeNodes") is not None else None), + "frontPanels": ( [FrontPanel.from_dict(_item) for _item in obj.get("frontPanels", [])] if obj.get("frontPanels") is not None else None), "healthDetails": ( [HealthIssue.from_dict(_item) for _item in obj.get("healthDetails", [])] if obj.get("healthDetails") is not None else None), "healthy": obj.get("healthy"), "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), "name": obj.get("name"), "serial": obj.get("serial"), - "type": obj.get("type") + "type": obj.get("type"), + "typeDisplayName": obj.get("typeDisplayName") , "links": obj.get("links") }) diff --git a/cyperf/models/convert_dashboards_operation.py b/cyperf/models/convert_dashboards_operation.py new file mode 100644 index 0000000..40b23dd --- /dev/null +++ b/cyperf/models/convert_dashboards_operation.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class ConvertDashboardsOperation(BaseModel): + """ + ConvertDashboardsOperation + """ # noqa: E501 + dashboard_ids: Optional[List[StrictStr]] = Field(default=None, description="The dashboard ids to be converted", alias="dashboardIds") + test_id: Optional[StrictStr] = Field(default=None, description="The test that contains the dashboards", alias="testId") + types: Optional[List[StrictStr]] = Field(default=None, description="The types of queries the dashboards will be converted in") + __properties: ClassVar[List[str]] = ["dashboardIds", "testId", "types"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConvertDashboardsOperation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConvertDashboardsOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "dashboardIds": obj.get("dashboardIds") if obj.get("dashboardIds") is not None else [], + "testId": obj.get("testId"), + "types": obj.get("types") if obj.get("types") is not None else [] + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/counted_feature_consumer.py b/cyperf/models/counted_feature_consumer.py index 9e406ba..3dda652 100644 --- a/cyperf/models/counted_feature_consumer.py +++ b/cyperf/models/counted_feature_consumer.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/counted_feature_stats.py b/cyperf/models/counted_feature_stats.py index ac2906f..20c4773 100644 --- a/cyperf/models/counted_feature_stats.py +++ b/cyperf/models/counted_feature_stats.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/create_app_operation.py b/cyperf/models/create_app_operation.py index bb516ef..27b947e 100644 --- a/cyperf/models/create_app_operation.py +++ b/cyperf/models/create_app_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/create_app_or_attack_operation_input.py b/cyperf/models/create_app_or_attack_operation_input.py index 6028d4d..04ab7e7 100644 --- a/cyperf/models/create_app_or_attack_operation_input.py +++ b/cyperf/models/create_app_or_attack_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/custom_dashboards.py b/cyperf/models/custom_dashboards.py index 080b20c..08f74d7 100644 --- a/cyperf/models/custom_dashboards.py +++ b/cyperf/models/custom_dashboards.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/custom_import_handler.py b/cyperf/models/custom_import_handler.py index 8f35a0f..5eff3cc 100644 --- a/cyperf/models/custom_import_handler.py +++ b/cyperf/models/custom_import_handler.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_attacks_operation.py b/cyperf/models/custom_sequence.py similarity index 57% rename from cyperf/models/get_attacks_operation.py rename to cyperf/models/custom_sequence.py index 02528b7..36321e9 100644 --- a/cyperf/models/get_attacks_operation.py +++ b/cyperf/models/custom_sequence.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,26 +18,24 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.category_filter import CategoryFilter -from cyperf.models.sort_body_field import SortBodyField +from cyperf.models.api_link import APILink +from cyperf.models.single_value import SingleValue +from cyperf.models.sub_step import SubStep from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr -class GetAttacksOperation(BaseModel): +class CustomSequence(BaseModel): """ - GetAttacksOperation + CustomSequence """ # noqa: E501 - categories: Optional[List[CategoryFilter]] = None - filter_mode: Optional[StrictStr] = Field(default=None, alias="filterMode") - search_col: Optional[List[StrictStr]] = Field(default=None, alias="searchCol") - search_val: Optional[List[StrictStr]] = Field(default=None, alias="searchVal") - skip: Optional[StrictStr] = None - sort: Optional[List[SortBodyField]] = None - take: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["categories", "filterMode", "searchCol", "searchVal", "skip", "sort", "take"] + start: Optional[SingleValue] = Field(default=None, alias="Start") + step: Optional[SingleValue] = Field(default=None, alias="Step") + links: Optional[List[APILink]] = None + sub_steps: Optional[List[SubStep]] = Field(default=None, alias="SubSteps") + __properties: ClassVar[List[str]] = ["Start", "Step", "links", "SubSteps"] model_config = ConfigDict( populate_by_name=True, @@ -57,7 +55,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetAttacksOperation from a JSON string""" + """Create an instance of CustomSequence from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -78,25 +76,31 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in categories (list) + # override the default output from pydantic by calling `to_dict()` of start + if self.start: + _dict['Start'] = self.start.to_dict() + # override the default output from pydantic by calling `to_dict()` of step + if self.step: + _dict['Step'] = self.step.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) _items = [] - if self.categories: - for _item in self.categories: + if self.links: + for _item in self.links: if _item: _items.append(_item.to_dict()) - _dict['categories'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in sort (list) + _dict['links'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in sub_steps (list) _items = [] - if self.sort: - for _item in self.sort: + if self.sub_steps: + for _item in self.sub_steps: if _item: _items.append(_item.to_dict()) - _dict['sort'] = _items + _dict['SubSteps'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetAttacksOperation from a dict""" + """Create an instance of CustomSequence from a dict""" if obj is None: return None @@ -106,13 +110,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "categories": ( [CategoryFilter.from_dict(_item) for _item in obj.get("categories", [])] if obj.get("categories") is not None else None), - "filterMode": obj.get("filterMode"), - "searchCol": obj.get("searchCol") if obj.get("searchCol") is not None else [], - "searchVal": obj.get("searchVal") if obj.get("searchVal") is not None else [], - "skip": obj.get("skip"), - "sort": ( [SortBodyField.from_dict(_item) for _item in obj.get("sort", [])] if obj.get("sort") is not None else None), - "take": obj.get("take") + "Start": SingleValue.from_dict(obj["Start"]) if obj.get("Start") is not None else None, + "Step": SingleValue.from_dict(obj["Step"]) if obj.get("Step") is not None else None, + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), + "SubSteps": ( [SubStep.from_dict(_item) for _item in obj.get("SubSteps", [])] if obj.get("SubSteps") is not None else None) , "links": obj.get("links") }) diff --git a/cyperf/models/custom_stat.py b/cyperf/models/custom_stat.py index eaa3bdf..3be11bc 100644 --- a/cyperf/models/custom_stat.py +++ b/cyperf/models/custom_stat.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/dashboard.py b/cyperf/models/dashboard.py index f62c7b9..5ad2d6e 100644 --- a/cyperf/models/dashboard.py +++ b/cyperf/models/dashboard.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/data_source_details.py b/cyperf/models/data_source_details.py new file mode 100644 index 0000000..50a939d --- /dev/null +++ b/cyperf/models/data_source_details.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class DataSourceDetails(BaseModel): + """ + DataSourceDetails + """ # noqa: E501 + extra_filters: Optional[Dict[str, StrictStr]] = Field(default=None, description="Extra filters to be applied to the data source of the panel", alias="extraFilters") + name: Optional[StrictStr] = Field(default=None, description="The name of the data source of the panel") + timestamp_field: Optional[StrictStr] = Field(default=None, description="The name of the timestamp field of the data source of the panel", alias="timestampField") + __properties: ClassVar[List[str]] = ["extraFilters", "name", "timestampField"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DataSourceDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DataSourceDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "extraFilters": obj.get("extraFilters"), + "name": obj.get("name"), + "timestampField": obj.get("timestampField") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/data_type.py b/cyperf/models/data_type.py index ec5c84a..0c08e10 100644 --- a/cyperf/models/data_type.py +++ b/cyperf/models/data_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/data_type_values_inner.py b/cyperf/models/data_type_values_inner.py index 6e5a6da..c6dac24 100644 --- a/cyperf/models/data_type_values_inner.py +++ b/cyperf/models/data_type_values_inner.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/definition.py b/cyperf/models/definition.py index 0629239..92ca0fa 100644 --- a/cyperf/models/definition.py +++ b/cyperf/models/definition.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/delete_input.py b/cyperf/models/delete_input.py index 490d940..f0a6bb7 100644 --- a/cyperf/models/delete_input.py +++ b/cyperf/models/delete_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/dh_p1_group.py b/cyperf/models/dh_p1_group.py index 3b7ff11..13ec1eb 100644 --- a/cyperf/models/dh_p1_group.py +++ b/cyperf/models/dh_p1_group.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/diagnostic_component.py b/cyperf/models/diagnostic_component.py index 5630071..508ff89 100644 --- a/cyperf/models/diagnostic_component.py +++ b/cyperf/models/diagnostic_component.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/diagnostic_component_context.py b/cyperf/models/diagnostic_component_context.py index 0079a66..db38707 100644 --- a/cyperf/models/diagnostic_component_context.py +++ b/cyperf/models/diagnostic_component_context.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/diagnostic_options.py b/cyperf/models/diagnostic_options.py index 739aa53..50d68ab 100644 --- a/cyperf/models/diagnostic_options.py +++ b/cyperf/models/diagnostic_options.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/disk_usage.py b/cyperf/models/disk_usage.py index 10b4637..87652d6 100644 --- a/cyperf/models/disk_usage.py +++ b/cyperf/models/disk_usage.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/start_batch_delete_request_inner.py b/cyperf/models/dismiss_operation.py similarity index 81% rename from cyperf/models/start_batch_delete_request_inner.py rename to cyperf/models/dismiss_operation.py index abc0571..7b53847 100644 --- a/cyperf/models/start_batch_delete_request_inner.py +++ b/cyperf/models/dismiss_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,16 +20,16 @@ from pydantic import BaseModel, ConfigDict, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing import Optional, Set, Union, GenericAlias, get_args +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class StartBatchDeleteRequestInner(BaseModel): +class DismissOperation(BaseModel): """ - StartBatchDeleteRequestInner + DismissOperation """ # noqa: E501 - id: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["id"] + filters: Optional[Dict[str, List[StrictStr]]] = None + __properties: ClassVar[List[str]] = ["filters"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of StartBatchDeleteRequestInner from a JSON string""" + """Create an instance of DismissOperation from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +74,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of StartBatchDeleteRequestInner from a dict""" + """Create an instance of DismissOperation from a dict""" if obj is None: return None @@ -84,7 +84,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "id": obj.get("id") + "filters": obj.get("filters") , "links": obj.get("links") }) diff --git a/cyperf/models/dns_resolver.py b/cyperf/models/dns_resolver.py index c6969f9..db284a3 100644 --- a/cyperf/models/dns_resolver.py +++ b/cyperf/models/dns_resolver.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -30,7 +30,7 @@ class DNSResolver(BaseModel): """ DNSResolver """ # noqa: E501 - cache_timeout: Optional[StrictInt] = Field(default=None, description="The cached timeout for the DNS Resolver", alias="cacheTimeout") + cache_timeout: Optional[StrictInt] = Field(default=None, description="The timeout in seconds for cached DNS responses.", alias="cacheTimeout") enable_perconnect: Optional[StrictBool] = Field(default=None, description="The enable perconnection value.", alias="enablePerconnect") links: Optional[List[APILink]] = None name_servers: Optional[List[NameServer]] = Field(default=None, description="A list of name servers.", alias="nameServers") diff --git a/cyperf/models/dns_server.py b/cyperf/models/dns_server.py index dfb5eaf..d130fba 100644 --- a/cyperf/models/dns_server.py +++ b/cyperf/models/dns_server.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/dtls_settings.py b/cyperf/models/dtls_settings.py index 4ea3888..4ce0859 100644 --- a/cyperf/models/dtls_settings.py +++ b/cyperf/models/dtls_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/dut_network.py b/cyperf/models/dut_network.py index b9d75e2..62b72d9 100644 --- a/cyperf/models/dut_network.py +++ b/cyperf/models/dut_network.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -21,7 +21,9 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from cyperf.models.address import Address from cyperf.models.api_link import APILink +from cyperf.models.basic_auth_profile import BasicAuthProfile from cyperf.models.health_check_config import HealthCheckConfig from cyperf.models.params import Params from cyperf.models.pep_dut import PepDUT @@ -36,6 +38,7 @@ class DUTNetwork(BaseModel): name: Annotated[str, Field(strict=True)] = Field(alias="Name") id: StrictStr network_tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.", alias="networkTags") + basic_auth_profile: Optional[BasicAuthProfile] = Field(default=None, alias="BasicAuthProfile") client_dut_active: Optional[StrictBool] = Field(default=None, alias="ClientDUTActive") client_dut_host: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, alias="ClientDUTHost") client_dut_port: Optional[StrictInt] = Field(default=None, description="The listen port for client-side DUT (default: 80).", alias="ClientDUTPort") @@ -52,6 +55,7 @@ class DUTNetwork(BaseModel): reverse_proxy_pep_dut: Optional[PepDUT] = Field(default=None, alias="ReverseProxyPepDUT") reverse_proxy_pep_dut_active: Optional[StrictBool] = Field(default=None, description="A flag indicating if the PEP device is an active device. If active, the simulated clients will send traffic to the PEP device host. (default: false)", alias="ReverseProxyPepDUTActive") server_dut_active: Optional[StrictBool] = Field(default=None, description="A flag indicating if the server DUT is an active device. If it is, the simulated clients or client DUT(if active) will send traffic to the server DUT 'host'; and the simulated servers will use the healtcheck configurations. (default: false)", alias="ServerDUTActive") + server_dut_address: Optional[Address] = Field(default=None, alias="ServerDUTAddress") server_dut_host: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The hostname where the traffic goes if server DUT is active.", alias="ServerDUTHost") server_dut_port: Optional[StrictInt] = Field(default=None, description="The listen port for server-side DUT", alias="ServerDUTPort") tcp_health_check: Optional[HealthCheckConfig] = Field(default=None, description="The TCP HealthCheck configuration for DUT", alias="TCPHealthCheck") @@ -59,7 +63,7 @@ class DUTNetwork(BaseModel): active: Optional[StrictBool] = Field(default=None, description="A flag indicating if the server DUT is an active device. If it is, the simulated clients or client DUT(if active) will send traffic to the DUT 'host'; and the simulated servers will use the healtcheck configurations. (default: false)") host: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The hostname where the traffic goes if server DUT is active.") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["Name", "id", "networkTags", "ClientDUTActive", "ClientDUTHost", "ClientDUTPort", "ConfigSettings", "ForwardProxyPepDUT", "ForwardProxyPepDUTActive", "HTTPHealthCheck", "HTTPSHealthCheck", "HostnameSuffix", "HttpForwardProxyMode", "NonProxiedHosts", "PepDUT", "PepDUTActive", "ReverseProxyPepDUT", "ReverseProxyPepDUTActive", "ServerDUTActive", "ServerDUTHost", "ServerDUTPort", "TCPHealthCheck", "UseRealHost", "active", "host", "links"] + __properties: ClassVar[List[str]] = ["Name", "id", "networkTags", "BasicAuthProfile", "ClientDUTActive", "ClientDUTHost", "ClientDUTPort", "ConfigSettings", "ForwardProxyPepDUT", "ForwardProxyPepDUTActive", "HTTPHealthCheck", "HTTPSHealthCheck", "HostnameSuffix", "HttpForwardProxyMode", "NonProxiedHosts", "PepDUT", "PepDUTActive", "ReverseProxyPepDUT", "ReverseProxyPepDUTActive", "ServerDUTActive", "ServerDUTAddress", "ServerDUTHost", "ServerDUTPort", "TCPHealthCheck", "UseRealHost", "active", "host", "links"] @field_validator('name') def name_validate_regular_expression(cls, value): @@ -167,6 +171,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of basic_auth_profile + if self.basic_auth_profile: + _dict['BasicAuthProfile'] = self.basic_auth_profile.to_dict() # override the default output from pydantic by calling `to_dict()` of forward_proxy_pep_dut if self.forward_proxy_pep_dut: _dict['ForwardProxyPepDUT'] = self.forward_proxy_pep_dut.to_dict() @@ -185,6 +192,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of reverse_proxy_pep_dut if self.reverse_proxy_pep_dut: _dict['ReverseProxyPepDUT'] = self.reverse_proxy_pep_dut.to_dict() + # override the default output from pydantic by calling `to_dict()` of server_dut_address + if self.server_dut_address: + _dict['ServerDUTAddress'] = self.server_dut_address.to_dict() # override the default output from pydantic by calling `to_dict()` of tcp_health_check if self.tcp_health_check: _dict['TCPHealthCheck'] = self.tcp_health_check.to_dict() @@ -212,6 +222,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "Name": obj.get("Name"), "id": obj.get("id"), "networkTags": obj.get("networkTags") if obj.get("networkTags") is not None else [], + "BasicAuthProfile": BasicAuthProfile.from_dict(obj["BasicAuthProfile"]) if obj.get("BasicAuthProfile") is not None else None, "ClientDUTActive": obj.get("ClientDUTActive"), "ClientDUTHost": obj.get("ClientDUTHost"), "ClientDUTPort": obj.get("ClientDUTPort"), @@ -228,6 +239,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "ReverseProxyPepDUT": PepDUT.from_dict(obj["ReverseProxyPepDUT"]) if obj.get("ReverseProxyPepDUT") is not None else None, "ReverseProxyPepDUTActive": obj.get("ReverseProxyPepDUTActive"), "ServerDUTActive": obj.get("ServerDUTActive"), + "ServerDUTAddress": Address.from_dict(obj["ServerDUTAddress"]) if obj.get("ServerDUTAddress") is not None else None, "ServerDUTHost": obj.get("ServerDUTHost"), "ServerDUTPort": obj.get("ServerDUTPort"), "TCPHealthCheck": HealthCheckConfig.from_dict(obj["TCPHealthCheck"]) if obj.get("TCPHealthCheck") is not None else None, diff --git a/cyperf/models/dut_range.py b/cyperf/models/dut_range.py new file mode 100644 index 0000000..cde08e5 --- /dev/null +++ b/cyperf/models/dut_range.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.sequence_value import SequenceValue +from cyperf.models.vlan_range import VLANRange +from cyperf.models.vlan_type import VLANType +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class DUTRange(BaseModel): + """ + DUTRange + """ # noqa: E501 + count: Optional[StrictInt] = Field(default=None, alias="Count") + inner_vlan_range: Optional[VLANRange] = Field(default=None, description="The inner VLAN range assigned to the current DTLS Range configuration", alias="InnerVlanRange") + ip: Optional[SequenceValue] = Field(default=None, alias="Ip") + outer_vlan_range: Optional[VLANRange] = Field(default=None, description="The inner VLAN range assigned to the current DTLS Range configuration", alias="OuterVlanRange") + vlan_type: Optional[VLANType] = Field(default=None, description="The type of VLAN used", alias="VLANType") + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["Count", "InnerVlanRange", "Ip", "OuterVlanRange", "VLANType", "links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DUTRange from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of inner_vlan_range + if self.inner_vlan_range: + _dict['InnerVlanRange'] = self.inner_vlan_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of ip + if self.ip: + _dict['Ip'] = self.ip.to_dict() + # override the default output from pydantic by calling `to_dict()` of outer_vlan_range + if self.outer_vlan_range: + _dict['OuterVlanRange'] = self.outer_vlan_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DUTRange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Count": obj.get("Count"), + "InnerVlanRange": VLANRange.from_dict(obj["InnerVlanRange"]) if obj.get("InnerVlanRange") is not None else None, + "Ip": SequenceValue.from_dict(obj["Ip"]) if obj.get("Ip") is not None else None, + "OuterVlanRange": VLANRange.from_dict(obj["OuterVlanRange"]) if obj.get("OuterVlanRange") is not None else None, + "VLANType": obj.get("VLANType"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/edit_action_input.py b/cyperf/models/edit_action_input.py index 660ad15..8f413ba 100644 --- a/cyperf/models/edit_action_input.py +++ b/cyperf/models/edit_action_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/edit_app_operation.py b/cyperf/models/edit_app_operation.py index 33e5063..06de76a 100644 --- a/cyperf/models/edit_app_operation.py +++ b/cyperf/models/edit_app_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/effective_ports.py b/cyperf/models/effective_ports.py index 3659bee..6127123 100644 --- a/cyperf/models/effective_ports.py +++ b/cyperf/models/effective_ports.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/emulated_router.py b/cyperf/models/emulated_router.py index 4d93cec..66c1df2 100644 --- a/cyperf/models/emulated_router.py +++ b/cyperf/models/emulated_router.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/emulated_router_range.py b/cyperf/models/emulated_router_range.py index 5784f38..327b5cf 100644 --- a/cyperf/models/emulated_router_range.py +++ b/cyperf/models/emulated_router_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -24,7 +24,9 @@ from cyperf.models.api_link import APILink from cyperf.models.automatic_ip_type import AutomaticIpType from cyperf.models.ip_ver import IpVer +from cyperf.models.sequence_value import SequenceValue from cyperf.models.vlan_range import VLANRange +from cyperf.models.vlan_type import VLANType from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr @@ -39,6 +41,7 @@ class EmulatedRouterRange(BaseModel): gw_start: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The gateway start IP for the IPRange (default: 10.0.0.1).", alias="GwStart") host_count: Optional[StrictInt] = Field(default=None, description="The number of Host IPs generated (default: 1).", alias="HostCount") inner_vlan_range: Optional[VLANRange] = Field(default=None, description="The inner VLAN range assigned to the current IP range configuration", alias="InnerVlanRange") + ip_address: Optional[SequenceValue] = Field(default=None, alias="IpAddress") ip_auto: StrictBool = Field(description="A flag indicating if IP settings for the IPRange should be determined automatically (default: true).", alias="IpAuto") ip_incr: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The IP incrementation rule (default: 0.0.0.1).", alias="IpIncr") ip_range_name: Annotated[str, Field(strict=True)] = Field(alias="IpRangeName") @@ -49,11 +52,13 @@ class EmulatedRouterRange(BaseModel): mss_auto: StrictBool = Field(description="A flag indicating if Mss settings for the IPRange should be determined automatically (default: false).", alias="MssAuto") net_mask: Optional[StrictInt] = Field(default=None, description="The network mask of the IP Range (default: 16).", alias="NetMask") net_mask_auto: StrictBool = Field(description="A flag indicating if the network mask of the IPRange should be determined automatically (default: true).", alias="NetMaskAuto") + outer_vlan_range: Optional[VLANRange] = Field(default=None, description="The outer VLAN range assigned to the current IP range configuration", alias="OuterVlanRange") + vlan_type: Optional[VLANType] = Field(default=None, description="The type of VLAN used", alias="VLANType") id: StrictStr links: Optional[List[APILink]] = None max_count_per_agent: Optional[StrictInt] = Field(default=None, description="The maximum number of IPs that should be assigned to each traffic agent for this IP range segment in a valid test (default: 1).", alias="maxCountPerAgent") network_tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.", alias="networkTags") - __properties: ClassVar[List[str]] = ["AutomaticIpType", "Count", "GwAuto", "GwStart", "HostCount", "InnerVlanRange", "IpAuto", "IpIncr", "IpRangeName", "IpStart", "IpVer", "IsEmulatedRouter", "Mss", "MssAuto", "NetMask", "NetMaskAuto", "id", "links", "maxCountPerAgent", "networkTags"] + __properties: ClassVar[List[str]] = ["AutomaticIpType", "Count", "GwAuto", "GwStart", "HostCount", "InnerVlanRange", "IpAddress", "IpAuto", "IpIncr", "IpRangeName", "IpStart", "IpVer", "IsEmulatedRouter", "Mss", "MssAuto", "NetMask", "NetMaskAuto", "OuterVlanRange", "VLANType", "id", "links", "maxCountPerAgent", "networkTags"] @field_validator('gw_start') def gw_start_validate_regular_expression(cls, value): @@ -134,6 +139,12 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of inner_vlan_range if self.inner_vlan_range: _dict['InnerVlanRange'] = self.inner_vlan_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of ip_address + if self.ip_address: + _dict['IpAddress'] = self.ip_address.to_dict() + # override the default output from pydantic by calling `to_dict()` of outer_vlan_range + if self.outer_vlan_range: + _dict['OuterVlanRange'] = self.outer_vlan_range.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in links (list) _items = [] if self.links: @@ -161,6 +172,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "GwStart": obj.get("GwStart"), "HostCount": obj.get("HostCount"), "InnerVlanRange": VLANRange.from_dict(obj["InnerVlanRange"]) if obj.get("InnerVlanRange") is not None else None, + "IpAddress": SequenceValue.from_dict(obj["IpAddress"]) if obj.get("IpAddress") is not None else None, "IpAuto": obj.get("IpAuto"), "IpIncr": obj.get("IpIncr"), "IpRangeName": obj.get("IpRangeName"), @@ -171,6 +183,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "MssAuto": obj.get("MssAuto"), "NetMask": obj.get("NetMask"), "NetMaskAuto": obj.get("NetMaskAuto"), + "OuterVlanRange": VLANRange.from_dict(obj["OuterVlanRange"]) if obj.get("OuterVlanRange") is not None else None, + "VLANType": obj.get("VLANType"), "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), "maxCountPerAgent": obj.get("maxCountPerAgent"), diff --git a/cyperf/models/emulated_subnet_config.py b/cyperf/models/emulated_subnet_config.py index cb47de6..e517128 100644 --- a/cyperf/models/emulated_subnet_config.py +++ b/cyperf/models/emulated_subnet_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/enc_p1_algorithm.py b/cyperf/models/enc_p1_algorithm.py index 9517bb7..fbd07a0 100644 --- a/cyperf/models/enc_p1_algorithm.py +++ b/cyperf/models/enc_p1_algorithm.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/enc_p2_algorithm.py b/cyperf/models/enc_p2_algorithm.py index 31674bd..668b7b2 100644 --- a/cyperf/models/enc_p2_algorithm.py +++ b/cyperf/models/enc_p2_algorithm.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/endpoint.py b/cyperf/models/endpoint.py index f067242..20db042 100644 --- a/cyperf/models/endpoint.py +++ b/cyperf/models/endpoint.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/entitlement_code_info.py b/cyperf/models/entitlement_code_info.py index a56490d..86755cc 100644 --- a/cyperf/models/entitlement_code_info.py +++ b/cyperf/models/entitlement_code_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/entitlement_code_request.py b/cyperf/models/entitlement_code_request.py index 0c98cba..4db354c 100644 --- a/cyperf/models/entitlement_code_request.py +++ b/cyperf/models/entitlement_code_request.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/enum.py b/cyperf/models/enum.py index b5435d5..780b1bc 100644 --- a/cyperf/models/enum.py +++ b/cyperf/models/enum.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/error_description.py b/cyperf/models/error_description.py index 9cb79f2..567f892 100644 --- a/cyperf/models/error_description.py +++ b/cyperf/models/error_description.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/error_response.py b/cyperf/models/error_response.py index f18fe1b..b2ca93f 100644 --- a/cyperf/models/error_response.py +++ b/cyperf/models/error_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/esp_over_udp_settings.py b/cyperf/models/esp_over_udp_settings.py index 11ba156..45fb8be 100644 --- a/cyperf/models/esp_over_udp_settings.py +++ b/cyperf/models/esp_over_udp_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/eth_range.py b/cyperf/models/eth_range.py index 964ed14..8f9b3ca 100644 --- a/cyperf/models/eth_range.py +++ b/cyperf/models/eth_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from cyperf.models.api_link import APILink +from cyperf.models.sequence_value import SequenceValue from cyperf.models.static_arp_entry import StaticARPEntry from typing import Optional, Set, Union from typing_extensions import Self @@ -32,14 +33,15 @@ class EthRange(BaseModel): The Ethernet Ranges assigned to the current test configuration """ # noqa: E501 count: Optional[StrictInt] = Field(default=None, alias="Count") - mac_auto: StrictBool = Field(description="A flag indicating if the MAC address for the EthRange should be determined automatically (default: true).", alias="MacAuto") + mac_address: Optional[SequenceValue] = Field(default=None, alias="MacAddress") + mac_auto: Optional[StrictBool] = Field(default=None, description="A flag indicating if the MAC address for the EthRange should be determined automatically (default: true).", alias="MacAuto") mac_incr: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The MAC address increment rule for the EthRange (default: 00:00:00:00:00:01).", alias="MacIncr") mac_start: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The MAC start address for the EthRange (default: 00:11:01:00:00:01).", alias="MacStart") one_mac_per_ip: Optional[StrictBool] = Field(default=None, description="A flag indicating if there is only one MAC address for the EthRange per IPRange (default: true).", alias="OneMacPerIP") static_arp_table: Optional[List[StaticARPEntry]] = Field(default=None, alias="StaticARPTable") links: Optional[List[APILink]] = None max_count_per_agent: Optional[StrictInt] = Field(default=None, description="The maximum number of MACs that should be assigned to each traffic agent for this Ethernet range segment in a valid test (default: 0, split equally between agents).", alias="maxCountPerAgent") - __properties: ClassVar[List[str]] = ["Count", "MacAuto", "MacIncr", "MacStart", "OneMacPerIP", "StaticARPTable", "links", "maxCountPerAgent"] + __properties: ClassVar[List[str]] = ["Count", "MacAddress", "MacAuto", "MacIncr", "MacStart", "OneMacPerIP", "StaticARPTable", "links", "maxCountPerAgent"] @field_validator('mac_incr') def mac_incr_validate_regular_expression(cls, value): @@ -100,6 +102,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of mac_address + if self.mac_address: + _dict['MacAddress'] = self.mac_address.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in static_arp_table (list) _items = [] if self.static_arp_table: @@ -129,6 +134,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "Count": obj.get("Count"), + "MacAddress": SequenceValue.from_dict(obj["MacAddress"]) if obj.get("MacAddress") is not None else None, "MacAuto": obj.get("MacAuto"), "MacIncr": obj.get("MacIncr"), "MacStart": obj.get("MacStart"), diff --git a/cyperf/models/eula_details.py b/cyperf/models/eula_details.py index 6f3f952..5a26c2e 100644 --- a/cyperf/models/eula_details.py +++ b/cyperf/models/eula_details.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/eula_summary.py b/cyperf/models/eula_summary.py index 4342389..b0f801c 100644 --- a/cyperf/models/eula_summary.py +++ b/cyperf/models/eula_summary.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/exchange.py b/cyperf/models/exchange.py index c6914fd..0101e44 100644 --- a/cyperf/models/exchange.py +++ b/cyperf/models/exchange.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/exchange_order.py b/cyperf/models/exchange_order.py index 6ee8c5e..6393d37 100644 --- a/cyperf/models/exchange_order.py +++ b/cyperf/models/exchange_order.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/exchange_payload.py b/cyperf/models/exchange_payload.py index 6d98999..eaab1c6 100644 --- a/cyperf/models/exchange_payload.py +++ b/cyperf/models/exchange_payload.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/expected_disk_space.py b/cyperf/models/expected_disk_space.py index 10fe944..f33ff82 100644 --- a/cyperf/models/expected_disk_space.py +++ b/cyperf/models/expected_disk_space.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/expected_disk_space_message.py b/cyperf/models/expected_disk_space_message.py index c68c435..2f8e6f0 100644 --- a/cyperf/models/expected_disk_space_message.py +++ b/cyperf/models/expected_disk_space_message.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/expected_disk_space_pretty_size.py b/cyperf/models/expected_disk_space_pretty_size.py index f616efb..71b2466 100644 --- a/cyperf/models/expected_disk_space_pretty_size.py +++ b/cyperf/models/expected_disk_space_pretty_size.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/expected_disk_space_size.py b/cyperf/models/expected_disk_space_size.py index 4cbadb4..79d6035 100644 --- a/cyperf/models/expected_disk_space_size.py +++ b/cyperf/models/expected_disk_space_size.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/export_all_operation.py b/cyperf/models/export_all_operation.py index 369929b..8176036 100644 --- a/cyperf/models/export_all_operation.py +++ b/cyperf/models/export_all_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/export_apps_operation_input.py b/cyperf/models/export_apps_operation_input.py index fd49745..ac0ee53 100644 --- a/cyperf/models/export_apps_operation_input.py +++ b/cyperf/models/export_apps_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/export_files_operation_input.py b/cyperf/models/export_files_operation_input.py index 31aeba9..d0a2977 100644 --- a/cyperf/models/export_files_operation_input.py +++ b/cyperf/models/export_files_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/export_files_request.py b/cyperf/models/export_files_request.py index 03dacf9..32f1d41 100644 --- a/cyperf/models/export_files_request.py +++ b/cyperf/models/export_files_request.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/export_package_operation.py b/cyperf/models/export_package_operation.py index c3f2bd9..dd47de7 100644 --- a/cyperf/models/export_package_operation.py +++ b/cyperf/models/export_package_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/external_resource_info.py b/cyperf/models/external_resource_info.py index 3fdb497..7eddfcd 100644 --- a/cyperf/models/external_resource_info.py +++ b/cyperf/models/external_resource_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/f5_encapsulation.py b/cyperf/models/f5_encapsulation.py index ed73979..533079f 100644 --- a/cyperf/models/f5_encapsulation.py +++ b/cyperf/models/f5_encapsulation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/f5_settings.py b/cyperf/models/f5_settings.py index d437ade..2a72e41 100644 --- a/cyperf/models/f5_settings.py +++ b/cyperf/models/f5_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/feature.py b/cyperf/models/feature.py index 5698b78..c190523 100644 --- a/cyperf/models/feature.py +++ b/cyperf/models/feature.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/feature_reservation.py b/cyperf/models/feature_reservation.py index 916ae58..ea123de 100644 --- a/cyperf/models/feature_reservation.py +++ b/cyperf/models/feature_reservation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/feature_reservation_reserve.py b/cyperf/models/feature_reservation_reserve.py index 4c93cec..bf3b057 100644 --- a/cyperf/models/feature_reservation_reserve.py +++ b/cyperf/models/feature_reservation_reserve.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/file_metadata.py b/cyperf/models/file_metadata.py index d68e1bd..8a02b18 100644 --- a/cyperf/models/file_metadata.py +++ b/cyperf/models/file_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/file_value.py b/cyperf/models/file_value.py index 8ce2752..1a92c96 100644 --- a/cyperf/models/file_value.py +++ b/cyperf/models/file_value.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/filter.py b/cyperf/models/filter.py index 8a40b69..c5c8b34 100644 --- a/cyperf/models/filter.py +++ b/cyperf/models/filter.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/filtered_stat.py b/cyperf/models/filtered_stat.py index dfacd06..0856fc3 100644 --- a/cyperf/models/filtered_stat.py +++ b/cyperf/models/filtered_stat.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/find_param_matches_operation.py b/cyperf/models/find_param_matches_operation.py index 92eee16..9fc2e4a 100644 --- a/cyperf/models/find_param_matches_operation.py +++ b/cyperf/models/find_param_matches_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/formatted_description.py b/cyperf/models/formatted_description.py new file mode 100644 index 0000000..f9dab7d --- /dev/null +++ b/cyperf/models/formatted_description.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.layout_config import LayoutConfig +from cyperf.models.section import Section +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class FormattedDescription(BaseModel): + """ + FormattedDescription + """ # noqa: E501 + layout: Optional[LayoutConfig] = None + sections: Optional[List[Section]] = Field(default=None, description="The list of sections that make up the page.") + summary: Optional[Section] = None + __properties: ClassVar[List[str]] = ["layout", "sections", "summary"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FormattedDescription from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of layout + if self.layout: + _dict['layout'] = self.layout.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in sections (list) + _items = [] + if self.sections: + for _item in self.sections: + if _item: + _items.append(_item.to_dict()) + _dict['sections'] = _items + # override the default output from pydantic by calling `to_dict()` of summary + if self.summary: + _dict['summary'] = self.summary.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FormattedDescription from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "layout": LayoutConfig.from_dict(obj["layout"]) if obj.get("layout") is not None else None, + "sections": ( [Section.from_dict(_item) for _item in obj.get("sections", [])] if obj.get("sections") is not None else None), + "summary": Section.from_dict(obj["summary"]) if obj.get("summary") is not None else None + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/fortinet_encapsulation.py b/cyperf/models/fortinet_encapsulation.py index 860b9c5..a8ec577 100644 --- a/cyperf/models/fortinet_encapsulation.py +++ b/cyperf/models/fortinet_encapsulation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/fortinet_settings.py b/cyperf/models/fortinet_settings.py index b5a6676..816ede3 100644 --- a/cyperf/models/fortinet_settings.py +++ b/cyperf/models/fortinet_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/front_panel.py b/cyperf/models/front_panel.py new file mode 100644 index 0000000..3e5f311 --- /dev/null +++ b/cyperf/models/front_panel.py @@ -0,0 +1,133 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.health_issue import HealthIssue +from cyperf.models.port import Port +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class FrontPanel(BaseModel): + """ + FrontPanel + """ # noqa: E501 + available_fan_out_modes: Optional[List[StrictStr]] = Field(default=None, description="A list with the current fanOut modes available for the front panel", alias="availableFanOutModes") + fan_out_mode: Optional[StrictStr] = Field(default=None, description="The current fanOut mode of the front panel", alias="fanOutMode") + health_details: Optional[List[HealthIssue]] = Field(default=None, description="A list with more details regarding the health of the front panel", alias="healthDetails") + healthy: Optional[StrictBool] = Field(default=None, description="Whether the front panel has any health issue or not") + id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the front panel") + links: Optional[List[APILink]] = None + name: Optional[StrictStr] = Field(default=None, description="A user-friendly display name for the front panel") + ports: Optional[List[Port]] = Field(default=None, description="The front panel ports of the front panel") + status: Optional[StrictStr] = Field(default=None, description="The current status of the front panel: ready or not ready") + __properties: ClassVar[List[str]] = ["availableFanOutModes", "fanOutMode", "healthDetails", "healthy", "id", "links", "name", "ports", "status"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FrontPanel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in health_details (list) + _items = [] + if self.health_details: + for _item in self.health_details: + if _item: + _items.append(_item.to_dict()) + _dict['healthDetails'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in ports (list) + _items = [] + if self.ports: + for _item in self.ports: + if _item: + _items.append(_item.to_dict()) + _dict['ports'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FrontPanel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "availableFanOutModes": obj.get("availableFanOutModes") if obj.get("availableFanOutModes") is not None else [], + "fanOutMode": obj.get("fanOutMode"), + "healthDetails": ( [HealthIssue.from_dict(_item) for _item in obj.get("healthDetails", [])] if obj.get("healthDetails") is not None else None), + "healthy": obj.get("healthy"), + "id": obj.get("id"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), + "name": obj.get("name"), + "ports": ( [Port.from_dict(_item) for _item in obj.get("ports", [])] if obj.get("ports") is not None else None), + "status": obj.get("status") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/front_panel_ports_by_controller.py b/cyperf/models/front_panel_ports_by_controller.py new file mode 100644 index 0000000..5ddb56e --- /dev/null +++ b/cyperf/models/front_panel_ports_by_controller.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.ports_by_panel import PortsByPanel +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class FrontPanelPortsByController(BaseModel): + """ + FrontPanelPortsByController + """ # noqa: E501 + controller_id: Optional[StrictStr] = Field(default=None, description="The id of the controller that the front panel ports are part of.", alias="controllerId") + front_panels: Optional[List[PortsByPanel]] = Field(default=None, description="The front panels that the ports are part of.", alias="frontPanels") + __properties: ClassVar[List[str]] = ["controllerId", "frontPanels"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FrontPanelPortsByController from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in front_panels (list) + _items = [] + if self.front_panels: + for _item in self.front_panels: + if _item: + _items.append(_item.to_dict()) + _dict['frontPanels'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FrontPanelPortsByController from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "controllerId": obj.get("controllerId"), + "frontPanels": ( [PortsByPanel.from_dict(_item) for _item in obj.get("frontPanels", [])] if obj.get("frontPanels") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/front_panels_by_controller.py b/cyperf/models/front_panels_by_controller.py new file mode 100644 index 0000000..37c4d0a --- /dev/null +++ b/cyperf/models/front_panels_by_controller.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class FrontPanelsByController(BaseModel): + """ + FrontPanelsByController + """ # noqa: E501 + controller_id: Optional[StrictStr] = Field(default=None, description="The id of the controller that the front panels are part of.", alias="controllerId") + front_panels: Optional[List[StrictStr]] = Field(default=None, description="The front panel ids.", alias="frontPanels") + __properties: ClassVar[List[str]] = ["controllerId", "frontPanels"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FrontPanelsByController from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FrontPanelsByController from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "controllerId": obj.get("controllerId"), + "frontPanels": obj.get("frontPanels") if obj.get("frontPanels") is not None else [] + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/fulfillment_request.py b/cyperf/models/fulfillment_request.py index 572bbe3..ea4a210 100644 --- a/cyperf/models/fulfillment_request.py +++ b/cyperf/models/fulfillment_request.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/generate_all_operation.py b/cyperf/models/generate_all_operation.py index e358dfa..12c210f 100644 --- a/cyperf/models/generate_all_operation.py +++ b/cyperf/models/generate_all_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/generate_csv_reports_operation.py b/cyperf/models/generate_csv_reports_operation.py index 0b3a613..f11a283 100644 --- a/cyperf/models/generate_csv_reports_operation.py +++ b/cyperf/models/generate_csv_reports_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/generate_pdf_report_operation.py b/cyperf/models/generate_pdf_report_operation.py index 24a453a..7cf9d5b 100644 --- a/cyperf/models/generate_pdf_report_operation.py +++ b/cyperf/models/generate_pdf_report_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/generic_file.py b/cyperf/models/generic_file.py index dec088b..db4a10d 100644 --- a/cyperf/models/generic_file.py +++ b/cyperf/models/generic_file.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_agents200_response.py b/cyperf/models/get_agents200_response.py index 9f2e109..16535f2 100644 --- a/cyperf/models/get_agents200_response.py +++ b/cyperf/models/get_agents200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_agents200_response_one_of.py b/cyperf/models/get_agents200_response_one_of.py index ac0fbb5..5be31a2 100644 --- a/cyperf/models/get_agents200_response_one_of.py +++ b/cyperf/models/get_agents200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_agents_tags200_response.py b/cyperf/models/get_agents_tags200_response.py index b75c755..49d4244 100644 --- a/cyperf/models/get_agents_tags200_response.py +++ b/cyperf/models/get_agents_tags200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_agents_tags200_response_one_of.py b/cyperf/models/get_agents_tags200_response_one_of.py index 52df7eb..a43111b 100644 --- a/cyperf/models/get_agents_tags200_response_one_of.py +++ b/cyperf/models/get_agents_tags200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_application_types200_response.py b/cyperf/models/get_application_types200_response.py deleted file mode 100644 index 6f26155..0000000 --- a/cyperf/models/get_application_types200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.application_type import ApplicationType -from cyperf.models.get_application_types200_response_one_of import GetApplicationTypes200ResponseOneOf -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETAPPLICATIONTYPES200RESPONSE_ONE_OF_SCHEMAS = ["GetApplicationTypes200ResponseOneOf", "List[ApplicationType]"] - -class GetApplicationTypes200Response(BaseModel): - """ - GetApplicationTypes200Response - """ - # data type: List[ApplicationType] - oneof_schema_1_validator: Optional[List[ApplicationType]] = None - # data type: GetApplicationTypes200ResponseOneOf - oneof_schema_2_validator: Optional[GetApplicationTypes200ResponseOneOf] = None - actual_instance: Optional[Union[GetApplicationTypes200ResponseOneOf, List[ApplicationType]]] = None - one_of_schemas: Set[str] = { "GetApplicationTypes200ResponseOneOf", "List[ApplicationType]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetApplicationTypes200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[ApplicationType] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetApplicationTypes200ResponseOneOf - if not isinstance(v, GetApplicationTypes200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetApplicationTypes200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetApplicationTypes200Response with oneOf schemas: GetApplicationTypes200ResponseOneOf, List[ApplicationType]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetApplicationTypes200Response with oneOf schemas: GetApplicationTypes200ResponseOneOf, List[ApplicationType]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[ApplicationType] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetApplicationTypes200ResponseOneOf - try: - instance.actual_instance = GetApplicationTypes200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetApplicationTypes200Response with oneOf schemas: GetApplicationTypes200ResponseOneOf, List[ApplicationType]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetApplicationTypes200Response with oneOf schemas: GetApplicationTypes200ResponseOneOf, List[ApplicationType]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetApplicationTypes200ResponseOneOf, List[ApplicationType]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_apps200_response.py b/cyperf/models/get_apps200_response.py deleted file mode 100644 index 9d1d4ac..0000000 --- a/cyperf/models/get_apps200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.appsec_app import AppsecApp -from cyperf.models.get_apps200_response_one_of import GetApps200ResponseOneOf -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETAPPS200RESPONSE_ONE_OF_SCHEMAS = ["GetApps200ResponseOneOf", "List[AppsecApp]"] - -class GetApps200Response(BaseModel): - """ - GetApps200Response - """ - # data type: List[AppsecApp] - oneof_schema_1_validator: Optional[List[AppsecApp]] = None - # data type: GetApps200ResponseOneOf - oneof_schema_2_validator: Optional[GetApps200ResponseOneOf] = None - actual_instance: Optional[Union[GetApps200ResponseOneOf, List[AppsecApp]]] = None - one_of_schemas: Set[str] = { "GetApps200ResponseOneOf", "List[AppsecApp]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetApps200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[AppsecApp] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetApps200ResponseOneOf - if not isinstance(v, GetApps200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetApps200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetApps200Response with oneOf schemas: GetApps200ResponseOneOf, List[AppsecApp]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetApps200Response with oneOf schemas: GetApps200ResponseOneOf, List[AppsecApp]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[AppsecApp] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetApps200ResponseOneOf - try: - instance.actual_instance = GetApps200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetApps200Response with oneOf schemas: GetApps200ResponseOneOf, List[AppsecApp]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetApps200Response with oneOf schemas: GetApps200ResponseOneOf, List[AppsecApp]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetApps200ResponseOneOf, List[AppsecApp]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_async_operation_result200_response.py b/cyperf/models/get_async_operation_result200_response.py index d4473b8..a524cd7 100644 --- a/cyperf/models/get_async_operation_result200_response.py +++ b/cyperf/models/get_async_operation_result200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_attacks200_response.py b/cyperf/models/get_attacks200_response.py deleted file mode 100644 index e3d23a1..0000000 --- a/cyperf/models/get_attacks200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.appsec_attack import AppsecAttack -from cyperf.models.get_attacks200_response_one_of import GetAttacks200ResponseOneOf -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETATTACKS200RESPONSE_ONE_OF_SCHEMAS = ["GetAttacks200ResponseOneOf", "List[AppsecAttack]"] - -class GetAttacks200Response(BaseModel): - """ - GetAttacks200Response - """ - # data type: List[AppsecAttack] - oneof_schema_1_validator: Optional[List[AppsecAttack]] = None - # data type: GetAttacks200ResponseOneOf - oneof_schema_2_validator: Optional[GetAttacks200ResponseOneOf] = None - actual_instance: Optional[Union[GetAttacks200ResponseOneOf, List[AppsecAttack]]] = None - one_of_schemas: Set[str] = { "GetAttacks200ResponseOneOf", "List[AppsecAttack]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetAttacks200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[AppsecAttack] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetAttacks200ResponseOneOf - if not isinstance(v, GetAttacks200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetAttacks200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetAttacks200Response with oneOf schemas: GetAttacks200ResponseOneOf, List[AppsecAttack]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetAttacks200Response with oneOf schemas: GetAttacks200ResponseOneOf, List[AppsecAttack]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[AppsecAttack] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetAttacks200ResponseOneOf - try: - instance.actual_instance = GetAttacks200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetAttacks200Response with oneOf schemas: GetAttacks200ResponseOneOf, List[AppsecAttack]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetAttacks200Response with oneOf schemas: GetAttacks200ResponseOneOf, List[AppsecAttack]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetAttacks200ResponseOneOf, List[AppsecAttack]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_auth_profiles200_response.py b/cyperf/models/get_auth_profiles200_response.py deleted file mode 100644 index 56d4e0e..0000000 --- a/cyperf/models/get_auth_profiles200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.auth_profile import AuthProfile -from cyperf.models.get_auth_profiles200_response_one_of import GetAuthProfiles200ResponseOneOf -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETAUTHPROFILES200RESPONSE_ONE_OF_SCHEMAS = ["GetAuthProfiles200ResponseOneOf", "List[AuthProfile]"] - -class GetAuthProfiles200Response(BaseModel): - """ - GetAuthProfiles200Response - """ - # data type: List[AuthProfile] - oneof_schema_1_validator: Optional[List[AuthProfile]] = None - # data type: GetAuthProfiles200ResponseOneOf - oneof_schema_2_validator: Optional[GetAuthProfiles200ResponseOneOf] = None - actual_instance: Optional[Union[GetAuthProfiles200ResponseOneOf, List[AuthProfile]]] = None - one_of_schemas: Set[str] = { "GetAuthProfiles200ResponseOneOf", "List[AuthProfile]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetAuthProfiles200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[AuthProfile] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetAuthProfiles200ResponseOneOf - if not isinstance(v, GetAuthProfiles200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetAuthProfiles200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetAuthProfiles200Response with oneOf schemas: GetAuthProfiles200ResponseOneOf, List[AuthProfile]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetAuthProfiles200Response with oneOf schemas: GetAuthProfiles200ResponseOneOf, List[AuthProfile]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[AuthProfile] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetAuthProfiles200ResponseOneOf - try: - instance.actual_instance = GetAuthProfiles200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetAuthProfiles200Response with oneOf schemas: GetAuthProfiles200ResponseOneOf, List[AuthProfile]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetAuthProfiles200Response with oneOf schemas: GetAuthProfiles200ResponseOneOf, List[AuthProfile]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetAuthProfiles200ResponseOneOf, List[AuthProfile]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_brokers200_response.py b/cyperf/models/get_brokers200_response.py index af1490a..0a8e4f2 100644 --- a/cyperf/models/get_brokers200_response.py +++ b/cyperf/models/get_brokers200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_brokers200_response_one_of.py b/cyperf/models/get_brokers200_response_one_of.py index 109a749..c414c0a 100644 --- a/cyperf/models/get_brokers200_response_one_of.py +++ b/cyperf/models/get_brokers200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_categories_operation.py b/cyperf/models/get_categories_operation.py index 14a6b40..af5e9b2 100644 --- a/cyperf/models/get_categories_operation.py +++ b/cyperf/models/get_categories_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_certificates200_response.py b/cyperf/models/get_compute_node_compute_resources200_response.py similarity index 61% rename from cyperf/models/get_certificates200_response.py rename to cyperf/models/get_compute_node_compute_resources200_response.py index fcb4573..4c02343 100644 --- a/cyperf/models/get_certificates200_response.py +++ b/cyperf/models/get_compute_node_compute_resources200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.generic_file import GenericFile -from cyperf.models.get_certificates200_response_one_of import GetCertificates200ResponseOneOf +from cyperf.models.compute_resource import ComputeResource +from cyperf.models.get_compute_node_compute_resources200_response_one_of import GetComputeNodeComputeResources200ResponseOneOf from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETCERTIFICATES200RESPONSE_ONE_OF_SCHEMAS = ["GetCertificates200ResponseOneOf", "List[GenericFile]"] +GETCOMPUTENODECOMPUTERESOURCES200RESPONSE_ONE_OF_SCHEMAS = ["GetComputeNodeComputeResources200ResponseOneOf", "List[ComputeResource]"] -class GetCertificates200Response(BaseModel): +class GetComputeNodeComputeResources200Response(BaseModel): """ - GetCertificates200Response + GetComputeNodeComputeResources200Response """ - # data type: List[GenericFile] - oneof_schema_1_validator: Optional[List[GenericFile]] = None - # data type: GetCertificates200ResponseOneOf - oneof_schema_2_validator: Optional[GetCertificates200ResponseOneOf] = None - actual_instance: Optional[Union[GetCertificates200ResponseOneOf, List[GenericFile]]] = None - one_of_schemas: Set[str] = { "GetCertificates200ResponseOneOf", "List[GenericFile]" } + # data type: List[ComputeResource] + oneof_schema_1_validator: Optional[List[ComputeResource]] = None + # data type: GetComputeNodeComputeResources200ResponseOneOf + oneof_schema_2_validator: Optional[GetComputeNodeComputeResources200ResponseOneOf] = None + actual_instance: Optional[Union[GetComputeNodeComputeResources200ResponseOneOf, List[ComputeResource]]] = None + one_of_schemas: Set[str] = { "GetComputeNodeComputeResources200ResponseOneOf", "List[ComputeResource]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetCertificates200Response.model_construct() + instance = GetComputeNodeComputeResources200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[GenericFile] + # validate data type: List[ComputeResource] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetCertificates200ResponseOneOf - if not isinstance(v, GetCertificates200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetCertificates200ResponseOneOf`") + # validate data type: GetComputeNodeComputeResources200ResponseOneOf + if not isinstance(v, GetComputeNodeComputeResources200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetComputeNodeComputeResources200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetCertificates200Response with oneOf schemas: GetCertificates200ResponseOneOf, List[GenericFile]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetComputeNodeComputeResources200Response with oneOf schemas: GetComputeNodeComputeResources200ResponseOneOf, List[ComputeResource]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetCertificates200Response with oneOf schemas: GetCertificates200ResponseOneOf, List[GenericFile]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetComputeNodeComputeResources200Response with oneOf schemas: GetComputeNodeComputeResources200ResponseOneOf, List[ComputeResource]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[GenericFile] + # deserialize data into List[ComputeResource] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetCertificates200ResponseOneOf + # deserialize data into GetComputeNodeComputeResources200ResponseOneOf + + + try: - instance.actual_instance = GetCertificates200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetComputeNodeComputeResources200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetCertificates200Response with oneOf schemas: GetCertificates200ResponseOneOf, List[GenericFile]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetComputeNodeComputeResources200Response with oneOf schemas: GetComputeNodeComputeResources200ResponseOneOf, List[ComputeResource]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetCertificates200Response with oneOf schemas: GetCertificates200ResponseOneOf, List[GenericFile]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetComputeNodeComputeResources200Response with oneOf schemas: GetComputeNodeComputeResources200ResponseOneOf, List[ComputeResource]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetCertificates200ResponseOneOf, List[GenericFile]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetComputeNodeComputeResources200ResponseOneOf, List[ComputeResource]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_compute_node_compute_resources200_response_one_of.py b/cyperf/models/get_compute_node_compute_resources200_response_one_of.py new file mode 100644 index 0000000..ef4ad5f --- /dev/null +++ b/cyperf/models/get_compute_node_compute_resources200_response_one_of.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.compute_resource import ComputeResource +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class GetComputeNodeComputeResources200ResponseOneOf(BaseModel): + """ + GetComputeNodeComputeResources200ResponseOneOf + """ # noqa: E501 + data: Optional[List[ComputeResource]] = None + total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") + __properties: ClassVar[List[str]] = ["data", "totalCount"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetComputeNodeComputeResources200ResponseOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetComputeNodeComputeResources200ResponseOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "data": ( [ComputeResource.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), + "totalCount": obj.get("totalCount") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/get_meta200_response.py b/cyperf/models/get_compute_node_ports200_response.py similarity index 66% rename from cyperf/models/get_meta200_response.py rename to cyperf/models/get_compute_node_ports200_response.py index 3e65f25..b5a50ab 100644 --- a/cyperf/models/get_meta200_response.py +++ b/cyperf/models/get_compute_node_ports200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.get_meta200_response_one_of import GetMeta200ResponseOneOf -from cyperf.models.pair import Pair +from cyperf.models.get_compute_node_ports200_response_one_of import GetComputeNodePorts200ResponseOneOf +from cyperf.models.port import Port from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETMETA200RESPONSE_ONE_OF_SCHEMAS = ["GetMeta200ResponseOneOf", "List[Pair]"] +GETCOMPUTENODEPORTS200RESPONSE_ONE_OF_SCHEMAS = ["GetComputeNodePorts200ResponseOneOf", "List[Port]"] -class GetMeta200Response(BaseModel): +class GetComputeNodePorts200Response(BaseModel): """ - GetMeta200Response + GetComputeNodePorts200Response """ - # data type: List[Pair] - oneof_schema_1_validator: Optional[List[Pair]] = None - # data type: GetMeta200ResponseOneOf - oneof_schema_2_validator: Optional[GetMeta200ResponseOneOf] = None - actual_instance: Optional[Union[GetMeta200ResponseOneOf, List[Pair]]] = None - one_of_schemas: Set[str] = { "GetMeta200ResponseOneOf", "List[Pair]" } + # data type: List[Port] + oneof_schema_1_validator: Optional[List[Port]] = None + # data type: GetComputeNodePorts200ResponseOneOf + oneof_schema_2_validator: Optional[GetComputeNodePorts200ResponseOneOf] = None + actual_instance: Optional[Union[GetComputeNodePorts200ResponseOneOf, List[Port]]] = None + one_of_schemas: Set[str] = { "GetComputeNodePorts200ResponseOneOf", "List[Port]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetMeta200Response.model_construct() + instance = GetComputeNodePorts200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[Pair] + # validate data type: List[Port] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetMeta200ResponseOneOf - if not isinstance(v, GetMeta200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetMeta200ResponseOneOf`") + # validate data type: GetComputeNodePorts200ResponseOneOf + if not isinstance(v, GetComputeNodePorts200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetComputeNodePorts200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetMeta200Response with oneOf schemas: GetMeta200ResponseOneOf, List[Pair]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetComputeNodePorts200Response with oneOf schemas: GetComputeNodePorts200ResponseOneOf, List[Port]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetMeta200Response with oneOf schemas: GetMeta200ResponseOneOf, List[Pair]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetComputeNodePorts200Response with oneOf schemas: GetComputeNodePorts200ResponseOneOf, List[Port]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[Pair] + # deserialize data into List[Port] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetMeta200ResponseOneOf + # deserialize data into GetComputeNodePorts200ResponseOneOf + + + try: - instance.actual_instance = GetMeta200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetComputeNodePorts200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetMeta200Response with oneOf schemas: GetMeta200ResponseOneOf, List[Pair]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetComputeNodePorts200Response with oneOf schemas: GetComputeNodePorts200ResponseOneOf, List[Port]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetMeta200Response with oneOf schemas: GetMeta200ResponseOneOf, List[Pair]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetComputeNodePorts200Response with oneOf schemas: GetComputeNodePorts200ResponseOneOf, List[Port]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetMeta200ResponseOneOf, List[Pair]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetComputeNodePorts200ResponseOneOf, List[Port]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_application_types200_response_one_of.py b/cyperf/models/get_compute_node_ports200_response_one_of.py similarity index 82% rename from cyperf/models/get_application_types200_response_one_of.py rename to cyperf/models/get_compute_node_ports200_response_one_of.py index c5eb652..fde6492 100644 --- a/cyperf/models/get_application_types200_response_one_of.py +++ b/cyperf/models/get_compute_node_ports200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,16 +20,16 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.application_type import ApplicationType -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.port import Port +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetApplicationTypes200ResponseOneOf(BaseModel): +class GetComputeNodePorts200ResponseOneOf(BaseModel): """ - GetApplicationTypes200ResponseOneOf + GetComputeNodePorts200ResponseOneOf """ # noqa: E501 - data: Optional[List[ApplicationType]] = None + data: Optional[List[Port]] = None total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") __properties: ClassVar[List[str]] = ["data", "totalCount"] @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetApplicationTypes200ResponseOneOf from a JSON string""" + """Create an instance of GetComputeNodePorts200ResponseOneOf from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -83,7 +83,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetApplicationTypes200ResponseOneOf from a dict""" + """Create an instance of GetComputeNodePorts200ResponseOneOf from a dict""" if obj is None: return None @@ -93,7 +93,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [ApplicationType.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "data": ( [Port.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), "totalCount": obj.get("totalCount") , "links": obj.get("links") diff --git a/cyperf/models/get_config_categorie_subcategories200_response.py b/cyperf/models/get_config_categorie_subcategories200_response.py index 09ccfda..ae4bc67 100644 --- a/cyperf/models/get_config_categorie_subcategories200_response.py +++ b/cyperf/models/get_config_categorie_subcategories200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_config_categorie_subcategories200_response_one_of.py b/cyperf/models/get_config_categorie_subcategories200_response_one_of.py index 4538f05..a974ac3 100644 --- a/cyperf/models/get_config_categorie_subcategories200_response_one_of.py +++ b/cyperf/models/get_config_categorie_subcategories200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_config_categories200_response.py b/cyperf/models/get_config_categories200_response.py index 44e9a1b..3e084ac 100644 --- a/cyperf/models/get_config_categories200_response.py +++ b/cyperf/models/get_config_categories200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_config_categories200_response_one_of.py b/cyperf/models/get_config_categories200_response_one_of.py index 9cc0398..85a547b 100644 --- a/cyperf/models/get_config_categories200_response_one_of.py +++ b/cyperf/models/get_config_categories200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_configs200_response.py b/cyperf/models/get_configs200_response.py index 45826c3..279e726 100644 --- a/cyperf/models/get_configs200_response.py +++ b/cyperf/models/get_configs200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_configs200_response_one_of.py b/cyperf/models/get_configs200_response_one_of.py index 9732c55..6912994 100644 --- a/cyperf/models/get_configs200_response_one_of.py +++ b/cyperf/models/get_configs200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_custom_import_operations200_response.py b/cyperf/models/get_controller_compute_nodes200_response.py similarity index 63% rename from cyperf/models/get_custom_import_operations200_response.py rename to cyperf/models/get_controller_compute_nodes200_response.py index 3a9d0a5..00b900c 100644 --- a/cyperf/models/get_custom_import_operations200_response.py +++ b/cyperf/models/get_controller_compute_nodes200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.custom_import_handler import CustomImportHandler -from cyperf.models.get_custom_import_operations200_response_one_of import GetCustomImportOperations200ResponseOneOf +from cyperf.models.compute_node import ComputeNode +from cyperf.models.get_controller_compute_nodes200_response_one_of import GetControllerComputeNodes200ResponseOneOf from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETCUSTOMIMPORTOPERATIONS200RESPONSE_ONE_OF_SCHEMAS = ["GetCustomImportOperations200ResponseOneOf", "List[CustomImportHandler]"] +GETCONTROLLERCOMPUTENODES200RESPONSE_ONE_OF_SCHEMAS = ["GetControllerComputeNodes200ResponseOneOf", "List[ComputeNode]"] -class GetCustomImportOperations200Response(BaseModel): +class GetControllerComputeNodes200Response(BaseModel): """ - GetCustomImportOperations200Response + GetControllerComputeNodes200Response """ - # data type: List[CustomImportHandler] - oneof_schema_1_validator: Optional[List[CustomImportHandler]] = None - # data type: GetCustomImportOperations200ResponseOneOf - oneof_schema_2_validator: Optional[GetCustomImportOperations200ResponseOneOf] = None - actual_instance: Optional[Union[GetCustomImportOperations200ResponseOneOf, List[CustomImportHandler]]] = None - one_of_schemas: Set[str] = { "GetCustomImportOperations200ResponseOneOf", "List[CustomImportHandler]" } + # data type: List[ComputeNode] + oneof_schema_1_validator: Optional[List[ComputeNode]] = None + # data type: GetControllerComputeNodes200ResponseOneOf + oneof_schema_2_validator: Optional[GetControllerComputeNodes200ResponseOneOf] = None + actual_instance: Optional[Union[GetControllerComputeNodes200ResponseOneOf, List[ComputeNode]]] = None + one_of_schemas: Set[str] = { "GetControllerComputeNodes200ResponseOneOf", "List[ComputeNode]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetCustomImportOperations200Response.model_construct() + instance = GetControllerComputeNodes200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[CustomImportHandler] + # validate data type: List[ComputeNode] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetCustomImportOperations200ResponseOneOf - if not isinstance(v, GetCustomImportOperations200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetCustomImportOperations200ResponseOneOf`") + # validate data type: GetControllerComputeNodes200ResponseOneOf + if not isinstance(v, GetControllerComputeNodes200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetControllerComputeNodes200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetCustomImportOperations200Response with oneOf schemas: GetCustomImportOperations200ResponseOneOf, List[CustomImportHandler]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetControllerComputeNodes200Response with oneOf schemas: GetControllerComputeNodes200ResponseOneOf, List[ComputeNode]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetCustomImportOperations200Response with oneOf schemas: GetCustomImportOperations200ResponseOneOf, List[CustomImportHandler]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetControllerComputeNodes200Response with oneOf schemas: GetControllerComputeNodes200ResponseOneOf, List[ComputeNode]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[CustomImportHandler] + # deserialize data into List[ComputeNode] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetCustomImportOperations200ResponseOneOf + # deserialize data into GetControllerComputeNodes200ResponseOneOf + + + try: - instance.actual_instance = GetCustomImportOperations200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetControllerComputeNodes200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetCustomImportOperations200Response with oneOf schemas: GetCustomImportOperations200ResponseOneOf, List[CustomImportHandler]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetControllerComputeNodes200Response with oneOf schemas: GetControllerComputeNodes200ResponseOneOf, List[ComputeNode]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetCustomImportOperations200Response with oneOf schemas: GetCustomImportOperations200ResponseOneOf, List[CustomImportHandler]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetControllerComputeNodes200Response with oneOf schemas: GetControllerComputeNodes200ResponseOneOf, List[ComputeNode]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetCustomImportOperations200ResponseOneOf, List[CustomImportHandler]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetControllerComputeNodes200ResponseOneOf, List[ComputeNode]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_custom_import_operations200_response_one_of.py b/cyperf/models/get_controller_compute_nodes200_response_one_of.py similarity index 81% rename from cyperf/models/get_custom_import_operations200_response_one_of.py rename to cyperf/models/get_controller_compute_nodes200_response_one_of.py index 4d20050..fe7fc6a 100644 --- a/cyperf/models/get_custom_import_operations200_response_one_of.py +++ b/cyperf/models/get_controller_compute_nodes200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,16 +20,16 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.custom_import_handler import CustomImportHandler -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.compute_node import ComputeNode +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetCustomImportOperations200ResponseOneOf(BaseModel): +class GetControllerComputeNodes200ResponseOneOf(BaseModel): """ - GetCustomImportOperations200ResponseOneOf + GetControllerComputeNodes200ResponseOneOf """ # noqa: E501 - data: Optional[List[CustomImportHandler]] = None + data: Optional[List[ComputeNode]] = None total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") __properties: ClassVar[List[str]] = ["data", "totalCount"] @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetCustomImportOperations200ResponseOneOf from a JSON string""" + """Create an instance of GetControllerComputeNodes200ResponseOneOf from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -83,7 +83,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetCustomImportOperations200ResponseOneOf from a dict""" + """Create an instance of GetControllerComputeNodes200ResponseOneOf from a dict""" if obj is None: return None @@ -93,7 +93,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [CustomImportHandler.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "data": ( [ComputeNode.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), "totalCount": obj.get("totalCount") , "links": obj.get("links") diff --git a/cyperf/models/get_agent_tags200_response.py b/cyperf/models/get_controller_front_panels200_response.py similarity index 62% rename from cyperf/models/get_agent_tags200_response.py rename to cyperf/models/get_controller_front_panels200_response.py index 450b953..73e9877 100644 --- a/cyperf/models/get_agent_tags200_response.py +++ b/cyperf/models/get_controller_front_panels200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.agents_group import AgentsGroup -from cyperf.models.get_agent_tags200_response_one_of import GetAgentTags200ResponseOneOf +from cyperf.models.front_panel import FrontPanel +from cyperf.models.get_controller_front_panels200_response_one_of import GetControllerFrontPanels200ResponseOneOf from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETAGENTTAGS200RESPONSE_ONE_OF_SCHEMAS = ["GetAgentTags200ResponseOneOf", "List[AgentsGroup]"] +GETCONTROLLERFRONTPANELS200RESPONSE_ONE_OF_SCHEMAS = ["GetControllerFrontPanels200ResponseOneOf", "List[FrontPanel]"] -class GetAgentTags200Response(BaseModel): +class GetControllerFrontPanels200Response(BaseModel): """ - GetAgentTags200Response + GetControllerFrontPanels200Response """ - # data type: List[AgentsGroup] - oneof_schema_1_validator: Optional[List[AgentsGroup]] = None - # data type: GetAgentTags200ResponseOneOf - oneof_schema_2_validator: Optional[GetAgentTags200ResponseOneOf] = None - actual_instance: Optional[Union[GetAgentTags200ResponseOneOf, List[AgentsGroup]]] = None - one_of_schemas: Set[str] = { "GetAgentTags200ResponseOneOf", "List[AgentsGroup]" } + # data type: List[FrontPanel] + oneof_schema_1_validator: Optional[List[FrontPanel]] = None + # data type: GetControllerFrontPanels200ResponseOneOf + oneof_schema_2_validator: Optional[GetControllerFrontPanels200ResponseOneOf] = None + actual_instance: Optional[Union[GetControllerFrontPanels200ResponseOneOf, List[FrontPanel]]] = None + one_of_schemas: Set[str] = { "GetControllerFrontPanels200ResponseOneOf", "List[FrontPanel]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetAgentTags200Response.model_construct() + instance = GetControllerFrontPanels200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[AgentsGroup] + # validate data type: List[FrontPanel] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetAgentTags200ResponseOneOf - if not isinstance(v, GetAgentTags200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetAgentTags200ResponseOneOf`") + # validate data type: GetControllerFrontPanels200ResponseOneOf + if not isinstance(v, GetControllerFrontPanels200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetControllerFrontPanels200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetAgentTags200Response with oneOf schemas: GetAgentTags200ResponseOneOf, List[AgentsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetControllerFrontPanels200Response with oneOf schemas: GetControllerFrontPanels200ResponseOneOf, List[FrontPanel]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetAgentTags200Response with oneOf schemas: GetAgentTags200ResponseOneOf, List[AgentsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetControllerFrontPanels200Response with oneOf schemas: GetControllerFrontPanels200ResponseOneOf, List[FrontPanel]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[AgentsGroup] + # deserialize data into List[FrontPanel] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetAgentTags200ResponseOneOf + # deserialize data into GetControllerFrontPanels200ResponseOneOf + + + try: - instance.actual_instance = GetAgentTags200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetControllerFrontPanels200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetAgentTags200Response with oneOf schemas: GetAgentTags200ResponseOneOf, List[AgentsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetControllerFrontPanels200Response with oneOf schemas: GetControllerFrontPanels200ResponseOneOf, List[FrontPanel]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetAgentTags200Response with oneOf schemas: GetAgentTags200ResponseOneOf, List[AgentsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetControllerFrontPanels200Response with oneOf schemas: GetControllerFrontPanels200ResponseOneOf, List[FrontPanel]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetAgentTags200ResponseOneOf, List[AgentsGroup]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetControllerFrontPanels200ResponseOneOf, List[FrontPanel]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_attacks200_response_one_of.py b/cyperf/models/get_controller_front_panels200_response_one_of.py similarity index 80% rename from cyperf/models/get_attacks200_response_one_of.py rename to cyperf/models/get_controller_front_panels200_response_one_of.py index 255e432..6fe0be2 100644 --- a/cyperf/models/get_attacks200_response_one_of.py +++ b/cyperf/models/get_controller_front_panels200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,16 +20,16 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.appsec_attack import AppsecAttack -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.front_panel import FrontPanel +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetAttacks200ResponseOneOf(BaseModel): +class GetControllerFrontPanels200ResponseOneOf(BaseModel): """ - GetAttacks200ResponseOneOf + GetControllerFrontPanels200ResponseOneOf """ # noqa: E501 - data: Optional[List[AppsecAttack]] = None + data: Optional[List[FrontPanel]] = None total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") __properties: ClassVar[List[str]] = ["data", "totalCount"] @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetAttacks200ResponseOneOf from a JSON string""" + """Create an instance of GetControllerFrontPanels200ResponseOneOf from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -83,7 +83,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetAttacks200ResponseOneOf from a dict""" + """Create an instance of GetControllerFrontPanels200ResponseOneOf from a dict""" if obj is None: return None @@ -93,7 +93,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [AppsecAttack.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "data": ( [FrontPanel.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), "totalCount": obj.get("totalCount") , "links": obj.get("links") diff --git a/cyperf/models/get_controllers200_response.py b/cyperf/models/get_controllers200_response.py index 2e68d81..4e8495b 100644 --- a/cyperf/models/get_controllers200_response.py +++ b/cyperf/models/get_controllers200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_controllers200_response_one_of.py b/cyperf/models/get_controllers200_response_one_of.py index 07aae2d..068ae93 100644 --- a/cyperf/models/get_controllers200_response_one_of.py +++ b/cyperf/models/get_controllers200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_disk_usage_consumers200_response.py b/cyperf/models/get_disk_usage_consumers200_response.py index 2a8ee57..b05a761 100644 --- a/cyperf/models/get_disk_usage_consumers200_response.py +++ b/cyperf/models/get_disk_usage_consumers200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_disk_usage_consumers200_response_one_of.py b/cyperf/models/get_disk_usage_consumers200_response_one_of.py index b102098..8330331 100644 --- a/cyperf/models/get_disk_usage_consumers200_response_one_of.py +++ b/cyperf/models/get_disk_usage_consumers200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_files200_response.py b/cyperf/models/get_files200_response.py deleted file mode 100644 index bf44eb6..0000000 --- a/cyperf/models/get_files200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.get_files200_response_one_of import GetFiles200ResponseOneOf -from cyperf.models.result_file_metadata import ResultFileMetadata -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETFILES200RESPONSE_ONE_OF_SCHEMAS = ["GetFiles200ResponseOneOf", "List[ResultFileMetadata]"] - -class GetFiles200Response(BaseModel): - """ - GetFiles200Response - """ - # data type: List[ResultFileMetadata] - oneof_schema_1_validator: Optional[List[ResultFileMetadata]] = None - # data type: GetFiles200ResponseOneOf - oneof_schema_2_validator: Optional[GetFiles200ResponseOneOf] = None - actual_instance: Optional[Union[GetFiles200ResponseOneOf, List[ResultFileMetadata]]] = None - one_of_schemas: Set[str] = { "GetFiles200ResponseOneOf", "List[ResultFileMetadata]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetFiles200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[ResultFileMetadata] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetFiles200ResponseOneOf - if not isinstance(v, GetFiles200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetFiles200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetFiles200Response with oneOf schemas: GetFiles200ResponseOneOf, List[ResultFileMetadata]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetFiles200Response with oneOf schemas: GetFiles200ResponseOneOf, List[ResultFileMetadata]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[ResultFileMetadata] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetFiles200ResponseOneOf - try: - instance.actual_instance = GetFiles200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetFiles200Response with oneOf schemas: GetFiles200ResponseOneOf, List[ResultFileMetadata]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetFiles200Response with oneOf schemas: GetFiles200ResponseOneOf, List[ResultFileMetadata]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetFiles200ResponseOneOf, List[ResultFileMetadata]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_http_profiles200_response.py b/cyperf/models/get_http_profiles200_response.py deleted file mode 100644 index 85d853f..0000000 --- a/cyperf/models/get_http_profiles200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.get_http_profiles200_response_one_of import GetHttpProfiles200ResponseOneOf -from cyperf.models.http_profile import HTTPProfile -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETHTTPPROFILES200RESPONSE_ONE_OF_SCHEMAS = ["GetHttpProfiles200ResponseOneOf", "List[HTTPProfile]"] - -class GetHttpProfiles200Response(BaseModel): - """ - GetHttpProfiles200Response - """ - # data type: List[HTTPProfile] - oneof_schema_1_validator: Optional[List[HTTPProfile]] = None - # data type: GetHttpProfiles200ResponseOneOf - oneof_schema_2_validator: Optional[GetHttpProfiles200ResponseOneOf] = None - actual_instance: Optional[Union[GetHttpProfiles200ResponseOneOf, List[HTTPProfile]]] = None - one_of_schemas: Set[str] = { "GetHttpProfiles200ResponseOneOf", "List[HTTPProfile]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetHttpProfiles200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[HTTPProfile] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetHttpProfiles200ResponseOneOf - if not isinstance(v, GetHttpProfiles200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetHttpProfiles200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetHttpProfiles200Response with oneOf schemas: GetHttpProfiles200ResponseOneOf, List[HTTPProfile]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetHttpProfiles200Response with oneOf schemas: GetHttpProfiles200ResponseOneOf, List[HTTPProfile]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[HTTPProfile] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetHttpProfiles200ResponseOneOf - try: - instance.actual_instance = GetHttpProfiles200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetHttpProfiles200Response with oneOf schemas: GetHttpProfiles200ResponseOneOf, List[HTTPProfile]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetHttpProfiles200Response with oneOf schemas: GetHttpProfiles200ResponseOneOf, List[HTTPProfile]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetHttpProfiles200ResponseOneOf, List[HTTPProfile]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_http_profiles200_response_one_of.py b/cyperf/models/get_http_profiles200_response_one_of.py deleted file mode 100644 index 309c61f..0000000 --- a/cyperf/models/get_http_profiles200_response_one_of.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictInt -from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.http_profile import HTTPProfile -from typing import Optional, Set, Union, GenericAlias, get_args -from typing_extensions import Self -from pydantic import Field - -class GetHttpProfiles200ResponseOneOf(BaseModel): - """ - GetHttpProfiles200ResponseOneOf - """ # noqa: E501 - data: Optional[List[HTTPProfile]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetHttpProfiles200ResponseOneOf from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] - if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) - _dict['data'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetHttpProfiles200ResponseOneOf from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - _obj = cls.model_validate(obj) -# _obj.api_client = client - return _obj - - _obj = cls.model_validate({ - "data": [HTTPProfile.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") - , - "links": obj.get("links") - }) - return _obj - - diff --git a/cyperf/models/get_license_async_operation_result200_response.py b/cyperf/models/get_license_async_operation_result200_response.py index 1dc2334..06bfa6c 100644 --- a/cyperf/models/get_license_async_operation_result200_response.py +++ b/cyperf/models/get_license_async_operation_result200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_license_servers200_response.py b/cyperf/models/get_license_servers200_response.py index d1d2606..64e1abb 100644 --- a/cyperf/models/get_license_servers200_response.py +++ b/cyperf/models/get_license_servers200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_license_servers200_response_one_of.py b/cyperf/models/get_license_servers200_response_one_of.py index 75dfe59..6e6ad75 100644 --- a/cyperf/models/get_license_servers200_response_one_of.py +++ b/cyperf/models/get_license_servers200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_meta200_response_one_of.py b/cyperf/models/get_meta200_response_one_of.py deleted file mode 100644 index 0cbd4dc..0000000 --- a/cyperf/models/get_meta200_response_one_of.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictInt -from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.pair import Pair -from typing import Optional, Set, Union, GenericAlias, get_args -from typing_extensions import Self -from pydantic import Field - -class GetMeta200ResponseOneOf(BaseModel): - """ - GetMeta200ResponseOneOf - """ # noqa: E501 - data: Optional[List[Pair]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetMeta200ResponseOneOf from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] - if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) - _dict['data'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetMeta200ResponseOneOf from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - _obj = cls.model_validate(obj) -# _obj.api_client = client - return _obj - - _obj = cls.model_validate({ - "data": [Pair.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") - , - "links": obj.get("links") - }) - return _obj - - diff --git a/cyperf/models/get_notifications200_response.py b/cyperf/models/get_notifications200_response.py index 847fdac..3aae1e8 100644 --- a/cyperf/models/get_notifications200_response.py +++ b/cyperf/models/get_notifications200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_notifications200_response_one_of.py b/cyperf/models/get_notifications200_response_one_of.py index 6e61e3e..b91918c 100644 --- a/cyperf/models/get_notifications200_response_one_of.py +++ b/cyperf/models/get_notifications200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_plugins200_response.py b/cyperf/models/get_plugins200_response.py deleted file mode 100644 index d088e62..0000000 --- a/cyperf/models/get_plugins200_response.py +++ /dev/null @@ -1,143 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -import pprint -from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator -from typing import Any, List, Optional -from cyperf.models.get_plugins200_response_one_of import GetPlugins200ResponseOneOf -from cyperf.models.plugin import Plugin -from pydantic import StrictStr, Field -from typing import Union, List, Set, Optional, Dict -from typing_extensions import Literal, Self - -GETPLUGINS200RESPONSE_ONE_OF_SCHEMAS = ["GetPlugins200ResponseOneOf", "List[Plugin]"] - -class GetPlugins200Response(BaseModel): - """ - GetPlugins200Response - """ - # data type: List[Plugin] - oneof_schema_1_validator: Optional[List[Plugin]] = None - # data type: GetPlugins200ResponseOneOf - oneof_schema_2_validator: Optional[GetPlugins200ResponseOneOf] = None - actual_instance: Optional[Union[GetPlugins200ResponseOneOf, List[Plugin]]] = None - one_of_schemas: Set[str] = { "GetPlugins200ResponseOneOf", "List[Plugin]" } - - model_config = ConfigDict( - validate_assignment=True, - protected_namespaces=(), - ) - - - def __init__(self, *args, **kwargs) -> None: - if args: - if len(args) > 1: - raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") - if kwargs: - raise ValueError("If a position argument is used, keyword arguments cannot be used.") - super().__init__(actual_instance=args[0]) - else: - super().__init__(**kwargs) - - @field_validator('actual_instance') - def actual_instance_must_validate_oneof(cls, v): - instance = GetPlugins200Response.model_construct() - error_messages = [] - match = 0 - # validate data type: List[Plugin] - try: - instance.oneof_schema_1_validator = v - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # validate data type: GetPlugins200ResponseOneOf - if not isinstance(v, GetPlugins200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetPlugins200ResponseOneOf`") - else: - match += 1 - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetPlugins200Response with oneOf schemas: GetPlugins200ResponseOneOf, List[Plugin]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when setting `actual_instance` in GetPlugins200Response with oneOf schemas: GetPlugins200ResponseOneOf, List[Plugin]. Details: " + ", ".join(error_messages)) - else: - return v - - @classmethod - def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: - return cls.from_json(json.dumps(obj)) - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Returns the object represented by the json string""" - instance = cls.model_construct() -# instance.api_client = client - error_messages = [] - match = 0 - - # deserialize data into List[Plugin] - try: - # validation - instance.oneof_schema_1_validator = json.loads(json_str) - # assign value to actual_instance - instance.actual_instance = instance.oneof_schema_1_validator - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - # deserialize data into GetPlugins200ResponseOneOf - try: - instance.actual_instance = GetPlugins200ResponseOneOf.from_json(json_str) - match += 1 - except (ValidationError, ValueError) as e: - error_messages.append(str(e)) - - if match > 1: - # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetPlugins200Response with oneOf schemas: GetPlugins200ResponseOneOf, List[Plugin]. Details: " + ", ".join(error_messages)) - elif match == 0: - # no match - raise ValueError("No match found when deserializing the JSON string into GetPlugins200Response with oneOf schemas: GetPlugins200ResponseOneOf, List[Plugin]. Details: " + ", ".join(error_messages)) - else: - return instance - - def to_json(self) -> str: - """Returns the JSON representation of the actual instance""" - if self.actual_instance is None: - return "null" - - if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): - return self.actual_instance.to_json() - else: - return json.dumps(self.actual_instance) - - def to_dict(self) -> Optional[Union[Dict[str, Any], GetPlugins200ResponseOneOf, List[Plugin]]]: - """Returns the dict representation of the actual instance""" - if self.actual_instance is None: - return None - - if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): - return self.actual_instance.to_dict() - else: - # primitive type - return self.actual_instance - - def to_str(self) -> str: - """Returns the string representation of the actual instance""" - return pprint.pformat(self.model_dump()) - - diff --git a/cyperf/models/get_plugins200_response_one_of.py b/cyperf/models/get_plugins200_response_one_of.py deleted file mode 100644 index 9528f19..0000000 --- a/cyperf/models/get_plugins200_response_one_of.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictInt -from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.plugin import Plugin -from typing import Optional, Set, Union, GenericAlias, get_args -from typing_extensions import Self -from pydantic import Field - -class GetPlugins200ResponseOneOf(BaseModel): - """ - GetPlugins200ResponseOneOf - """ # noqa: E501 - data: Optional[List[Plugin]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetPlugins200ResponseOneOf from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] - if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) - _dict['data'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetPlugins200ResponseOneOf from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - _obj = cls.model_validate(obj) -# _obj.api_client = client - return _obj - - _obj = cls.model_validate({ - "data": [Plugin.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") - , - "links": obj.get("links") - }) - return _obj - - diff --git a/cyperf/models/get_resources_application_types200_response.py b/cyperf/models/get_resources_application_types200_response.py index 92d9d1a..3f078d8 100644 --- a/cyperf/models/get_resources_application_types200_response.py +++ b/cyperf/models/get_resources_application_types200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_application_types200_response_one_of.py b/cyperf/models/get_resources_application_types200_response_one_of.py index a4778c2..b3bc263 100644 --- a/cyperf/models/get_resources_application_types200_response_one_of.py +++ b/cyperf/models/get_resources_application_types200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_apps200_response.py b/cyperf/models/get_resources_apps200_response.py index 0b9557c..4060018 100644 --- a/cyperf/models/get_resources_apps200_response.py +++ b/cyperf/models/get_resources_apps200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_apps200_response_one_of.py b/cyperf/models/get_resources_apps200_response_one_of.py index e36deea..f72c7c0 100644 --- a/cyperf/models/get_resources_apps200_response_one_of.py +++ b/cyperf/models/get_resources_apps200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_attacks200_response.py b/cyperf/models/get_resources_attacks200_response.py index 4227e3d..6cc4c19 100644 --- a/cyperf/models/get_resources_attacks200_response.py +++ b/cyperf/models/get_resources_attacks200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_attacks200_response_one_of.py b/cyperf/models/get_resources_attacks200_response_one_of.py index 520f321..40e1477 100644 --- a/cyperf/models/get_resources_attacks200_response_one_of.py +++ b/cyperf/models/get_resources_attacks200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_auth_profiles200_response.py b/cyperf/models/get_resources_auth_profiles200_response.py index e14d010..ffa4b9d 100644 --- a/cyperf/models/get_resources_auth_profiles200_response.py +++ b/cyperf/models/get_resources_auth_profiles200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_auth_profiles200_response_one_of.py b/cyperf/models/get_resources_auth_profiles200_response_one_of.py index a9d5db7..d5affe6 100644 --- a/cyperf/models/get_resources_auth_profiles200_response_one_of.py +++ b/cyperf/models/get_resources_auth_profiles200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_certificates200_response.py b/cyperf/models/get_resources_certificates200_response.py index 3847182..95293d1 100644 --- a/cyperf/models/get_resources_certificates200_response.py +++ b/cyperf/models/get_resources_certificates200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_certificates200_response_one_of.py b/cyperf/models/get_resources_certificates200_response_one_of.py index e89b61a..ed39350 100644 --- a/cyperf/models/get_resources_certificates200_response_one_of.py +++ b/cyperf/models/get_resources_certificates200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_custom_import_operations200_response.py b/cyperf/models/get_resources_custom_import_operations200_response.py index 2cc4b11..fcce716 100644 --- a/cyperf/models/get_resources_custom_import_operations200_response.py +++ b/cyperf/models/get_resources_custom_import_operations200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_custom_import_operations200_response_one_of.py b/cyperf/models/get_resources_custom_import_operations200_response_one_of.py index 5c4ad31..56e9e45 100644 --- a/cyperf/models/get_resources_custom_import_operations200_response_one_of.py +++ b/cyperf/models/get_resources_custom_import_operations200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_http_profiles200_response.py b/cyperf/models/get_resources_http_profiles200_response.py index a5ca4c2..6a4c2a3 100644 --- a/cyperf/models/get_resources_http_profiles200_response.py +++ b/cyperf/models/get_resources_http_profiles200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_resources_http_profiles200_response_one_of.py b/cyperf/models/get_resources_http_profiles200_response_one_of.py index 85dda5f..7a92a32 100644 --- a/cyperf/models/get_resources_http_profiles200_response_one_of.py +++ b/cyperf/models/get_resources_http_profiles200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_consumers200_response.py b/cyperf/models/get_resources_llm_api_profiles200_response.py similarity index 62% rename from cyperf/models/get_consumers200_response.py rename to cyperf/models/get_resources_llm_api_profiles200_response.py index cf071ef..abbfa48 100644 --- a/cyperf/models/get_consumers200_response.py +++ b/cyperf/models/get_resources_llm_api_profiles200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.consumer import Consumer -from cyperf.models.get_consumers200_response_one_of import GetConsumers200ResponseOneOf +from cyperf.models.get_resources_llm_api_profiles200_response_one_of import GetResourcesLlmApiProfiles200ResponseOneOf +from cyperf.models.llmapi_profile import LLMAPIProfile from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETCONSUMERS200RESPONSE_ONE_OF_SCHEMAS = ["GetConsumers200ResponseOneOf", "List[Consumer]"] +GETRESOURCESLLMAPIPROFILES200RESPONSE_ONE_OF_SCHEMAS = ["GetResourcesLlmApiProfiles200ResponseOneOf", "List[LLMAPIProfile]"] -class GetConsumers200Response(BaseModel): +class GetResourcesLlmApiProfiles200Response(BaseModel): """ - GetConsumers200Response + GetResourcesLlmApiProfiles200Response """ - # data type: List[Consumer] - oneof_schema_1_validator: Optional[List[Consumer]] = None - # data type: GetConsumers200ResponseOneOf - oneof_schema_2_validator: Optional[GetConsumers200ResponseOneOf] = None - actual_instance: Optional[Union[GetConsumers200ResponseOneOf, List[Consumer]]] = None - one_of_schemas: Set[str] = { "GetConsumers200ResponseOneOf", "List[Consumer]" } + # data type: List[LLMAPIProfile] + oneof_schema_1_validator: Optional[List[LLMAPIProfile]] = None + # data type: GetResourcesLlmApiProfiles200ResponseOneOf + oneof_schema_2_validator: Optional[GetResourcesLlmApiProfiles200ResponseOneOf] = None + actual_instance: Optional[Union[GetResourcesLlmApiProfiles200ResponseOneOf, List[LLMAPIProfile]]] = None + one_of_schemas: Set[str] = { "GetResourcesLlmApiProfiles200ResponseOneOf", "List[LLMAPIProfile]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetConsumers200Response.model_construct() + instance = GetResourcesLlmApiProfiles200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[Consumer] + # validate data type: List[LLMAPIProfile] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetConsumers200ResponseOneOf - if not isinstance(v, GetConsumers200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetConsumers200ResponseOneOf`") + # validate data type: GetResourcesLlmApiProfiles200ResponseOneOf + if not isinstance(v, GetResourcesLlmApiProfiles200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetResourcesLlmApiProfiles200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetConsumers200Response with oneOf schemas: GetConsumers200ResponseOneOf, List[Consumer]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetResourcesLlmApiProfiles200Response with oneOf schemas: GetResourcesLlmApiProfiles200ResponseOneOf, List[LLMAPIProfile]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetConsumers200Response with oneOf schemas: GetConsumers200ResponseOneOf, List[Consumer]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetResourcesLlmApiProfiles200Response with oneOf schemas: GetResourcesLlmApiProfiles200ResponseOneOf, List[LLMAPIProfile]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[Consumer] + # deserialize data into List[LLMAPIProfile] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetConsumers200ResponseOneOf + # deserialize data into GetResourcesLlmApiProfiles200ResponseOneOf + + + try: - instance.actual_instance = GetConsumers200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetResourcesLlmApiProfiles200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetConsumers200Response with oneOf schemas: GetConsumers200ResponseOneOf, List[Consumer]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetResourcesLlmApiProfiles200Response with oneOf schemas: GetResourcesLlmApiProfiles200ResponseOneOf, List[LLMAPIProfile]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetConsumers200Response with oneOf schemas: GetConsumers200ResponseOneOf, List[Consumer]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetResourcesLlmApiProfiles200Response with oneOf schemas: GetResourcesLlmApiProfiles200ResponseOneOf, List[LLMAPIProfile]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetConsumers200ResponseOneOf, List[Consumer]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetResourcesLlmApiProfiles200ResponseOneOf, List[LLMAPIProfile]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_resources_llm_api_profiles200_response_one_of.py b/cyperf/models/get_resources_llm_api_profiles200_response_one_of.py new file mode 100644 index 0000000..ec3b250 --- /dev/null +++ b/cyperf/models/get_resources_llm_api_profiles200_response_one_of.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.llmapi_profile import LLMAPIProfile +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class GetResourcesLlmApiProfiles200ResponseOneOf(BaseModel): + """ + GetResourcesLlmApiProfiles200ResponseOneOf + """ # noqa: E501 + data: Optional[List[LLMAPIProfile]] = None + total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") + __properties: ClassVar[List[str]] = ["data", "totalCount"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetResourcesLlmApiProfiles200ResponseOneOf from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.to_dict()) + _dict['data'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetResourcesLlmApiProfiles200ResponseOneOf from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "data": ( [LLMAPIProfile.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), + "totalCount": obj.get("totalCount") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/get_result_files200_response.py b/cyperf/models/get_result_files200_response.py index 8107fb7..a12dcaa 100644 --- a/cyperf/models/get_result_files200_response.py +++ b/cyperf/models/get_result_files200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_result_files200_response_one_of.py b/cyperf/models/get_result_files200_response_one_of.py index 4c8f718..aea7e64 100644 --- a/cyperf/models/get_result_files200_response_one_of.py +++ b/cyperf/models/get_result_files200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_result_stats200_response.py b/cyperf/models/get_result_stats200_response.py index e13e44f..b02a1e5 100644 --- a/cyperf/models/get_result_stats200_response.py +++ b/cyperf/models/get_result_stats200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_result_stats200_response_one_of.py b/cyperf/models/get_result_stats200_response_one_of.py index fadc58e..069cdec 100644 --- a/cyperf/models/get_result_stats200_response_one_of.py +++ b/cyperf/models/get_result_stats200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_result_tags200_response_one_of.py b/cyperf/models/get_result_tags200_response_one_of.py deleted file mode 100644 index 8c1eed1..0000000 --- a/cyperf/models/get_result_tags200_response_one_of.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictInt -from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.results_group import ResultsGroup -from typing import Optional, Set, Union, GenericAlias, get_args -from typing_extensions import Self -from pydantic import Field - -class GetResultTags200ResponseOneOf(BaseModel): - """ - GetResultTags200ResponseOneOf - """ # noqa: E501 - data: Optional[List[ResultsGroup]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetResultTags200ResponseOneOf from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] - if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) - _dict['data'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetResultTags200ResponseOneOf from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - _obj = cls.model_validate(obj) -# _obj.api_client = client - return _obj - - _obj = cls.model_validate({ - "data": [ResultsGroup.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") - , - "links": obj.get("links") - }) - return _obj - - diff --git a/cyperf/models/get_results200_response.py b/cyperf/models/get_results200_response.py index f30f6a4..1057524 100644 --- a/cyperf/models/get_results200_response.py +++ b/cyperf/models/get_results200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_results200_response_one_of.py b/cyperf/models/get_results200_response_one_of.py index 660a86f..e583090 100644 --- a/cyperf/models/get_results200_response_one_of.py +++ b/cyperf/models/get_results200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_results_tags200_response.py b/cyperf/models/get_results_tags200_response.py index d07c8f6..8a41145 100644 --- a/cyperf/models/get_results_tags200_response.py +++ b/cyperf/models/get_results_tags200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_results_tags200_response_one_of.py b/cyperf/models/get_results_tags200_response_one_of.py index 6770a33..3f0c74e 100644 --- a/cyperf/models/get_results_tags200_response_one_of.py +++ b/cyperf/models/get_results_tags200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_apps_operation.py b/cyperf/models/get_scenarios_operation.py similarity index 93% rename from cyperf/models/get_apps_operation.py rename to cyperf/models/get_scenarios_operation.py index 1da38fe..38cff20 100644 --- a/cyperf/models/get_apps_operation.py +++ b/cyperf/models/get_scenarios_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -26,9 +26,9 @@ from typing_extensions import Self from pydantic import Field, PrivateAttr -class GetAppsOperation(BaseModel): +class GetScenariosOperation(BaseModel): """ - GetAppsOperation + GetScenariosOperation """ # noqa: E501 categories: Optional[List[CategoryFilter]] = None filter_mode: Optional[StrictStr] = Field(default=None, alias="filterMode") @@ -57,7 +57,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetAppsOperation from a JSON string""" + """Create an instance of GetScenariosOperation from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -96,7 +96,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetAppsOperation from a dict""" + """Create an instance of GetScenariosOperation from a dict""" if obj is None: return None diff --git a/cyperf/models/get_session_meta200_response.py b/cyperf/models/get_session_meta200_response.py index dcdb316..3f6765d 100644 --- a/cyperf/models/get_session_meta200_response.py +++ b/cyperf/models/get_session_meta200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_session_meta200_response_one_of.py b/cyperf/models/get_session_meta200_response_one_of.py index c0f3aff..ec4d798 100644 --- a/cyperf/models/get_session_meta200_response_one_of.py +++ b/cyperf/models/get_session_meta200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_sessions200_response.py b/cyperf/models/get_sessions200_response.py index 092e45f..0523e12 100644 --- a/cyperf/models/get_sessions200_response.py +++ b/cyperf/models/get_sessions200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_sessions200_response_one_of.py b/cyperf/models/get_sessions200_response_one_of.py index bb10f2e..61cdc59 100644 --- a/cyperf/models/get_sessions200_response_one_of.py +++ b/cyperf/models/get_sessions200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_stats200_response_one_of.py b/cyperf/models/get_stats200_response_one_of.py deleted file mode 100644 index 3ec57df..0000000 --- a/cyperf/models/get_stats200_response_one_of.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 - -""" - CyPerf Application API - - CyPerf REST API - - The version of the OpenAPI document: 1.0.0 - Contact: support@keysight.com - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import pprint -import re # noqa: F401 -import json - -from pydantic import BaseModel, ConfigDict, Field, StrictInt -from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.stats_result import StatsResult -from typing import Optional, Set, Union, GenericAlias, get_args -from typing_extensions import Self -from pydantic import Field - -class GetStats200ResponseOneOf(BaseModel): - """ - GetStats200ResponseOneOf - """ # noqa: E501 - data: Optional[List[StatsResult]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return json.dumps(self.to_dict()) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetStats200ResponseOneOf from a JSON string""" - return cls.from_dict(json.loads(json_str)) - - def to_dict(self) -> Dict[str, Any]: - """Return the dictionary representation of the model using alias. - - This has the following differences from calling pydantic's - `self.model_dump(by_alias=True)`: - - * `None` is only added to the output dict for nullable fields that - were set at model initialization. Other fields with value `None` - are ignored. - """ - excluded_fields: Set[str] = set([ - ]) - - _dict = self.model_dump( - by_alias=True, - exclude=excluded_fields, - exclude_none=True, - ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] - if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) - _dict['data'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetStats200ResponseOneOf from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - _obj = cls.model_validate(obj) -# _obj.api_client = client - return _obj - - _obj = cls.model_validate({ - "data": [StatsResult.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") - , - "links": obj.get("links") - }) - return _obj - - diff --git a/cyperf/models/get_result_tags200_response.py b/cyperf/models/get_stats_dashboard_changes200_response.py similarity index 62% rename from cyperf/models/get_result_tags200_response.py rename to cyperf/models/get_stats_dashboard_changes200_response.py index 587cc7b..7256f0b 100644 --- a/cyperf/models/get_result_tags200_response.py +++ b/cyperf/models/get_stats_dashboard_changes200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.get_result_tags200_response_one_of import GetResultTags200ResponseOneOf -from cyperf.models.results_group import ResultsGroup +from cyperf.models.change_event import ChangeEvent +from cyperf.models.get_stats_dashboard_changes200_response_one_of import GetStatsDashboardChanges200ResponseOneOf from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETRESULTTAGS200RESPONSE_ONE_OF_SCHEMAS = ["GetResultTags200ResponseOneOf", "List[ResultsGroup]"] +GETSTATSDASHBOARDCHANGES200RESPONSE_ONE_OF_SCHEMAS = ["GetStatsDashboardChanges200ResponseOneOf", "List[ChangeEvent]"] -class GetResultTags200Response(BaseModel): +class GetStatsDashboardChanges200Response(BaseModel): """ - GetResultTags200Response + GetStatsDashboardChanges200Response """ - # data type: List[ResultsGroup] - oneof_schema_1_validator: Optional[List[ResultsGroup]] = None - # data type: GetResultTags200ResponseOneOf - oneof_schema_2_validator: Optional[GetResultTags200ResponseOneOf] = None - actual_instance: Optional[Union[GetResultTags200ResponseOneOf, List[ResultsGroup]]] = None - one_of_schemas: Set[str] = { "GetResultTags200ResponseOneOf", "List[ResultsGroup]" } + # data type: List[ChangeEvent] + oneof_schema_1_validator: Optional[List[ChangeEvent]] = None + # data type: GetStatsDashboardChanges200ResponseOneOf + oneof_schema_2_validator: Optional[GetStatsDashboardChanges200ResponseOneOf] = None + actual_instance: Optional[Union[GetStatsDashboardChanges200ResponseOneOf, List[ChangeEvent]]] = None + one_of_schemas: Set[str] = { "GetStatsDashboardChanges200ResponseOneOf", "List[ChangeEvent]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetResultTags200Response.model_construct() + instance = GetStatsDashboardChanges200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[ResultsGroup] + # validate data type: List[ChangeEvent] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetResultTags200ResponseOneOf - if not isinstance(v, GetResultTags200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetResultTags200ResponseOneOf`") + # validate data type: GetStatsDashboardChanges200ResponseOneOf + if not isinstance(v, GetStatsDashboardChanges200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetStatsDashboardChanges200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetResultTags200Response with oneOf schemas: GetResultTags200ResponseOneOf, List[ResultsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetStatsDashboardChanges200Response with oneOf schemas: GetStatsDashboardChanges200ResponseOneOf, List[ChangeEvent]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetResultTags200Response with oneOf schemas: GetResultTags200ResponseOneOf, List[ResultsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetStatsDashboardChanges200Response with oneOf schemas: GetStatsDashboardChanges200ResponseOneOf, List[ChangeEvent]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[ResultsGroup] + # deserialize data into List[ChangeEvent] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetResultTags200ResponseOneOf + # deserialize data into GetStatsDashboardChanges200ResponseOneOf + + + try: - instance.actual_instance = GetResultTags200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetStatsDashboardChanges200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetResultTags200Response with oneOf schemas: GetResultTags200ResponseOneOf, List[ResultsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetStatsDashboardChanges200Response with oneOf schemas: GetStatsDashboardChanges200ResponseOneOf, List[ChangeEvent]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetResultTags200Response with oneOf schemas: GetResultTags200ResponseOneOf, List[ResultsGroup]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetStatsDashboardChanges200Response with oneOf schemas: GetStatsDashboardChanges200ResponseOneOf, List[ChangeEvent]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetResultTags200ResponseOneOf, List[ResultsGroup]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetStatsDashboardChanges200ResponseOneOf, List[ChangeEvent]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_apps200_response_one_of.py b/cyperf/models/get_stats_dashboard_changes200_response_one_of.py similarity index 80% rename from cyperf/models/get_apps200_response_one_of.py rename to cyperf/models/get_stats_dashboard_changes200_response_one_of.py index b77db43..b62528d 100644 --- a/cyperf/models/get_apps200_response_one_of.py +++ b/cyperf/models/get_stats_dashboard_changes200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,16 +20,16 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.appsec_app import AppsecApp -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.change_event import ChangeEvent +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetApps200ResponseOneOf(BaseModel): +class GetStatsDashboardChanges200ResponseOneOf(BaseModel): """ - GetApps200ResponseOneOf + GetStatsDashboardChanges200ResponseOneOf """ # noqa: E501 - data: Optional[List[AppsecApp]] = None + data: Optional[List[ChangeEvent]] = None total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") __properties: ClassVar[List[str]] = ["data", "totalCount"] @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetApps200ResponseOneOf from a JSON string""" + """Create an instance of GetStatsDashboardChanges200ResponseOneOf from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -83,7 +83,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetApps200ResponseOneOf from a dict""" + """Create an instance of GetStatsDashboardChanges200ResponseOneOf from a dict""" if obj is None: return None @@ -93,7 +93,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [AppsecApp.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "data": ( [ChangeEvent.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), "totalCount": obj.get("totalCount") , "links": obj.get("links") diff --git a/cyperf/models/get_stats200_response.py b/cyperf/models/get_stats_dashboards200_response.py similarity index 64% rename from cyperf/models/get_stats200_response.py rename to cyperf/models/get_stats_dashboards200_response.py index 8d1f764..00a31c4 100644 --- a/cyperf/models/get_stats200_response.py +++ b/cyperf/models/get_stats_dashboards200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,24 +18,24 @@ import pprint from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from typing import Any, List, Optional -from cyperf.models.get_stats200_response_one_of import GetStats200ResponseOneOf -from cyperf.models.stats_result import StatsResult +from cyperf.models.get_stats_dashboards200_response_one_of import GetStatsDashboards200ResponseOneOf +from cyperf.models.stats_dashboard import StatsDashboard from pydantic import StrictStr, Field from typing import Union, List, Set, Optional, Dict from typing_extensions import Literal, Self -GETSTATS200RESPONSE_ONE_OF_SCHEMAS = ["GetStats200ResponseOneOf", "List[StatsResult]"] +GETSTATSDASHBOARDS200RESPONSE_ONE_OF_SCHEMAS = ["GetStatsDashboards200ResponseOneOf", "List[StatsDashboard]"] -class GetStats200Response(BaseModel): +class GetStatsDashboards200Response(BaseModel): """ - GetStats200Response + GetStatsDashboards200Response """ - # data type: List[StatsResult] - oneof_schema_1_validator: Optional[List[StatsResult]] = None - # data type: GetStats200ResponseOneOf - oneof_schema_2_validator: Optional[GetStats200ResponseOneOf] = None - actual_instance: Optional[Union[GetStats200ResponseOneOf, List[StatsResult]]] = None - one_of_schemas: Set[str] = { "GetStats200ResponseOneOf", "List[StatsResult]" } + # data type: List[StatsDashboard] + oneof_schema_1_validator: Optional[List[StatsDashboard]] = None + # data type: GetStatsDashboards200ResponseOneOf + oneof_schema_2_validator: Optional[GetStatsDashboards200ResponseOneOf] = None + actual_instance: Optional[Union[GetStatsDashboards200ResponseOneOf, List[StatsDashboard]]] = None + one_of_schemas: Set[str] = { "GetStatsDashboards200ResponseOneOf", "List[StatsDashboard]" } model_config = ConfigDict( validate_assignment=True, @@ -55,26 +55,26 @@ def __init__(self, *args, **kwargs) -> None: @field_validator('actual_instance') def actual_instance_must_validate_oneof(cls, v): - instance = GetStats200Response.model_construct() + instance = GetStatsDashboards200Response.model_construct() error_messages = [] match = 0 - # validate data type: List[StatsResult] + # validate data type: List[StatsDashboard] try: instance.oneof_schema_1_validator = v match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # validate data type: GetStats200ResponseOneOf - if not isinstance(v, GetStats200ResponseOneOf): - error_messages.append(f"Error! Input type `{type(v)}` is not `GetStats200ResponseOneOf`") + # validate data type: GetStatsDashboards200ResponseOneOf + if not isinstance(v, GetStatsDashboards200ResponseOneOf): + error_messages.append(f"Error! Input type `{type(v)}` is not `GetStatsDashboards200ResponseOneOf`") else: match += 1 if match > 1: # more than 1 match - raise ValueError("Multiple matches found when setting `actual_instance` in GetStats200Response with oneOf schemas: GetStats200ResponseOneOf, List[StatsResult]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when setting `actual_instance` in GetStatsDashboards200Response with oneOf schemas: GetStatsDashboards200ResponseOneOf, List[StatsDashboard]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when setting `actual_instance` in GetStats200Response with oneOf schemas: GetStats200ResponseOneOf, List[StatsResult]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when setting `actual_instance` in GetStatsDashboards200Response with oneOf schemas: GetStatsDashboards200ResponseOneOf, List[StatsDashboard]. Details: " + ", ".join(error_messages)) else: return v @@ -90,7 +90,7 @@ def from_json(cls, json_str: str) -> Self: error_messages = [] match = 0 - # deserialize data into List[StatsResult] + # deserialize data into List[StatsDashboard] try: # validation instance.oneof_schema_1_validator = json.loads(json_str) @@ -99,19 +99,23 @@ def from_json(cls, json_str: str) -> Self: match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) - # deserialize data into GetStats200ResponseOneOf + # deserialize data into GetStatsDashboards200ResponseOneOf + + + try: - instance.actual_instance = GetStats200ResponseOneOf.from_json(json_str) + instance.actual_instance = GetStatsDashboards200ResponseOneOf.from_json(json_str) match += 1 except (ValidationError, ValueError) as e: error_messages.append(str(e)) + if match > 1: # more than 1 match - raise ValueError("Multiple matches found when deserializing the JSON string into GetStats200Response with oneOf schemas: GetStats200ResponseOneOf, List[StatsResult]. Details: " + ", ".join(error_messages)) + raise ValueError("Multiple matches found when deserializing the JSON string into GetStatsDashboards200Response with oneOf schemas: GetStatsDashboards200ResponseOneOf, List[StatsDashboard]. Details: " + ", ".join(error_messages)) elif match == 0: # no match - raise ValueError("No match found when deserializing the JSON string into GetStats200Response with oneOf schemas: GetStats200ResponseOneOf, List[StatsResult]. Details: " + ", ".join(error_messages)) + raise ValueError("No match found when deserializing the JSON string into GetStatsDashboards200Response with oneOf schemas: GetStatsDashboards200ResponseOneOf, List[StatsDashboard]. Details: " + ", ".join(error_messages)) else: return instance @@ -125,7 +129,7 @@ def to_json(self) -> str: else: return json.dumps(self.actual_instance) - def to_dict(self) -> Optional[Union[Dict[str, Any], GetStats200ResponseOneOf, List[StatsResult]]]: + def to_dict(self) -> Optional[Union[Dict[str, Any], GetStatsDashboards200ResponseOneOf, List[StatsDashboard]]]: """Returns the dict representation of the actual instance""" if self.actual_instance is None: return None diff --git a/cyperf/models/get_agent_tags200_response_one_of.py b/cyperf/models/get_stats_dashboards200_response_one_of.py similarity index 80% rename from cyperf/models/get_agent_tags200_response_one_of.py rename to cyperf/models/get_stats_dashboards200_response_one_of.py index e03d5f6..4890ca5 100644 --- a/cyperf/models/get_agent_tags200_response_one_of.py +++ b/cyperf/models/get_stats_dashboards200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,16 +20,16 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.agents_group import AgentsGroup -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.stats_dashboard import StatsDashboard +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetAgentTags200ResponseOneOf(BaseModel): +class GetStatsDashboards200ResponseOneOf(BaseModel): """ - GetAgentTags200ResponseOneOf + GetStatsDashboards200ResponseOneOf """ # noqa: E501 - data: Optional[List[AgentsGroup]] = None + data: Optional[List[StatsDashboard]] = None total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") __properties: ClassVar[List[str]] = ["data", "totalCount"] @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetAgentTags200ResponseOneOf from a JSON string""" + """Create an instance of GetStatsDashboards200ResponseOneOf from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -83,7 +83,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetAgentTags200ResponseOneOf from a dict""" + """Create an instance of GetStatsDashboards200ResponseOneOf from a dict""" if obj is None: return None @@ -93,7 +93,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [AgentsGroup.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "data": ( [StatsDashboard.from_dict(_item) for _item in obj.get("data", [])] if obj.get("data") is not None else None), "totalCount": obj.get("totalCount") , "links": obj.get("links") diff --git a/cyperf/models/get_stats_plugins200_response.py b/cyperf/models/get_stats_plugins200_response.py index a8058b3..dbacd57 100644 --- a/cyperf/models/get_stats_plugins200_response.py +++ b/cyperf/models/get_stats_plugins200_response.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_stats_plugins200_response_one_of.py b/cyperf/models/get_stats_plugins200_response_one_of.py index 657bce2..7ec49b7 100644 --- a/cyperf/models/get_stats_plugins200_response_one_of.py +++ b/cyperf/models/get_stats_plugins200_response_one_of.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_strikes_operation.py b/cyperf/models/get_strikes_operation.py index e390792..7323750 100644 --- a/cyperf/models/get_strikes_operation.py +++ b/cyperf/models/get_strikes_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/grid_position.py b/cyperf/models/grid_position.py new file mode 100644 index 0000000..836a4f4 --- /dev/null +++ b/cyperf/models/grid_position.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class GridPosition(BaseModel): + """ + GridPosition + """ # noqa: E501 + height: Optional[StrictInt] = Field(default=None, description="The height of the panel. A unit is equal to 30 pixels") + width: Optional[StrictInt] = Field(default=None, description="The width of the panel. A unit is equal to 1/24 of the screen width") + x_pos: Optional[StrictInt] = Field(default=None, description="The x coordinate of the panel. A unit is equal to 1/24 of the screen width", alias="xPos") + y_pos: Optional[StrictInt] = Field(default=None, description="The y coordinate of the panel. A unit is equal to 30 pixels", alias="yPos") + __properties: ClassVar[List[str]] = ["height", "width", "xPos", "yPos"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GridPosition from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GridPosition from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "height": obj.get("height"), + "width": obj.get("width"), + "xPos": obj.get("xPos"), + "yPos": obj.get("yPos") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/group_tls13.py b/cyperf/models/group_tls13.py index b248820..9f6b7ec 100644 --- a/cyperf/models/group_tls13.py +++ b/cyperf/models/group_tls13.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/hash_p1_algorithm.py b/cyperf/models/hash_p1_algorithm.py index 2231026..dae3e40 100644 --- a/cyperf/models/hash_p1_algorithm.py +++ b/cyperf/models/hash_p1_algorithm.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/hash_p2_algorithm.py b/cyperf/models/hash_p2_algorithm.py index 202a6ac..3b67114 100644 --- a/cyperf/models/hash_p2_algorithm.py +++ b/cyperf/models/hash_p2_algorithm.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/health_check_config.py b/cyperf/models/health_check_config.py index 7d4cfd9..c427412 100644 --- a/cyperf/models/health_check_config.py +++ b/cyperf/models/health_check_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/health_issue.py b/cyperf/models/health_issue.py index 2f11b87..b7a590f 100644 --- a/cyperf/models/health_issue.py +++ b/cyperf/models/health_issue.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/host_id.py b/cyperf/models/host_id.py index 0cecfab..07c4421 100644 --- a/cyperf/models/host_id.py +++ b/cyperf/models/host_id.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/http_profile.py b/cyperf/models/http_profile.py index 5497708..51aa898 100644 --- a/cyperf/models/http_profile.py +++ b/cyperf/models/http_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/http_req_meta.py b/cyperf/models/http_req_meta.py index 4a3e5f6..25adbd0 100644 --- a/cyperf/models/http_req_meta.py +++ b/cyperf/models/http_req_meta.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/http_res_meta.py b/cyperf/models/http_res_meta.py index 8f5fa3f..8cc46f8 100644 --- a/cyperf/models/http_res_meta.py +++ b/cyperf/models/http_res_meta.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/http_version.py b/cyperf/models/http_version.py index 86e1c21..90e153e 100644 --- a/cyperf/models/http_version.py +++ b/cyperf/models/http_version.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/id_p_signature_algo.py b/cyperf/models/id_p_signature_algo.py index befb973..8a33028 100644 --- a/cyperf/models/id_p_signature_algo.py +++ b/cyperf/models/id_p_signature_algo.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/prepared_test_options.py b/cyperf/models/identification_config.py similarity index 56% rename from cyperf/models/prepared_test_options.py rename to cyperf/models/identification_config.py index e6704ce..fd37ed5 100644 --- a/cyperf/models/prepared_test_options.py +++ b/cyperf/models/identification_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,23 +18,36 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr -class PreparedTestOptions(BaseModel): +class IdentificationConfig(BaseModel): """ - PreparedTestOptions + IdentificationConfig """ # noqa: E501 - add_activity_meta: Optional[StrictBool] = Field(default=None, alias="AddActivityMeta") - datasource_for_ui_views: Optional[StrictStr] = Field(default=None, alias="DatasourceForUIViews") - extra_tags: Optional[Dict[str, List[StrictStr]]] = Field(default=None, alias="ExtraTags") - filter_by_properties: Optional[Dict[str, StrictStr]] = Field(default=None, alias="FilterByProperties") - format_protocol_name: Optional[StrictBool] = Field(default=None, alias="FormatProtocolName") - override_properties: Optional[Dict[str, StrictStr]] = Field(default=None, alias="OverrideProperties") - __properties: ClassVar[List[str]] = ["AddActivityMeta", "DatasourceForUIViews", "ExtraTags", "FilterByProperties", "FormatProtocolName", "OverrideProperties"] + enable_initiator_idr: StrictBool = Field(alias="EnableInitiatorIdr") + initiator_id: StrictStr = Field(alias="InitiatorId") + initiator_id_type: StrictStr = Field(alias="InitiatorIdType") + responder_id: StrictStr = Field(alias="ResponderId") + responder_id_type: StrictStr = Field(alias="ResponderIdType") + __properties: ClassVar[List[str]] = ["EnableInitiatorIdr", "InitiatorId", "InitiatorIdType", "ResponderId", "ResponderIdType"] + + @field_validator('initiator_id_type') + def initiator_id_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ID_IP_ADDR', 'ID_FQDN']): + raise ValueError("must be one of enum values ('ID_IP_ADDR', 'ID_FQDN')") + return value + + @field_validator('responder_id_type') + def responder_id_type_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['ID_IP_ADDR', 'ID_FQDN']): + raise ValueError("must be one of enum values ('ID_IP_ADDR', 'ID_FQDN')") + return value model_config = ConfigDict( populate_by_name=True, @@ -54,7 +67,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PreparedTestOptions from a JSON string""" + """Create an instance of IdentificationConfig from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -79,7 +92,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PreparedTestOptions from a dict""" + """Create an instance of IdentificationConfig from a dict""" if obj is None: return None @@ -89,12 +102,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "AddActivityMeta": obj.get("AddActivityMeta"), - "DatasourceForUIViews": obj.get("DatasourceForUIViews"), - "ExtraTags": obj.get("ExtraTags"), - "FilterByProperties": obj.get("FilterByProperties"), - "FormatProtocolName": obj.get("FormatProtocolName"), - "OverrideProperties": obj.get("OverrideProperties") + "EnableInitiatorIdr": obj.get("EnableInitiatorIdr"), + "InitiatorId": obj.get("InitiatorId"), + "InitiatorIdType": obj.get("InitiatorIdType"), + "ResponderId": obj.get("ResponderId"), + "ResponderIdType": obj.get("ResponderIdType") , "links": obj.get("links") }) diff --git a/cyperf/models/import_all_operation.py b/cyperf/models/import_all_operation.py index 489b76b..18ba6ee 100644 --- a/cyperf/models/import_all_operation.py +++ b/cyperf/models/import_all_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/import_offline_license_result.py b/cyperf/models/import_offline_license_result.py index 3939594..44aab95 100644 --- a/cyperf/models/import_offline_license_result.py +++ b/cyperf/models/import_offline_license_result.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ingest_operation.py b/cyperf/models/ingest_operation.py index 34468b9..68c2a32 100644 --- a/cyperf/models/ingest_operation.py +++ b/cyperf/models/ingest_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/inner_ip_range.py b/cyperf/models/inner_ip_range.py index ad7a6ec..93905f3 100644 --- a/cyperf/models/inner_ip_range.py +++ b/cyperf/models/inner_ip_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/inner_ip_sec_range.py b/cyperf/models/inner_ip_sec_range.py new file mode 100644 index 0000000..a2b1216 --- /dev/null +++ b/cyperf/models/inner_ip_sec_range.py @@ -0,0 +1,194 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from cyperf.models.api_link import APILink +from cyperf.models.authentication_settings import AuthenticationSettings +from cyperf.models.identification_config import IdentificationConfig +from cyperf.models.local_subnet_config import LocalSubnetConfig +from cyperf.models.p1_config import P1Config +from cyperf.models.p2_config import P2Config +from cyperf.models.remote_access import RemoteAccess +from cyperf.models.remote_subnet_config import RemoteSubnetConfig +from cyperf.models.timers import Timers +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class InnerIPSecRange(BaseModel): + """ + InnerIPSecRange + """ # noqa: E501 + var_auth_settings: Optional[AuthenticationSettings] = Field(default=None, alias="AuthSettings") + ike_phase1_config: Optional[P1Config] = Field(default=None, alias="IKEPhase1Config") + ike_phase2_config: Optional[P2Config] = Field(default=None, alias="IKEPhase2Config") + ip_sec_range_name: Annotated[str, Field(strict=True)] = Field(alias="IPSecRangeName") + identification_config: Optional[IdentificationConfig] = Field(default=None, alias="IdentificationConfig") + local_sub_config: Optional[LocalSubnetConfig] = Field(default=None, alias="LocalSubConfig") + multi_p2_over_p1: StrictBool = Field(alias="MultiP2OverP1") + pqckem_enabled: StrictBool = Field(alias="PQCKEMEnabled") + public_peer: Annotated[str, Field(strict=True)] = Field(alias="PublicPeer") + public_peer_increment: Annotated[str, Field(strict=True)] = Field(alias="PublicPeerIncrement") + remote_access: Optional[RemoteAccess] = Field(default=None, alias="RemoteAccess") + remote_sub_config: Optional[RemoteSubnetConfig] = Field(default=None, alias="RemoteSubConfig") + test_scenario: StrictStr = Field(alias="TestScenario") + timers: Optional[Timers] = Field(default=None, alias="Timers") + tunnel_count_per_outer_ip: StrictInt = Field(alias="TunnelCountPerOuterIP") + id: StrictStr + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["AuthSettings", "IKEPhase1Config", "IKEPhase2Config", "IPSecRangeName", "IdentificationConfig", "LocalSubConfig", "MultiP2OverP1", "PQCKEMEnabled", "PublicPeer", "PublicPeerIncrement", "RemoteAccess", "RemoteSubConfig", "TestScenario", "Timers", "TunnelCountPerOuterIP", "id", "links"] + + @field_validator('ip_sec_range_name') + def ip_sec_range_name_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|^[^\"\\]+$", value): + raise ValueError(r"must validate the regular expression /^$|^[^\"\\]+$/") + return value + + @field_validator('public_peer') + def public_peer_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)", value): + raise ValueError(r"must validate the regular expression /^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)/") + return value + + @field_validator('public_peer_increment') + def public_peer_increment_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)", value): + raise ValueError(r"must validate the regular expression /^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)/") + return value + + @field_validator('test_scenario') + def test_scenario_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['REMOTE-ACCESS', 'SITE-TO-SITE']): + raise ValueError("must be one of enum values ('REMOTE-ACCESS', 'SITE-TO-SITE')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InnerIPSecRange from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of var_auth_settings + if self.var_auth_settings: + _dict['AuthSettings'] = self.var_auth_settings.to_dict() + # override the default output from pydantic by calling `to_dict()` of ike_phase1_config + if self.ike_phase1_config: + _dict['IKEPhase1Config'] = self.ike_phase1_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of ike_phase2_config + if self.ike_phase2_config: + _dict['IKEPhase2Config'] = self.ike_phase2_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of identification_config + if self.identification_config: + _dict['IdentificationConfig'] = self.identification_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of local_sub_config + if self.local_sub_config: + _dict['LocalSubConfig'] = self.local_sub_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of remote_access + if self.remote_access: + _dict['RemoteAccess'] = self.remote_access.to_dict() + # override the default output from pydantic by calling `to_dict()` of remote_sub_config + if self.remote_sub_config: + _dict['RemoteSubConfig'] = self.remote_sub_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of timers + if self.timers: + _dict['Timers'] = self.timers.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InnerIPSecRange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "AuthSettings": AuthenticationSettings.from_dict(obj["AuthSettings"]) if obj.get("AuthSettings") is not None else None, + "IKEPhase1Config": P1Config.from_dict(obj["IKEPhase1Config"]) if obj.get("IKEPhase1Config") is not None else None, + "IKEPhase2Config": P2Config.from_dict(obj["IKEPhase2Config"]) if obj.get("IKEPhase2Config") is not None else None, + "IPSecRangeName": obj.get("IPSecRangeName"), + "IdentificationConfig": IdentificationConfig.from_dict(obj["IdentificationConfig"]) if obj.get("IdentificationConfig") is not None else None, + "LocalSubConfig": LocalSubnetConfig.from_dict(obj["LocalSubConfig"]) if obj.get("LocalSubConfig") is not None else None, + "MultiP2OverP1": obj.get("MultiP2OverP1"), + "PQCKEMEnabled": obj.get("PQCKEMEnabled"), + "PublicPeer": obj.get("PublicPeer"), + "PublicPeerIncrement": obj.get("PublicPeerIncrement"), + "RemoteAccess": RemoteAccess.from_dict(obj["RemoteAccess"]) if obj.get("RemoteAccess") is not None else None, + "RemoteSubConfig": RemoteSubnetConfig.from_dict(obj["RemoteSubConfig"]) if obj.get("RemoteSubConfig") is not None else None, + "TestScenario": obj.get("TestScenario"), + "Timers": Timers.from_dict(obj["Timers"]) if obj.get("Timers") is not None else None, + "TunnelCountPerOuterIP": obj.get("TunnelCountPerOuterIP"), + "id": obj.get("id"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/interface.py b/cyperf/models/interface.py index 5a354b6..e47779d 100644 --- a/cyperf/models/interface.py +++ b/cyperf/models/interface.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ip_mask.py b/cyperf/models/ip_mask.py index 4ec3078..b49e5c1 100644 --- a/cyperf/models/ip_mask.py +++ b/cyperf/models/ip_mask.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ip_network.py b/cyperf/models/ip_network.py index 221bdf1..212b89c 100644 --- a/cyperf/models/ip_network.py +++ b/cyperf/models/ip_network.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -30,6 +30,7 @@ from cyperf.models.ip_range import IPRange from cyperf.models.ip_sec_stack import IPSecStack from cyperf.models.mac_dtls_stack import MacDtlsStack +from cyperf.models.psp_stack import PSPStack from cyperf.models.tunnel_stack import TunnelStack from cyperf.models.vx_lan_stack import VxLANStack from typing import Optional, Set, Union @@ -51,6 +52,7 @@ class IPNetwork(BaseModel): ip_ranges: Optional[List[IPRange]] = Field(default=None, alias="IPRanges") ip_sec_stacks: Optional[List[IPSecStack]] = Field(default=None, alias="IPSecStacks") mac_dtls_stacks: Optional[List[MacDtlsStack]] = Field(default=None, alias="MacDtlsStacks") + psp_stacks: Optional[List[PSPStack]] = Field(default=None, alias="PSPStacks") tunnel_stacks: Optional[List[TunnelStack]] = Field(default=None, alias="TunnelStacks") vx_lan_stacks: Optional[List[VxLANStack]] = Field(default=None, alias="VxLANStacks") active: Optional[StrictBool] = Field(default=None, description="A flag indicating if the network segment is active.(default: true)") @@ -59,7 +61,7 @@ class IPNetwork(BaseModel): links: Optional[List[APILink]] = None min_agents: Optional[StrictInt] = Field(default=None, description="The minimum number of agents that should be assigned to this network segment in a valid test (default: 1).", alias="minAgents") streaming_cpu_allocation: Optional[StrictInt] = Field(default=None, description="The CPU percentage used by agents assigned to this network segment for streaming purposes (default: 25).", alias="streamingCPUAllocation") - __properties: ClassVar[List[str]] = ["Name", "id", "networkTags", "DNSResolver", "DNSServer", "DUTConnections", "EmulatedRouter", "EthRange", "IPRanges", "IPSecStacks", "MacDtlsStacks", "TunnelStacks", "VxLANStacks", "active", "agentAssignments", "inheritStreamingCPUAllocation", "links", "minAgents", "streamingCPUAllocation"] + __properties: ClassVar[List[str]] = ["Name", "id", "networkTags", "DNSResolver", "DNSServer", "DUTConnections", "EmulatedRouter", "EthRange", "IPRanges", "IPSecStacks", "MacDtlsStacks", "PSPStacks", "TunnelStacks", "VxLANStacks", "active", "agentAssignments", "inheritStreamingCPUAllocation", "links", "minAgents", "streamingCPUAllocation"] @field_validator('name') def name_validate_regular_expression(cls, value): @@ -140,6 +142,13 @@ def to_dict(self) -> Dict[str, Any]: if _item: _items.append(_item.to_dict()) _dict['MacDtlsStacks'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in psp_stacks (list) + _items = [] + if self.psp_stacks: + for _item in self.psp_stacks: + if _item: + _items.append(_item.to_dict()) + _dict['PSPStacks'] = _items # override the default output from pydantic by calling `to_dict()` of each item in tunnel_stacks (list) _items = [] if self.tunnel_stacks: @@ -189,6 +198,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "IPRanges": ( [IPRange.from_dict(_item) for _item in obj.get("IPRanges", [])] if obj.get("IPRanges") is not None else None), "IPSecStacks": ( [IPSecStack.from_dict(_item) for _item in obj.get("IPSecStacks", [])] if obj.get("IPSecStacks") is not None else None), "MacDtlsStacks": ( [MacDtlsStack.from_dict(_item) for _item in obj.get("MacDtlsStacks", [])] if obj.get("MacDtlsStacks") is not None else None), + "PSPStacks": ( [PSPStack.from_dict(_item) for _item in obj.get("PSPStacks", [])] if obj.get("PSPStacks") is not None else None), "TunnelStacks": ( [TunnelStack.from_dict(_item) for _item in obj.get("TunnelStacks", [])] if obj.get("TunnelStacks") is not None else None), "VxLANStacks": ( [VxLANStack.from_dict(_item) for _item in obj.get("VxLANStacks", [])] if obj.get("VxLANStacks") is not None else None), "active": obj.get("active"), diff --git a/cyperf/models/ip_preference.py b/cyperf/models/ip_preference.py index 1104b13..a5f64cf 100644 --- a/cyperf/models/ip_preference.py +++ b/cyperf/models/ip_preference.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ip_range.py b/cyperf/models/ip_range.py index f8288af..c8b0d23 100644 --- a/cyperf/models/ip_range.py +++ b/cyperf/models/ip_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -24,7 +24,9 @@ from cyperf.models.api_link import APILink from cyperf.models.automatic_ip_type import AutomaticIpType from cyperf.models.ip_ver import IpVer +from cyperf.models.sequence_value import SequenceValue from cyperf.models.vlan_range import VLANRange +from cyperf.models.vlan_type import VLANType from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr @@ -35,25 +37,28 @@ class IPRange(BaseModel): """ # noqa: E501 automatic_ip_type: Optional[AutomaticIpType] = Field(default=None, description="The automatic IP types, either 'ONLY_IPV4', 'ONLY_IPV6' or 'BOTH_IPV4_IPV6'.", alias="AutomaticIpType") count: Optional[StrictInt] = Field(default=None, description="The number of IPs generated (default: 1).", alias="Count") - gw_auto: StrictBool = Field(description="A flag indicating if the gateway settings for the IPRange should be determined automatically (default: true).", alias="GwAuto") + gw_auto: Optional[StrictBool] = Field(default=None, description="A flag indicating if the gateway settings for the IPRange should be determined automatically (default: true).", alias="GwAuto") gw_start: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The gateway start IP for the IPRange (default: 10.0.0.1).", alias="GwStart") host_count: Optional[StrictInt] = Field(default=None, description="The number of Host IPs generated (default: 1).", alias="HostCount") inner_vlan_range: Optional[VLANRange] = Field(default=None, description="The inner VLAN range assigned to the current IP range configuration", alias="InnerVlanRange") + ip_address: Optional[SequenceValue] = Field(default=None, alias="IpAddress") ip_auto: StrictBool = Field(description="A flag indicating if IP settings for the IPRange should be determined automatically (default: true).", alias="IpAuto") ip_incr: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The IP incrementation rule (default: 0.0.0.1).", alias="IpIncr") ip_range_name: Annotated[str, Field(strict=True)] = Field(alias="IpRangeName") ip_start: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The start IP for the IPRange (default: 10.0.0.10).", alias="IpStart") - ip_ver: IpVer = Field(description="The type of the IP. 'IPV4' and 'IPV6' are both supported currently.", alias="IpVer") + ip_ver: Optional[IpVer] = Field(default=None, description="The type of the IP. 'IPV4' and 'IPV6' are both supported currently.", alias="IpVer") is_emulated_router: Optional[StrictBool] = Field(default=None, alias="IsEmulatedRouter") mss: Optional[StrictInt] = Field(default=None, description="The maximum segment size of the TCP header.", alias="Mss") - mss_auto: StrictBool = Field(description="A flag indicating if Mss settings for the IPRange should be determined automatically (default: false).", alias="MssAuto") + mss_auto: Optional[StrictBool] = Field(default=None, description="A flag indicating if Mss settings for the IPRange should be determined automatically (default: false).", alias="MssAuto") net_mask: Optional[StrictInt] = Field(default=None, description="The network mask of the IP Range (default: 16).", alias="NetMask") - net_mask_auto: StrictBool = Field(description="A flag indicating if the network mask of the IPRange should be determined automatically (default: true).", alias="NetMaskAuto") + net_mask_auto: Optional[StrictBool] = Field(default=None, description="A flag indicating if the network mask of the IPRange should be determined automatically (default: true).", alias="NetMaskAuto") + outer_vlan_range: Optional[VLANRange] = Field(default=None, description="The outer VLAN range assigned to the current IP range configuration", alias="OuterVlanRange") + vlan_type: Optional[VLANType] = Field(default=None, description="The type of VLAN used", alias="VLANType") id: Optional[StrictStr] = None links: Optional[List[APILink]] = None max_count_per_agent: Optional[StrictInt] = Field(default=None, description="The maximum number of IPs that should be assigned to each traffic agent for this IP range segment in a valid test (default: 1).", alias="maxCountPerAgent") network_tags: Optional[List[StrictStr]] = Field(default=None, description="A list of tags.", alias="networkTags") - __properties: ClassVar[List[str]] = ["AutomaticIpType", "Count", "GwAuto", "GwStart", "HostCount", "InnerVlanRange", "IpAuto", "IpIncr", "IpRangeName", "IpStart", "IpVer", "IsEmulatedRouter", "Mss", "MssAuto", "NetMask", "NetMaskAuto", "id", "links", "maxCountPerAgent", "networkTags"] + __properties: ClassVar[List[str]] = ["AutomaticIpType", "Count", "GwAuto", "GwStart", "HostCount", "InnerVlanRange", "IpAddress", "IpAuto", "IpIncr", "IpRangeName", "IpStart", "IpVer", "IsEmulatedRouter", "Mss", "MssAuto", "NetMask", "NetMaskAuto", "OuterVlanRange", "VLANType", "id", "links", "maxCountPerAgent", "networkTags"] @field_validator('gw_start') def gw_start_validate_regular_expression(cls, value): @@ -134,6 +139,12 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of inner_vlan_range if self.inner_vlan_range: _dict['InnerVlanRange'] = self.inner_vlan_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of ip_address + if self.ip_address: + _dict['IpAddress'] = self.ip_address.to_dict() + # override the default output from pydantic by calling `to_dict()` of outer_vlan_range + if self.outer_vlan_range: + _dict['OuterVlanRange'] = self.outer_vlan_range.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in links (list) _items = [] if self.links: @@ -161,6 +172,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "GwStart": obj.get("GwStart"), "HostCount": obj.get("HostCount"), "InnerVlanRange": VLANRange.from_dict(obj["InnerVlanRange"]) if obj.get("InnerVlanRange") is not None else None, + "IpAddress": SequenceValue.from_dict(obj["IpAddress"]) if obj.get("IpAddress") is not None else None, "IpAuto": obj.get("IpAuto"), "IpIncr": obj.get("IpIncr"), "IpRangeName": obj.get("IpRangeName"), @@ -171,6 +183,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "MssAuto": obj.get("MssAuto"), "NetMask": obj.get("NetMask"), "NetMaskAuto": obj.get("NetMaskAuto"), + "OuterVlanRange": VLANRange.from_dict(obj["OuterVlanRange"]) if obj.get("OuterVlanRange") is not None else None, + "VLANType": obj.get("VLANType"), "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), "maxCountPerAgent": obj.get("maxCountPerAgent"), diff --git a/cyperf/models/ip_sec_range.py b/cyperf/models/ip_sec_range.py index 2691442..9c211a9 100644 --- a/cyperf/models/ip_sec_range.py +++ b/cyperf/models/ip_sec_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -23,6 +23,9 @@ from typing_extensions import Annotated from cyperf.models.api_link import APILink from cyperf.models.authentication_settings import AuthenticationSettings +from cyperf.models.identification_config import IdentificationConfig +from cyperf.models.inner_ip_sec_range import InnerIPSecRange +from cyperf.models.local_subnet_config import LocalSubnetConfig from cyperf.models.p1_config import P1Config from cyperf.models.p2_config import P2Config from cyperf.models.protected_subnet_config import ProtectedSubnetConfig @@ -41,7 +44,12 @@ class IPSecRange(BaseModel): ike_phase1_config: Optional[P1Config] = Field(default=None, alias="IKEPhase1Config") ike_phase2_config: Optional[P2Config] = Field(default=None, alias="IKEPhase2Config") ip_sec_range_name: Annotated[str, Field(strict=True)] = Field(alias="IPSecRangeName") + identification_config: Optional[IdentificationConfig] = Field(default=None, alias="IdentificationConfig") + inner_ip_sec: Optional[StrictBool] = Field(default=None, alias="InnerIPSec") + inner_ip_sec_range: Optional[InnerIPSecRange] = Field(default=None, alias="InnerIPSecRange") + local_sub_config: Optional[LocalSubnetConfig] = Field(default=None, alias="LocalSubConfig") multi_p2_over_p1: Optional[StrictBool] = Field(default=None, alias="MultiP2OverP1") + pqckem_enabled: Optional[StrictBool] = Field(default=None, alias="PQCKEMEnabled") protected_sub_config: Optional[ProtectedSubnetConfig] = Field(default=None, description="Deeprecated. Use RemoteSubConfig instead.", alias="ProtectedSubConfig") public_peer: Annotated[str, Field(strict=True)] = Field(alias="PublicPeer") public_peer_increment: Annotated[str, Field(strict=True)] = Field(alias="PublicPeerIncrement") @@ -52,7 +60,7 @@ class IPSecRange(BaseModel): tunnel_count_per_outer_ip: StrictInt = Field(alias="TunnelCountPerOuterIP") id: StrictStr links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["AuthSettings", "IKEPhase1Config", "IKEPhase2Config", "IPSecRangeName", "MultiP2OverP1", "ProtectedSubConfig", "PublicPeer", "PublicPeerIncrement", "RemoteAccess", "RemoteSubConfig", "TestScenario", "Timers", "TunnelCountPerOuterIP", "id", "links"] + __properties: ClassVar[List[str]] = ["AuthSettings", "IKEPhase1Config", "IKEPhase2Config", "IPSecRangeName", "IdentificationConfig", "InnerIPSec", "InnerIPSecRange", "LocalSubConfig", "MultiP2OverP1", "PQCKEMEnabled", "ProtectedSubConfig", "PublicPeer", "PublicPeerIncrement", "RemoteAccess", "RemoteSubConfig", "TestScenario", "Timers", "TunnelCountPerOuterIP", "id", "links"] @field_validator('ip_sec_range_name') def ip_sec_range_name_validate_regular_expression(cls, value): @@ -130,6 +138,15 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of ike_phase2_config if self.ike_phase2_config: _dict['IKEPhase2Config'] = self.ike_phase2_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of identification_config + if self.identification_config: + _dict['IdentificationConfig'] = self.identification_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of inner_ip_sec_range + if self.inner_ip_sec_range: + _dict['InnerIPSecRange'] = self.inner_ip_sec_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of local_sub_config + if self.local_sub_config: + _dict['LocalSubConfig'] = self.local_sub_config.to_dict() # override the default output from pydantic by calling `to_dict()` of protected_sub_config if self.protected_sub_config: _dict['ProtectedSubConfig'] = self.protected_sub_config.to_dict() @@ -167,7 +184,12 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "IKEPhase1Config": P1Config.from_dict(obj["IKEPhase1Config"]) if obj.get("IKEPhase1Config") is not None else None, "IKEPhase2Config": P2Config.from_dict(obj["IKEPhase2Config"]) if obj.get("IKEPhase2Config") is not None else None, "IPSecRangeName": obj.get("IPSecRangeName"), + "IdentificationConfig": IdentificationConfig.from_dict(obj["IdentificationConfig"]) if obj.get("IdentificationConfig") is not None else None, + "InnerIPSec": obj.get("InnerIPSec"), + "InnerIPSecRange": InnerIPSecRange.from_dict(obj["InnerIPSecRange"]) if obj.get("InnerIPSecRange") is not None else None, + "LocalSubConfig": LocalSubnetConfig.from_dict(obj["LocalSubConfig"]) if obj.get("LocalSubConfig") is not None else None, "MultiP2OverP1": obj.get("MultiP2OverP1"), + "PQCKEMEnabled": obj.get("PQCKEMEnabled"), "ProtectedSubConfig": ProtectedSubnetConfig.from_dict(obj["ProtectedSubConfig"]) if obj.get("ProtectedSubConfig") is not None else None, "PublicPeer": obj.get("PublicPeer"), "PublicPeerIncrement": obj.get("PublicPeerIncrement"), diff --git a/cyperf/models/ip_sec_stack.py b/cyperf/models/ip_sec_stack.py index b1529b6..2b4d194 100644 --- a/cyperf/models/ip_sec_stack.py +++ b/cyperf/models/ip_sec_stack.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -27,6 +27,7 @@ from cyperf.models.ip_sec_range import IPSecRange from cyperf.models.local_subnet_config import LocalSubnetConfig from cyperf.models.params import Params +from cyperf.models.ppk_pair import PPKPair from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr @@ -40,11 +41,12 @@ class IPSecStack(BaseModel): enable_rekey: StrictBool = Field(alias="EnableRekey") ip_sec_range: Optional[IPSecRange] = Field(default=None, alias="IPSecRange") ip_sec_stack_name: Annotated[str, Field(strict=True)] = Field(alias="IPSecStackName") - local_sub_config: Optional[LocalSubnetConfig] = Field(default=None, alias="LocalSubConfig") + local_sub_config: Optional[LocalSubnetConfig] = Field(default=None, description="Deeprecated. Use IPSecRange.LocalSubConfig instead.", alias="LocalSubConfig") log_keys: StrictBool = Field(alias="LogKeys") max_initiation_rate: StrictInt = Field(alias="MaxInitiationRate") max_pending: StrictInt = Field(alias="MaxPending") outer_ip_range: Optional[IPRange] = Field(default=None, alias="OuterIPRange") + ppk_list: Optional[List[PPKPair]] = Field(default=None, alias="PPKList") rekey_margin: StrictInt = Field(alias="RekeyMargin") rekey_retry_count: StrictInt = Field(alias="RekeyRetryCount") retransmission_timeout: StrictInt = Field(alias="RetransmissionTimeout") @@ -55,7 +57,7 @@ class IPSecStack(BaseModel): stack_role: StrictStr = Field(alias="StackRole") id: StrictStr links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["CACertificateFile", "EmulatedSubConfig", "EnableRekey", "IPSecRange", "IPSecStackName", "LocalSubConfig", "LogKeys", "MaxInitiationRate", "MaxPending", "OuterIPRange", "RekeyMargin", "RekeyRetryCount", "RetransmissionTimeout", "RetryCount", "RetryInterval", "RetryIntervalIncrement", "SetupTimeout", "StackRole", "id", "links"] + __properties: ClassVar[List[str]] = ["CACertificateFile", "EmulatedSubConfig", "EnableRekey", "IPSecRange", "IPSecStackName", "LocalSubConfig", "LogKeys", "MaxInitiationRate", "MaxPending", "OuterIPRange", "PPKList", "RekeyMargin", "RekeyRetryCount", "RetransmissionTimeout", "RetryCount", "RetryInterval", "RetryIntervalIncrement", "SetupTimeout", "StackRole", "id", "links"] @field_validator('ip_sec_stack_name') def ip_sec_stack_name_validate_regular_expression(cls, value): @@ -125,6 +127,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of outer_ip_range if self.outer_ip_range: _dict['OuterIPRange'] = self.outer_ip_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in ppk_list (list) + _items = [] + if self.ppk_list: + for _item in self.ppk_list: + if _item: + _items.append(_item.to_dict()) + _dict['PPKList'] = _items # override the default output from pydantic by calling `to_dict()` of each item in links (list) _items = [] if self.links: @@ -156,6 +165,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "MaxInitiationRate": obj.get("MaxInitiationRate"), "MaxPending": obj.get("MaxPending"), "OuterIPRange": IPRange.from_dict(obj["OuterIPRange"]) if obj.get("OuterIPRange") is not None else None, + "PPKList": ( [PPKPair.from_dict(_item) for _item in obj.get("PPKList", [])] if obj.get("PPKList") is not None else None), "RekeyMargin": obj.get("RekeyMargin"), "RekeyRetryCount": obj.get("RekeyRetryCount"), "RetransmissionTimeout": obj.get("RetransmissionTimeout"), diff --git a/cyperf/models/ip_ver.py b/cyperf/models/ip_ver.py index 3cdb157..b4bbe66 100644 --- a/cyperf/models/ip_ver.py +++ b/cyperf/models/ip_ver.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/test_usage.py b/cyperf/models/keyword.py similarity index 75% rename from cyperf/models/test_usage.py rename to cyperf/models/keyword.py index 79a4446..7c37df2 100644 --- a/cyperf/models/test_usage.py +++ b/cyperf/models/keyword.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -24,13 +24,14 @@ from typing_extensions import Self from pydantic import Field, PrivateAttr -class TestUsage(BaseModel): +class Keyword(BaseModel): """ - TestUsage + Keyword """ # noqa: E501 - used_agents: Optional[List[StrictStr]] = Field(default=None, description="The agents used by the current test", alias="usedAgents") - used_licenses: Optional[Dict[str, StrictInt]] = Field(default=None, description="Feature types used by the current test and their respective counts", alias="usedLicenses") - __properties: ClassVar[List[str]] = ["usedAgents", "usedLicenses"] + category: Optional[StrictStr] = Field(default=None, description="The keyword category", alias="Category") + value: Optional[StrictStr] = Field(default=None, description="The keyword value", alias="Value") + index: Optional[StrictInt] = Field(default=None, description="The index of the category") + __properties: ClassVar[List[str]] = ["Category", "Value", "index"] model_config = ConfigDict( populate_by_name=True, @@ -50,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestUsage from a JSON string""" + """Create an instance of Keyword from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -75,7 +76,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestUsage from a dict""" + """Create an instance of Keyword from a dict""" if obj is None: return None @@ -85,8 +86,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "usedAgents": obj.get("usedAgents") if obj.get("usedAgents") is not None else [], - "usedLicenses": obj.get("usedLicenses") + "Category": obj.get("Category"), + "Value": obj.get("Value"), + "index": obj.get("index") , "links": obj.get("links") }) diff --git a/cyperf/models/start_root_batch_delete_request_inner.py b/cyperf/models/layout_config.py similarity index 78% rename from cyperf/models/start_root_batch_delete_request_inner.py rename to cyperf/models/layout_config.py index 55c9623..1a1cb27 100644 --- a/cyperf/models/start_root_batch_delete_request_inner.py +++ b/cyperf/models/layout_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,18 +18,18 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from typing import Optional, Set, Union, GenericAlias, get_args +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class StartRootBatchDeleteRequestInner(BaseModel): +class LayoutConfig(BaseModel): """ - StartRootBatchDeleteRequestInner + LayoutConfig """ # noqa: E501 - id: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["id"] + columns: Optional[StrictInt] = Field(default=None, description="The number of columns in the layout grid.") + __properties: ClassVar[List[str]] = ["columns"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +49,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of StartRootBatchDeleteRequestInner from a JSON string""" + """Create an instance of LayoutConfig from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +74,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of StartRootBatchDeleteRequestInner from a dict""" + """Create an instance of LayoutConfig from a dict""" if obj is None: return None @@ -84,7 +84,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "id": obj.get("id") + "columns": obj.get("columns") , "links": obj.get("links") }) diff --git a/cyperf/models/license.py b/cyperf/models/license.py index 89d97cd..ac917f7 100644 --- a/cyperf/models/license.py +++ b/cyperf/models/license.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/license_receipt.py b/cyperf/models/license_receipt.py index 578088c..d08bb1a 100644 --- a/cyperf/models/license_receipt.py +++ b/cyperf/models/license_receipt.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/license_server_metadata.py b/cyperf/models/license_server_metadata.py index c3f0cb6..ce3108d 100644 --- a/cyperf/models/license_server_metadata.py +++ b/cyperf/models/license_server_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -28,17 +28,17 @@ class LicenseServerMetadata(BaseModel): """ LicenseServerMetadata """ # noqa: E501 - connection_status: Optional[StrictStr] = Field(default=None, description="The license server's connection status", alias="connectionStatus") - failure_reason: Optional[StrictStr] = Field(default=None, description="The license server's connection failure reason", alias="failureReason") - fingerprint: Optional[StrictStr] = Field(default=None, description="The license server's fingerprint") - host_name: Optional[StrictStr] = Field(default=None, description="The hostname/IP of the server", alias="hostName") - id: Optional[StrictInt] = Field(default=None, description="The unique identifier of the license server") - interactive_fingerprint_verification: Optional[StrictBool] = Field(default=None, description="Validate the license's server fingerprint interactively", alias="interactiveFingerprintVerification") - password: Optional[StrictStr] = Field(default=None, description="The license server's authentication password") - pretty_conn_status: Optional[StrictStr] = Field(default=None, description="The license server's connection status in a human-readable format", alias="prettyConnStatus") - trust_new: Optional[StrictBool] = Field(default=None, description="The flag used to skip license server's identity verifications", alias="trustNew") - tunnel_host_name: Optional[StrictStr] = Field(default=None, description="The hostname/IP of the license server tunnel", alias="tunnelHostName") - user: Optional[StrictStr] = Field(default=None, description="The license server's authentication user") + connection_status: Optional[StrictStr] = Field(default=None, alias="connectionStatus") + failure_reason: Optional[StrictStr] = Field(default=None, alias="failureReason") + fingerprint: Optional[StrictStr] = None + host_name: Optional[StrictStr] = Field(default=None, alias="hostName") + id: Optional[StrictInt] = None + interactive_fingerprint_verification: Optional[StrictBool] = Field(default=None, alias="interactiveFingerprintVerification") + password: Optional[StrictStr] = None + pretty_conn_status: Optional[StrictStr] = Field(default=None, alias="prettyConnStatus") + trust_new: Optional[StrictBool] = Field(default=None, alias="trustNew") + tunnel_host_name: Optional[StrictStr] = Field(default=None, alias="tunnelHostName") + user: Optional[StrictStr] = None __properties: ClassVar[List[str]] = ["connectionStatus", "failureReason", "fingerprint", "hostName", "id", "interactiveFingerprintVerification", "password", "prettyConnStatus", "trustNew", "tunnelHostName", "user"] model_config = ConfigDict( @@ -71,16 +71,8 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. - * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ - "connection_status", - "id", - "pretty_conn_status", - "tunnel_host_name", ]) _dict = self.model_dump( diff --git a/cyperf/models/link.py b/cyperf/models/link.py index a49376f..a876ede 100644 --- a/cyperf/models/link.py +++ b/cyperf/models/link.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/llmapi_profile.py b/cyperf/models/llmapi_profile.py new file mode 100644 index 0000000..98abdd7 --- /dev/null +++ b/cyperf/models/llmapi_profile.py @@ -0,0 +1,136 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.connection import Connection +from cyperf.models.params import Params +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class LLMAPIProfile(BaseModel): + """ + LLMAPIProfile + """ # noqa: E501 + connections: Optional[List[Connection]] = Field(default=None, alias="Connections") + id: StrictStr + is_enabled: StrictBool = Field(alias="isEnabled") + is_one_arm: StrictBool = Field(description="Indicates whether the LLM API profile is one-arm", alias="isOneArm") + links: Optional[List[APILink]] = None + model_name: StrictStr = Field(alias="modelName") + params: Optional[List[Params]] = None + __properties: ClassVar[List[str]] = ["Connections", "id", "isEnabled", "isOneArm", "links", "modelName", "params"] + + @field_validator('model_name') + def model_name_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['OpenAI', 'Gemini', 'Grok', 'Azure Content Safety Prompt Shield API Interceptor', 'Model Armor API Interceptor', 'Prisma AIRS API Interceptor']): + raise ValueError("must be one of enum values ('OpenAI', 'Gemini', 'Grok', 'Azure Content Safety Prompt Shield API Interceptor', 'Model Armor API Interceptor', 'Prisma AIRS API Interceptor')") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LLMAPIProfile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in connections (list) + _items = [] + if self.connections: + for _item in self.connections: + if _item: + _items.append(_item.to_dict()) + _dict['Connections'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in params (list) + _items = [] + if self.params: + for _item in self.params: + if _item: + _items.append(_item.to_dict()) + _dict['params'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LLMAPIProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Connections": ( [Connection.from_dict(_item) for _item in obj.get("Connections", [])] if obj.get("Connections") is not None else None), + "id": obj.get("id"), + "isEnabled": obj.get("isEnabled"), + "isOneArm": obj.get("isOneArm"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), + "modelName": obj.get("modelName"), + "params": ( [Params.from_dict(_item) for _item in obj.get("params", [])] if obj.get("params") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/load_config_operation.py b/cyperf/models/load_config_operation.py index b98e5f9..17061f7 100644 --- a/cyperf/models/load_config_operation.py +++ b/cyperf/models/load_config_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -28,7 +28,7 @@ class LoadConfigOperation(BaseModel): """ LoadConfigOperation """ # noqa: E501 - config_url: Optional[StrictStr] = Field(default=None, description="The URL of the configuration that should be loaded", alias="configUrl") + config_url: Optional[StrictStr] = Field(default=None, description="The URL of the configuration that will be loaded when creating the session", alias="configUrl") __properties: ClassVar[List[str]] = ["configUrl"] model_config = ConfigDict( diff --git a/cyperf/models/local_subnet_config.py b/cyperf/models/local_subnet_config.py index 2753476..22910a9 100644 --- a/cyperf/models/local_subnet_config.py +++ b/cyperf/models/local_subnet_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List from typing_extensions import Annotated from typing import Optional, Set, Union @@ -36,8 +36,9 @@ class LocalSubnetConfig(BaseModel): prefix: StrictInt = Field(description="The network mask of the IP Range (default: 16).", alias="Prefix") start: Annotated[str, Field(strict=True)] = Field(description="The start IP for the IPRange (default: 10.0.0.10).", alias="Start") total_host_count: StrictStr = Field(alias="TotalHostCount") + wildcard_initiator_traffic: StrictBool = Field(alias="WildcardInitiatorTraffic") network_tags: List[StrictStr] = Field(description="A list of tags.", alias="networkTags") - __properties: ClassVar[List[str]] = ["HostCountPerTunnel", "HostsIncrement", "HostsPrefix", "Increment", "Prefix", "Start", "TotalHostCount", "networkTags"] + __properties: ClassVar[List[str]] = ["HostCountPerTunnel", "HostsIncrement", "HostsPrefix", "Increment", "Prefix", "Start", "TotalHostCount", "WildcardInitiatorTraffic", "networkTags"] @field_validator('hosts_increment') def hosts_increment_validate_regular_expression(cls, value): @@ -120,6 +121,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "Prefix": obj.get("Prefix"), "Start": obj.get("Start"), "TotalHostCount": obj.get("TotalHostCount"), + "WildcardInitiatorTraffic": obj.get("WildcardInitiatorTraffic"), "networkTags": obj.get("networkTags") if obj.get("networkTags") is not None else [] , "links": obj.get("links") diff --git a/cyperf/models/log_config.py b/cyperf/models/log_config.py index 3a96bf6..5385eb2 100644 --- a/cyperf/models/log_config.py +++ b/cyperf/models/log_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/log_level.py b/cyperf/models/log_level.py index 3678313..00cd916 100644 --- a/cyperf/models/log_level.py +++ b/cyperf/models/log_level.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/mac_dtls_stack.py b/cyperf/models/mac_dtls_stack.py index 00b5cdf..7b5ff4d 100644 --- a/cyperf/models/mac_dtls_stack.py +++ b/cyperf/models/mac_dtls_stack.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -25,6 +25,7 @@ from cyperf.models.ip_range import IPRange from cyperf.models.network_meshing import NetworkMeshing from cyperf.models.vlan_range import VLANRange +from cyperf.models.vlan_type import VLANType from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr @@ -35,7 +36,7 @@ class MacDtlsStack(BaseModel): """ # noqa: E501 dtls_enabled: Optional[StrictBool] = Field(default=None, alias="DTLSEnabled") dtls_range_name: Annotated[str, Field(strict=True)] = Field(alias="DTLSRangeName") - epoch: StrictInt = Field(alias="Epoch") + epoch: Optional[StrictInt] = Field(default=None, alias="Epoch") epoch_incr: Optional[StrictInt] = Field(default=None, alias="EpochIncr") ip_range: Optional[IPRange] = Field(default=None, alias="IPRange") in_iv: Annotated[str, Field(strict=True)] = Field(description="The in IV start for the DTLSRange (default: 0x22222222).", alias="InIV") @@ -47,13 +48,15 @@ class MacDtlsStack(BaseModel): out_iv_incr: Annotated[str, Field(strict=True)] = Field(description="The out IV increment for the DTLSRange (default: 0x00000001).", alias="OutIVIncr") out_key: Annotated[str, Field(strict=True)] = Field(description="The out key start for the DTLSRange (default: 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA).", alias="OutKey") out_key_incr: Annotated[str, Field(strict=True)] = Field(description="The out key start for the DTLSRange (default: 0x0000000000000000000000000000000000000000000000000000000000000001).", alias="OutKeyIncr") + outer_vlan_range: Optional[VLANRange] = Field(default=None, description="The inner VLAN range assigned to the current DTLS Range configuration", alias="OuterVlanRange") tunnel_count: StrictInt = Field(alias="TunnelCount") tunnel_destination_mac_incr: Annotated[str, Field(strict=True)] = Field(description="The MAC address increment rule for the DTLSRange (default: 00:00:00:00:00:01).", alias="TunnelDestinationMacIncr") tunnel_destination_mac_start: Annotated[str, Field(strict=True)] = Field(description="The MAC start address for the DTLSRange (default: AA:BB:CC:DD:EE:FF).", alias="TunnelDestinationMacStart") + vlan_type: Optional[VLANType] = Field(default=None, description="The type of VLAN used", alias="VLANType") vlan_range: Optional[VLANRange] = Field(default=None, description="The inner VLAN range assigned to the current DTLS Range configuration", alias="VlanRange") id: StrictStr links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["DTLSEnabled", "DTLSRangeName", "Epoch", "EpochIncr", "IPRange", "InIV", "InIVIncr", "InKey", "InKeyIncr", "NetworkMeshing", "OutIV", "OutIVIncr", "OutKey", "OutKeyIncr", "TunnelCount", "TunnelDestinationMacIncr", "TunnelDestinationMacStart", "VlanRange", "id", "links"] + __properties: ClassVar[List[str]] = ["DTLSEnabled", "DTLSRangeName", "Epoch", "EpochIncr", "IPRange", "InIV", "InIVIncr", "InKey", "InKeyIncr", "NetworkMeshing", "OutIV", "OutIVIncr", "OutKey", "OutKeyIncr", "OuterVlanRange", "TunnelCount", "TunnelDestinationMacIncr", "TunnelDestinationMacStart", "VLANType", "VlanRange", "id", "links"] @field_validator('dtls_range_name') def dtls_range_name_validate_regular_expression(cls, value): @@ -177,6 +180,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of network_meshing if self.network_meshing: _dict['NetworkMeshing'] = self.network_meshing.to_dict() + # override the default output from pydantic by calling `to_dict()` of outer_vlan_range + if self.outer_vlan_range: + _dict['OuterVlanRange'] = self.outer_vlan_range.to_dict() # override the default output from pydantic by calling `to_dict()` of vlan_range if self.vlan_range: _dict['VlanRange'] = self.vlan_range.to_dict() @@ -215,9 +221,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "OutIVIncr": obj.get("OutIVIncr"), "OutKey": obj.get("OutKey"), "OutKeyIncr": obj.get("OutKeyIncr"), + "OuterVlanRange": VLANRange.from_dict(obj["OuterVlanRange"]) if obj.get("OuterVlanRange") is not None else None, "TunnelCount": obj.get("TunnelCount"), "TunnelDestinationMacIncr": obj.get("TunnelDestinationMacIncr"), "TunnelDestinationMacStart": obj.get("TunnelDestinationMacStart"), + "VLANType": obj.get("VLANType"), "VlanRange": VLANRange.from_dict(obj["VlanRange"]) if obj.get("VlanRange") is not None else None, "id": obj.get("id"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) diff --git a/cyperf/models/mapping_type.py b/cyperf/models/mapping_type.py index 5a000a4..0fc55cb 100644 --- a/cyperf/models/mapping_type.py +++ b/cyperf/models/mapping_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/marked_as_deleted.py b/cyperf/models/marked_as_deleted.py index 4578132..559ea13 100644 --- a/cyperf/models/marked_as_deleted.py +++ b/cyperf/models/marked_as_deleted.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/md2_tlv.py b/cyperf/models/md2_tlv.py index 9b87749..3990ed7 100644 --- a/cyperf/models/md2_tlv.py +++ b/cyperf/models/md2_tlv.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/media_file.py b/cyperf/models/media_file.py index 991c068..4b96519 100644 --- a/cyperf/models/media_file.py +++ b/cyperf/models/media_file.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/media_track.py b/cyperf/models/media_track.py index 1173235..979fc38 100644 --- a/cyperf/models/media_track.py +++ b/cyperf/models/media_track.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/metadata.py b/cyperf/models/metadata.py index 7eb494d..2647711 100644 --- a/cyperf/models/metadata.py +++ b/cyperf/models/metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -33,6 +33,7 @@ class Metadata(BaseModel): """ # noqa: E501 direction: Optional[StrictStr] = Field(default=None, description="The direction of the strike", alias="Direction") is_banner: Optional[StrictBool] = Field(default=None, description="Indicates that this is a command that is required, can only be add once and also must be the first", alias="IsBanner") + is_llm_strike: Optional[StrictBool] = Field(default=None, description="Indicates if the command is an LLM strike", alias="IsLLMStrike") is_streaming: Optional[StrictBool] = Field(default=None, description="Indicates if the application's traffic is a UDP stream", alias="IsStreaming") keywords: Optional[List[AppsecAppMetadataKeywordsInner]] = Field(default=None, description="The keywords of the strike", alias="Keywords") legacy_names: Optional[List[StrictStr]] = Field(default=None, description="The names of the equivalent application/strike", alias="LegacyNames") @@ -46,8 +47,10 @@ class Metadata(BaseModel): sort_severity: Optional[StrictStr] = Field(default=None, description="The field by which the severity is sorted", alias="SortSeverity") static: Optional[StrictBool] = Field(default=None, description="If true, the application/strike is managed directly by the controller", alias="Static") supported_apps: Optional[List[StrictStr]] = Field(default=None, description="The apps that this strike can be used with", alias="SupportedApps") + supported_http_versions: Optional[List[StrictStr]] = Field(default=None, description="The HTTP versions supported by the application", alias="SupportedHTTPVersions") + supports_http2: Optional[StrictBool] = Field(default=None, description="Indicates if the application supports HTTP2 multi-stream", alias="SupportsHTTP2") year: Optional[StrictStr] = Field(default=None, description="The year of the strike", alias="Year") - __properties: ClassVar[List[str]] = ["Direction", "IsBanner", "IsStreaming", "Keywords", "LegacyNames", "NoMultiFlowSupport", "Protocol", "RTPProfileMeta", "References", "RequiresUniqueness", "Severity", "SkipAttackGeneration", "SortSeverity", "Static", "SupportedApps", "Year"] + __properties: ClassVar[List[str]] = ["Direction", "IsBanner", "IsLLMStrike", "IsStreaming", "Keywords", "LegacyNames", "NoMultiFlowSupport", "Protocol", "RTPProfileMeta", "References", "RequiresUniqueness", "Severity", "SkipAttackGeneration", "SortSeverity", "Static", "SupportedApps", "SupportedHTTPVersions", "SupportsHTTP2", "Year"] model_config = ConfigDict( populate_by_name=True, @@ -121,6 +124,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "Direction": obj.get("Direction"), "IsBanner": obj.get("IsBanner"), + "IsLLMStrike": obj.get("IsLLMStrike"), "IsStreaming": obj.get("IsStreaming"), "Keywords": ( [AppsecAppMetadataKeywordsInner.from_dict(_item) for _item in obj.get("Keywords", [])] if obj.get("Keywords") is not None else None), "LegacyNames": obj.get("LegacyNames") if obj.get("LegacyNames") is not None else [], @@ -134,6 +138,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "SortSeverity": obj.get("SortSeverity"), "Static": obj.get("Static"), "SupportedApps": obj.get("SupportedApps") if obj.get("SupportedApps") is not None else [], + "SupportedHTTPVersions": obj.get("SupportedHTTPVersions") if obj.get("SupportedHTTPVersions") is not None else [], + "SupportsHTTP2": obj.get("SupportsHTTP2"), "Year": obj.get("Year") , "links": obj.get("links") diff --git a/cyperf/models/capture.py b/cyperf/models/metrics_list.py similarity index 69% rename from cyperf/models/capture.py rename to cyperf/models/metrics_list.py index b9cff67..96f4015 100644 --- a/cyperf/models/capture.py +++ b/cyperf/models/metrics_list.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,18 +20,18 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.app_flow import AppFlow -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.advanced_metric import AdvancedMetric +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class Capture(BaseModel): +class MetricsList(BaseModel): """ - Capture + MetricsList """ # noqa: E501 - capture_id: Optional[StrictStr] = Field(default=None, alias="CaptureId") - flows: Optional[List[AppFlow]] = Field(default=None, alias="Flows") - __properties: ClassVar[List[str]] = ["CaptureId", "Flows"] + dashboard_id: Optional[StrictStr] = Field(default=None, description="The id of the dashboard with these metrics", alias="dashboardId") + metrics: Optional[List[AdvancedMetric]] = Field(default=None, description="The list of metrics in the specified dashboard") + __properties: ClassVar[List[str]] = ["dashboardId", "metrics"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +51,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Capture from a JSON string""" + """Create an instance of MetricsList from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,18 +72,18 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in flows (list) + # override the default output from pydantic by calling `to_dict()` of each item in metrics (list) _items = [] - if self.flows: - for _item in self.flows: + if self.metrics: + for _item in self.metrics: if _item: _items.append(_item.to_dict()) - _dict['Flows'] = _items + _dict['metrics'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Capture from a dict""" + """Create an instance of MetricsList from a dict""" if obj is None: return None @@ -93,8 +93,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "CaptureId": obj.get("CaptureId"), - "Flows": [AppFlow.from_dict(_item) for _item in obj["Flows"]] if obj.get("Flows") is not None else None + "dashboardId": obj.get("dashboardId"), + "metrics": ( [AdvancedMetric.from_dict(_item) for _item in obj.get("metrics", [])] if obj.get("metrics") is not None else None) , "links": obj.get("links") }) diff --git a/cyperf/models/mos_mode.py b/cyperf/models/mos_mode.py index 368ebdb..558565f 100644 --- a/cyperf/models/mos_mode.py +++ b/cyperf/models/mos_mode.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/name_id_format.py b/cyperf/models/name_id_format.py index 61c071f..385fbe9 100644 --- a/cyperf/models/name_id_format.py +++ b/cyperf/models/name_id_format.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/name_server.py b/cyperf/models/name_server.py index a3c9a58..196f9f1 100644 --- a/cyperf/models/name_server.py +++ b/cyperf/models/name_server.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/network_mapping.py b/cyperf/models/network_mapping.py index 12c8201..7f43853 100644 --- a/cyperf/models/network_mapping.py +++ b/cyperf/models/network_mapping.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/network_meshing.py b/cyperf/models/network_meshing.py index e9ebd0a..19a2ad0 100644 --- a/cyperf/models/network_meshing.py +++ b/cyperf/models/network_meshing.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/network_profile.py b/cyperf/models/network_profile.py index b47054f..3cfb319 100644 --- a/cyperf/models/network_profile.py +++ b/cyperf/models/network_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/network_segment_base.py b/cyperf/models/network_segment_base.py index 5580ce5..0102a18 100644 --- a/cyperf/models/network_segment_base.py +++ b/cyperf/models/network_segment_base.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/nodes_by_controller.py b/cyperf/models/nodes_by_controller.py index 66b39f0..3508f0e 100644 --- a/cyperf/models/nodes_by_controller.py +++ b/cyperf/models/nodes_by_controller.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/nodes_power_cycle_operation.py b/cyperf/models/nodes_power_cycle_operation.py index 5c8903f..ecf18de 100644 --- a/cyperf/models/nodes_power_cycle_operation.py +++ b/cyperf/models/nodes_power_cycle_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/notification.py b/cyperf/models/notification.py index 5ad191c..ff91159 100644 --- a/cyperf/models/notification.py +++ b/cyperf/models/notification.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/notification_counts.py b/cyperf/models/notification_counts.py index d08e265..f2366cd 100644 --- a/cyperf/models/notification_counts.py +++ b/cyperf/models/notification_counts.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ntp_info.py b/cyperf/models/ntp_info.py index e105116..2520e63 100644 --- a/cyperf/models/ntp_info.py +++ b/cyperf/models/ntp_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/objective_type.py b/cyperf/models/objective_type.py index 8d74656..ef9d128 100644 --- a/cyperf/models/objective_type.py +++ b/cyperf/models/objective_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/objective_unit.py b/cyperf/models/objective_unit.py index 8b99d95..1bc71b4 100644 --- a/cyperf/models/objective_unit.py +++ b/cyperf/models/objective_unit.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/objective_value_entry.py b/cyperf/models/objective_value_entry.py index 7fb847a..24cd3eb 100644 --- a/cyperf/models/objective_value_entry.py +++ b/cyperf/models/objective_value_entry.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/objectives_and_timeline.py b/cyperf/models/objectives_and_timeline.py index f5bd81b..ab6e39b 100644 --- a/cyperf/models/objectives_and_timeline.py +++ b/cyperf/models/objectives_and_timeline.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/open_api_definitions.py b/cyperf/models/open_api_definitions.py index 4f9f5f9..9dd1deb 100644 --- a/cyperf/models/open_api_definitions.py +++ b/cyperf/models/open_api_definitions.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/p1_config.py b/cyperf/models/p1_config.py index 40f905d..2b21dd2 100644 --- a/cyperf/models/p1_config.py +++ b/cyperf/models/p1_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,11 +18,12 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List from cyperf.models.dh_p1_group import DhP1Group from cyperf.models.enc_p1_algorithm import EncP1Algorithm from cyperf.models.hash_p1_algorithm import HashP1Algorithm +from cyperf.models.pqc_kem_group import PqcKemGroup from cyperf.models.prf_p1_algorithm import PrfP1Algorithm from typing import Optional, Set, Union from typing_extensions import Self @@ -37,8 +38,19 @@ class P1Config(BaseModel): hash_algorithm: HashP1Algorithm = Field(alias="HashAlgorithm") initial_contact: StrictBool = Field(alias="InitialContact") lifetime: StrictInt = Field(alias="Lifetime") + ppk_enabled: StrictBool = Field(alias="PPKEnabled") + ppkid: StrictStr = Field(alias="PPKId") + ppk_mandatory: StrictStr = Field(alias="PPKMandatory") + pqckem_round: List[PqcKemGroup] = Field(alias="PQCKEMRound") prf_algorithm: PrfP1Algorithm = Field(alias="PrfAlgorithm") - __properties: ClassVar[List[str]] = ["DHGroup", "EncAlgorithm", "HashAlgorithm", "InitialContact", "Lifetime", "PrfAlgorithm"] + __properties: ClassVar[List[str]] = ["DHGroup", "EncAlgorithm", "HashAlgorithm", "InitialContact", "Lifetime", "PPKEnabled", "PPKId", "PPKMandatory", "PQCKEMRound", "PrfAlgorithm"] + + @field_validator('ppk_mandatory') + def ppk_mandatory_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['PREFERRED', 'MANDATORY']): + raise ValueError("must be one of enum values ('PREFERRED', 'MANDATORY')") + return value model_config = ConfigDict( populate_by_name=True, @@ -98,6 +110,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "HashAlgorithm": obj.get("HashAlgorithm"), "InitialContact": obj.get("InitialContact"), "Lifetime": obj.get("Lifetime"), + "PPKEnabled": obj.get("PPKEnabled"), + "PPKId": obj.get("PPKId"), + "PPKMandatory": obj.get("PPKMandatory"), + "PQCKEMRound": obj.get("PQCKEMRound"), "PrfAlgorithm": obj.get("PrfAlgorithm") , "links": obj.get("links") diff --git a/cyperf/models/p2_config.py b/cyperf/models/p2_config.py index 8340f0b..6c9b9b2 100644 --- a/cyperf/models/p2_config.py +++ b/cyperf/models/p2_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/pair.py b/cyperf/models/pair.py index c15ebc0..7a97c59 100644 --- a/cyperf/models/pair.py +++ b/cyperf/models/pair.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/panel.py b/cyperf/models/panel.py new file mode 100644 index 0000000..f31c256 --- /dev/null +++ b/cyperf/models/panel.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.advanced_metric import AdvancedMetric +from cyperf.models.appsec_app_metadata_keywords_inner import AppsecAppMetadataKeywordsInner +from cyperf.models.data_source_details import DataSourceDetails +from cyperf.models.grid_position import GridPosition +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class Panel(BaseModel): + """ + Panel + """ # noqa: E501 + filters: Optional[List[Dict[str, AppsecAppMetadataKeywordsInner]]] = Field(default=None, description="The filters to be applied to the panel stats") + group_by: Optional[List[AdvancedMetric]] = Field(default=None, description="The stats to be used as group by clauses", alias="groupBy") + limit: Optional[StrictInt] = Field(default=None, description="The maximum number of stats to be generated in a certain interval") + metrics: Optional[List[AdvancedMetric]] = Field(default=None, description="The stats to be displayed in the panel") + panel_data_source: Optional[DataSourceDetails] = Field(default=None, alias="panelDataSource") + panel_type: Optional[StrictStr] = Field(default=None, description="The type of the panel", alias="panelType") + position: Optional[GridPosition] = None + stats_sources: Optional[List[StrictStr]] = Field(default=None, description="The sources of the statistics based on the panel configuration", alias="statsSources") + title: Optional[StrictStr] = Field(default=None, description="The title of the panel") + __properties: ClassVar[List[str]] = ["filters", "groupBy", "limit", "metrics", "panelDataSource", "panelType", "position", "statsSources", "title"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Panel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in filters (list) + _items = [] + if self.filters: + for _item in self.filters: + if _item: + _items.append(_item.to_dict()) + _dict['filters'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in group_by (list) + _items = [] + if self.group_by: + for _item in self.group_by: + if _item: + _items.append(_item.to_dict()) + _dict['groupBy'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in metrics (list) + _items = [] + if self.metrics: + for _item in self.metrics: + if _item: + _items.append(_item.to_dict()) + _dict['metrics'] = _items + # override the default output from pydantic by calling `to_dict()` of panel_data_source + if self.panel_data_source: + _dict['panelDataSource'] = self.panel_data_source.to_dict() + # override the default output from pydantic by calling `to_dict()` of position + if self.position: + _dict['position'] = self.position.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Panel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "filters": ( [Dict.from_dict(_item) for _item in obj.get("filters", [])] if obj.get("filters") is not None else None), + "groupBy": ( [AdvancedMetric.from_dict(_item) for _item in obj.get("groupBy", [])] if obj.get("groupBy") is not None else None), + "limit": obj.get("limit"), + "metrics": ( [AdvancedMetric.from_dict(_item) for _item in obj.get("metrics", [])] if obj.get("metrics") is not None else None), + "panelDataSource": DataSourceDetails.from_dict(obj["panelDataSource"]) if obj.get("panelDataSource") is not None else None, + "panelType": obj.get("panelType"), + "position": GridPosition.from_dict(obj["position"]) if obj.get("position") is not None else None, + "statsSources": obj.get("statsSources") if obj.get("statsSources") is not None else [], + "title": obj.get("title") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/pangp_encapsulation.py b/cyperf/models/pangp_encapsulation.py index 5b09a5a..31966c9 100644 --- a/cyperf/models/pangp_encapsulation.py +++ b/cyperf/models/pangp_encapsulation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -32,10 +32,11 @@ class PANGPEncapsulation(BaseModel): """ # noqa: E501 esp_over_udp_enabled: StrictBool = Field(alias="ESPOverUDPEnabled") esp_over_udp_settings: Optional[ESPOverUDPSettings] = Field(default=None, alias="ESPOverUDPSettings") + enable_ikev2: StrictBool = Field(alias="EnableIKEv2") encapsulation_mode: StrictStr = Field(description="The encapsulation mode for inner traffic.", alias="EncapsulationMode") udp_port: StrictInt = Field(alias="UdpPort") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["ESPOverUDPEnabled", "ESPOverUDPSettings", "EncapsulationMode", "UdpPort", "links"] + __properties: ClassVar[List[str]] = ["ESPOverUDPEnabled", "ESPOverUDPSettings", "EnableIKEv2", "EncapsulationMode", "UdpPort", "links"] @field_validator('encapsulation_mode') def encapsulation_mode_validate_enum(cls, value): @@ -109,6 +110,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "ESPOverUDPEnabled": obj.get("ESPOverUDPEnabled"), "ESPOverUDPSettings": ESPOverUDPSettings.from_dict(obj["ESPOverUDPSettings"]) if obj.get("ESPOverUDPSettings") is not None else None, + "EnableIKEv2": obj.get("EnableIKEv2"), "EncapsulationMode": obj.get("EncapsulationMode"), "UdpPort": obj.get("UdpPort"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) diff --git a/cyperf/models/pangp_settings.py b/cyperf/models/pangp_settings.py index 591a3ef..9b52c5f 100644 --- a/cyperf/models/pangp_settings.py +++ b/cyperf/models/pangp_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata.py b/cyperf/models/param_metadata.py index c40caf4..d47b025 100644 --- a/cyperf/models/param_metadata.py +++ b/cyperf/models/param_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata_type_info.py b/cyperf/models/param_metadata_type_info.py index 904eb3e..b5a3a8f 100644 --- a/cyperf/models/param_metadata_type_info.py +++ b/cyperf/models/param_metadata_type_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata_type_info_array_v2.py b/cyperf/models/param_metadata_type_info_array_v2.py index 91df78c..1eb0450 100644 --- a/cyperf/models/param_metadata_type_info_array_v2.py +++ b/cyperf/models/param_metadata_type_info_array_v2.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata_type_info_array_v2_elements_inner.py b/cyperf/models/param_metadata_type_info_array_v2_elements_inner.py index 5192ef2..0090b8e 100644 --- a/cyperf/models/param_metadata_type_info_array_v2_elements_inner.py +++ b/cyperf/models/param_metadata_type_info_array_v2_elements_inner.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata_type_info_int.py b/cyperf/models/param_metadata_type_info_int.py index 36141a0..68586f1 100644 --- a/cyperf/models/param_metadata_type_info_int.py +++ b/cyperf/models/param_metadata_type_info_int.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata_type_info_media.py b/cyperf/models/param_metadata_type_info_media.py index c318bcd..cad43d6 100644 --- a/cyperf/models/param_metadata_type_info_media.py +++ b/cyperf/models/param_metadata_type_info_media.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_metadata_type_info_string.py b/cyperf/models/param_metadata_type_info_string.py index f0e606a..b0d0682 100644 --- a/cyperf/models/param_metadata_type_info_string.py +++ b/cyperf/models/param_metadata_type_info_string.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_source_type.py b/cyperf/models/param_source_type.py index e05bf8d..1127822 100644 --- a/cyperf/models/param_source_type.py +++ b/cyperf/models/param_source_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/param_type.py b/cyperf/models/param_type.py index 0932def..2a5f4e0 100644 --- a/cyperf/models/param_type.py +++ b/cyperf/models/param_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/parameter.py b/cyperf/models/parameter.py index 2ff1f01..7fd3f88 100644 --- a/cyperf/models/parameter.py +++ b/cyperf/models/parameter.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/parameter_match.py b/cyperf/models/parameter_match.py index 5d419bf..a921047 100644 --- a/cyperf/models/parameter_match.py +++ b/cyperf/models/parameter_match.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/parameter_meta.py b/cyperf/models/parameter_meta.py index 7219a69..fcb91d8 100644 --- a/cyperf/models/parameter_meta.py +++ b/cyperf/models/parameter_meta.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/parameter_metadata.py b/cyperf/models/parameter_metadata.py index 8dabe11..c0992d0 100644 --- a/cyperf/models/parameter_metadata.py +++ b/cyperf/models/parameter_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/params.py b/cyperf/models/params.py index 8c5c131..265f946 100644 --- a/cyperf/models/params.py +++ b/cyperf/models/params.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/params_enum.py b/cyperf/models/params_enum.py index 8f409e5..6ab88fd 100644 --- a/cyperf/models/params_enum.py +++ b/cyperf/models/params_enum.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/payload_meta.py b/cyperf/models/payload_meta.py index 62ad58a..c46b047 100644 --- a/cyperf/models/payload_meta.py +++ b/cyperf/models/payload_meta.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/payload_metadata.py b/cyperf/models/payload_metadata.py index ff6c423..37b6e57 100644 --- a/cyperf/models/payload_metadata.py +++ b/cyperf/models/payload_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/pep_dut.py b/cyperf/models/pep_dut.py index d5b69c0..d40fd27 100644 --- a/cyperf/models/pep_dut.py +++ b/cyperf/models/pep_dut.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/pfs_p2_group.py b/cyperf/models/pfs_p2_group.py index 5876abc..02714e3 100644 --- a/cyperf/models/pfs_p2_group.py +++ b/cyperf/models/pfs_p2_group.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/playlist_metadata.py b/cyperf/models/playlist_metadata.py index 13effc1..30af428 100644 --- a/cyperf/models/playlist_metadata.py +++ b/cyperf/models/playlist_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/playlist_sequencing_method.py b/cyperf/models/playlist_sequencing_method.py new file mode 100644 index 0000000..025a068 --- /dev/null +++ b/cyperf/models/playlist_sequencing_method.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class PlaylistSequencingMethod(str, Enum): + """ + Use this property to switch between different playlist sequencing strategies + """ + + """ + allowed enum values + """ + SEQUENTIAL_PER_USER_PER_FLOW = 'SEQUENTIAL_PER_USER_PER_FLOW' + UNIQUE_OFFSET_SEQUENTIAL_PER_USER_PER_FLOW = 'UNIQUE_OFFSET_SEQUENTIAL_PER_USER_PER_FLOW' + SEQUENTIAL_GLOBAL_PER_FLOW = 'SEQUENTIAL_GLOBAL_PER_FLOW' + RANDOM_PER_USER_PER_FLOW = 'RANDOM_PER_USER_PER_FLOW' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PlaylistSequencingMethod from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/plugin.py b/cyperf/models/plugin.py index 8720947..7e6160a 100644 --- a/cyperf/models/plugin.py +++ b/cyperf/models/plugin.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/plugin_stats.py b/cyperf/models/plugin_stats.py index 7cb0ed8..b8e7312 100644 --- a/cyperf/models/plugin_stats.py +++ b/cyperf/models/plugin_stats.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/port.py b/cyperf/models/port.py index 477f923..25bc43a 100644 --- a/cyperf/models/port.py +++ b/cyperf/models/port.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/port_settings.py b/cyperf/models/port_settings.py index 9893c6c..2f9ed6c 100644 --- a/cyperf/models/port_settings.py +++ b/cyperf/models/port_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ports_by_controller.py b/cyperf/models/ports_by_controller.py index f6c398c..2240676 100644 --- a/cyperf/models/ports_by_controller.py +++ b/cyperf/models/ports_by_controller.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ports_by_node.py b/cyperf/models/ports_by_node.py index a67dbb8..7ad6b87 100644 --- a/cyperf/models/ports_by_node.py +++ b/cyperf/models/ports_by_node.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/ports_by_panel.py b/cyperf/models/ports_by_panel.py new file mode 100644 index 0000000..fba09d2 --- /dev/null +++ b/cyperf/models/ports_by_panel.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class PortsByPanel(BaseModel): + """ + PortsByPanel + """ # noqa: E501 + front_panel_id: Optional[StrictStr] = Field(default=None, description="The id of the front panel that the ports are part of.", alias="frontPanelId") + ports: Optional[List[StrictStr]] = Field(default=None, description="The port ids.") + __properties: ClassVar[List[str]] = ["frontPanelId", "ports"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PortsByPanel from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortsByPanel from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "frontPanelId": obj.get("frontPanelId"), + "ports": obj.get("ports") if obj.get("ports") is not None else [] + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/switch_app_operation.py b/cyperf/models/ppk_pair.py similarity index 77% rename from cyperf/models/switch_app_operation.py rename to cyperf/models/ppk_pair.py index 1a9b95b..64091f4 100644 --- a/cyperf/models/switch_app_operation.py +++ b/cyperf/models/ppk_pair.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -19,17 +19,18 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from typing import Optional, Set, Union, GenericAlias, get_args +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class SwitchAppOperation(BaseModel): +class PPKPair(BaseModel): """ - SwitchAppOperation + PPKPair """ # noqa: E501 - app_id: Optional[StrictStr] = Field(default=None, description="The id of the app to activate on the controller.", alias="appID") - __properties: ClassVar[List[str]] = ["appID"] + ppkid: StrictStr = Field(alias="PPKId") + ppk_key: StrictStr = Field(alias="PPKKey") + __properties: ClassVar[List[str]] = ["PPKId", "PPKKey"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +50,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SwitchAppOperation from a JSON string""" + """Create an instance of PPKPair from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +75,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SwitchAppOperation from a dict""" + """Create an instance of PPKPair from a dict""" if obj is None: return None @@ -84,7 +85,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "appID": obj.get("appID") + "PPKId": obj.get("PPKId"), + "PPKKey": obj.get("PPKKey") , "links": obj.get("links") }) diff --git a/cyperf/models/pqc_kem_group.py b/cyperf/models/pqc_kem_group.py new file mode 100644 index 0000000..0b69d82 --- /dev/null +++ b/cyperf/models/pqc_kem_group.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class PqcKemGroup(str, Enum): + """ + PqcKemGroup + """ + + """ + allowed enum values + """ + NONE = 'NONE' + MODP_768 = 'MODP 768' + MODP_1024 = 'MODP 1024' + MODP_1536 = 'MODP 1536' + MODP_2048 = 'MODP 2048' + MODP_3072 = 'MODP 3072' + MODP_4096 = 'MODP 4096' + MODP_6144 = 'MODP 6144' + MODP_8192 = 'MODP 8192' + MODP_1024_S160 = 'MODP 1024 S160' + MODP_2048_S224 = 'MODP 2048 S224' + MODP_2048_S256 = 'MODP 2048 S256' + ECP_192 = 'ECP 192' + ECP_224 = 'ECP 224' + ECP_256 = 'ECP 256' + ECP_384 = 'ECP 384' + ECP_521 = 'ECP 521' + ECP_224_BP = 'ECP 224 BP' + ECP_256_BP = 'ECP 256 BP' + ECP_384_BP = 'ECP 384 BP' + ECP_512_BP = 'ECP 512 BP' + MLKEM512 = 'MLKEM512' + MLKEM768 = 'MLKEM768' + MLKEM1024 = 'MLKEM1024' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PqcKemGroup from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/pqc_signature_algorithm_tls13.py b/cyperf/models/pqc_signature_algorithm_tls13.py new file mode 100644 index 0000000..afb8620 --- /dev/null +++ b/cyperf/models/pqc_signature_algorithm_tls13.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class PqcSignatureAlgorithmTLS13(str, Enum): + """ + The TLSv1.3 supported PQC signature algorithms. + """ + + """ + allowed enum values + """ + MLDSA44 = 'mldsa44' + MLDSA65 = 'mldsa65' + MLDSA87 = 'mldsa87' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PqcSignatureAlgorithmTLS13 from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/prf_p1_algorithm.py b/cyperf/models/prf_p1_algorithm.py index 98aae30..2bf7685 100644 --- a/cyperf/models/prf_p1_algorithm.py +++ b/cyperf/models/prf_p1_algorithm.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/prepare_test_operation.py b/cyperf/models/profile.py similarity index 52% rename from cyperf/models/prepare_test_operation.py rename to cyperf/models/profile.py index d9f44e9..927fe10 100644 --- a/cyperf/models/prepare_test_operation.py +++ b/cyperf/models/profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -20,25 +20,26 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.prepared_test_options import PreparedTestOptions from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr -class PrepareTestOperation(BaseModel): +class Profile(BaseModel): """ - PrepareTestOperation + Profile """ # noqa: E501 - options: Optional[PreparedTestOptions] = Field(default=None, alias="Options") - message: Optional[StrictStr] = Field(default=None, description="An optional message that describes the reason the test ended") - new_state: Optional[StrictStr] = Field(default=None, description="An optional enum that identifies the current state of the test", alias="newState") - old_state: Optional[StrictStr] = Field(default=None, description="An optional enum that identifies the previous state of the test", alias="oldState") - owner: Optional[StrictStr] = Field(default=None, description="An optional friendly display name for the user which initiated the operation") - owner_id: Optional[StrictStr] = Field(default=None, description="An optional identifier that uniquely identifies the user which initiated the operation", alias="ownerId") - reason: Optional[StrictStr] = Field(default=None, description="An optional enum that identifies the underlying reason for the test's end") - test_id: Optional[StrictStr] = Field(default=None, description="The test to which the state change refers", alias="testId") - timestamp: Optional[StrictInt] = Field(default=None, description="An optional Unix timestamp that indicates when the test state was changed") - __properties: ClassVar[List[str]] = ["Options", "message", "newState", "oldState", "owner", "ownerId", "reason", "testId", "timestamp"] + category: Optional[StrictStr] = Field(default=None, description="The category of the profile template.") + config_id: Optional[StrictStr] = Field(default=None, description="The config ID associated with this profile", alias="configId") + description: Optional[StrictStr] = Field(default=None, description="Description of the profile") + display_name: Optional[StrictStr] = Field(default=None, description="Display name of the profile", alias="displayName") + icon: Optional[StrictStr] = Field(default=None, description="Profile icon (base64 encoded)") + id: Optional[StrictStr] = None + index: Optional[StrictInt] = Field(default=None, description="The index of the profile in the list of profiles. This is used for ordering profiles.") + owner: Optional[StrictStr] = Field(default=None, description="The friendly display name of the profile's owner") + owner_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the profile's owner", alias="ownerId") + topology_img_dark: Optional[StrictStr] = Field(default=None, description="Topology image (dark theme, base64 encoded)", alias="topologyImgDark") + topology_img_light: Optional[StrictStr] = Field(default=None, description="Topology image (light theme, base64 encoded)", alias="topologyImgLight") + __properties: ClassVar[List[str]] = ["category", "configId", "description", "displayName", "icon", "id", "index", "owner", "ownerId", "topologyImgDark", "topologyImgLight"] model_config = ConfigDict( populate_by_name=True, @@ -58,7 +59,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PrepareTestOperation from a JSON string""" + """Create an instance of Profile from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -70,8 +71,14 @@ def to_dict(self) -> Dict[str, Any]: * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ + "index", + "owner", + "owner_id", ]) _dict = self.model_dump( @@ -79,14 +86,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of options - if self.options: - _dict['Options'] = self.options.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PrepareTestOperation from a dict""" + """Create an instance of Profile from a dict""" if obj is None: return None @@ -96,15 +100,17 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "Options": PreparedTestOptions.from_dict(obj["Options"]) if obj.get("Options") is not None else None, - "message": obj.get("message"), - "newState": obj.get("newState"), - "oldState": obj.get("oldState"), + "category": obj.get("category"), + "configId": obj.get("configId"), + "description": obj.get("description"), + "displayName": obj.get("displayName"), + "icon": obj.get("icon"), + "id": obj.get("id"), + "index": obj.get("index"), "owner": obj.get("owner"), "ownerId": obj.get("ownerId"), - "reason": obj.get("reason"), - "testId": obj.get("testId"), - "timestamp": obj.get("timestamp") + "topologyImgDark": obj.get("topologyImgDark"), + "topologyImgLight": obj.get("topologyImgLight") , "links": obj.get("links") }) diff --git a/cyperf/models/protected_subnet_config.py b/cyperf/models/protected_subnet_config.py index d15bc22..6336893 100644 --- a/cyperf/models/protected_subnet_config.py +++ b/cyperf/models/protected_subnet_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/psp_range.py b/cyperf/models/psp_range.py new file mode 100644 index 0000000..6b06776 --- /dev/null +++ b/cyperf/models/psp_range.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class PSPRange(BaseModel): + """ + The PSP tunnel range configuration for M×N tunnel mapping + """ # noqa: E501 + master_key0: StrictStr = Field(description="Master key for phase 0 (256-bit hex string).", alias="MasterKey0") + master_key1: StrictStr = Field(description="Master key for phase 1 (256-bit hex string).", alias="MasterKey1") + psp_range_name: Annotated[str, Field(strict=True)] = Field(alias="PSPRangeName") + psp_version: StrictStr = Field(description="PSP version: AES-GCM-128, AES-GMAC-128 (default: AES-GCM-128).", alias="PspVersion") + remote_inner_ip_count: StrictInt = Field(description="Total Remote Inner IP Count: RemoteTunnelIpCount * RemoteTunnelToInnerIpCountRatio", alias="RemoteInnerIpCount") + remote_inner_ip_incr: StrictStr = Field(description="The remote inner IP increment (default: 0.0.0.1).", alias="RemoteInnerIpIncr") + remote_inner_ip_start: Annotated[str, Field(strict=True)] = Field(description="The start IP for remote inner IPs.", alias="RemoteInnerIpStart") + remote_tunnel_ip_count: StrictInt = Field(description="The number of remote tunnel IPs (default: 1).", alias="RemoteTunnelIpCount") + remote_tunnel_ip_incr: StrictStr = Field(description="The remote tunnel IP increment (default: 0.0.0.1).", alias="RemoteTunnelIpIncr") + remote_tunnel_ip_start: Annotated[str, Field(strict=True)] = Field(description="The start IP for the remote tunnel endpoint.", alias="RemoteTunnelIpStart") + remote_tunnel_to_inner_ip_count_ratio: StrictInt = Field(description="The ratio between the number of remote Tunnel IPs and Remote Inner IPs - (default: 1).", alias="RemoteTunnelToInnerIpCountRatio") + spi_base: StrictInt = Field(description="Security Parameter Index base value (default: 256).", alias="SpiBase") + spi_incr: StrictInt = Field(description="SPI increment per tunnel (default: 1).", alias="SpiIncr") + total_tunnel_count: StrictInt = Field(description="Total tunnel count: OuterIP.Count × RemoteTunnelIpCount (M×N).", alias="TotalTunnelCount") + id: StrictStr + __properties: ClassVar[List[str]] = ["MasterKey0", "MasterKey1", "PSPRangeName", "PspVersion", "RemoteInnerIpCount", "RemoteInnerIpIncr", "RemoteInnerIpStart", "RemoteTunnelIpCount", "RemoteTunnelIpIncr", "RemoteTunnelIpStart", "RemoteTunnelToInnerIpCountRatio", "SpiBase", "SpiIncr", "TotalTunnelCount", "id"] + + @field_validator('psp_range_name') + def psp_range_name_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|^[^\"\\]+$", value): + raise ValueError(r"must validate the regular expression /^$|^[^\"\\]+$/") + return value + + @field_validator('remote_inner_ip_start') + def remote_inner_ip_start_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)", value): + raise ValueError(r"must validate the regular expression /^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)/") + return value + + @field_validator('remote_tunnel_ip_start') + def remote_tunnel_ip_start_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)", value): + raise ValueError(r"must validate the regular expression /^$|(^(((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))|(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|(([0-9a-fA-F]{1,4}:){5,5}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}|([0-9a-fA-F]{1,4}:){1,4}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){2,2}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){3,3}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){4,4})|:(:[0-9a-fA-F]{1,4}){1,5}):((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$)/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PSPRange from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PSPRange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "MasterKey0": obj.get("MasterKey0"), + "MasterKey1": obj.get("MasterKey1"), + "PSPRangeName": obj.get("PSPRangeName"), + "PspVersion": obj.get("PspVersion"), + "RemoteInnerIpCount": obj.get("RemoteInnerIpCount"), + "RemoteInnerIpIncr": obj.get("RemoteInnerIpIncr"), + "RemoteInnerIpStart": obj.get("RemoteInnerIpStart"), + "RemoteTunnelIpCount": obj.get("RemoteTunnelIpCount"), + "RemoteTunnelIpIncr": obj.get("RemoteTunnelIpIncr"), + "RemoteTunnelIpStart": obj.get("RemoteTunnelIpStart"), + "RemoteTunnelToInnerIpCountRatio": obj.get("RemoteTunnelToInnerIpCountRatio"), + "SpiBase": obj.get("SpiBase"), + "SpiIncr": obj.get("SpiIncr"), + "TotalTunnelCount": obj.get("TotalTunnelCount"), + "id": obj.get("id") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/psp_stack.py b/cyperf/models/psp_stack.py new file mode 100644 index 0000000..ce5a225 --- /dev/null +++ b/cyperf/models/psp_stack.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from cyperf.models.api_link import APILink +from cyperf.models.ip_range import IPRange +from cyperf.models.psp_range import PSPRange +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class PSPStack(BaseModel): + """ + The PSP (PSP Security Protocol) stack for M×N tunnel mapping + """ # noqa: E501 + inner_ip_range: Optional[IPRange] = Field(default=None, alias="InnerIPRange") + outer_ip_range: Optional[IPRange] = Field(default=None, alias="OuterIPRange") + psp_range: Optional[PSPRange] = Field(default=None, alias="PSPRange") + psp_stack_name: Annotated[str, Field(strict=True)] = Field(alias="PSPStackName") + id: StrictStr + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["InnerIPRange", "OuterIPRange", "PSPRange", "PSPStackName", "id", "links"] + + @field_validator('psp_stack_name') + def psp_stack_name_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^$|^[^\"\\]+$", value): + raise ValueError(r"must validate the regular expression /^$|^[^\"\\]+$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PSPStack from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of inner_ip_range + if self.inner_ip_range: + _dict['InnerIPRange'] = self.inner_ip_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of outer_ip_range + if self.outer_ip_range: + _dict['OuterIPRange'] = self.outer_ip_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of psp_range + if self.psp_range: + _dict['PSPRange'] = self.psp_range.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PSPStack from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "InnerIPRange": IPRange.from_dict(obj["InnerIPRange"]) if obj.get("InnerIPRange") is not None else None, + "OuterIPRange": IPRange.from_dict(obj["OuterIPRange"]) if obj.get("OuterIPRange") is not None else None, + "PSPRange": PSPRange.from_dict(obj["PSPRange"]) if obj.get("PSPRange") is not None else None, + "PSPStackName": obj.get("PSPStackName"), + "id": obj.get("id"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/quic_profile.py b/cyperf/models/quic_profile.py index 4aaf820..4e4e1f3 100644 --- a/cyperf/models/quic_profile.py +++ b/cyperf/models/quic_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/quic_version.py b/cyperf/models/quic_version.py index 6ae4dbb..8f1e895 100644 --- a/cyperf/models/quic_version.py +++ b/cyperf/models/quic_version.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_auth_profiles200_response_one_of.py b/cyperf/models/reboot_compute_resources_operation.py similarity index 69% rename from cyperf/models/get_auth_profiles200_response_one_of.py rename to cyperf/models/reboot_compute_resources_operation.py index db0f7e3..738b5a1 100644 --- a/cyperf/models/get_auth_profiles200_response_one_of.py +++ b/cyperf/models/reboot_compute_resources_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,19 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt +from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.auth_profile import AuthProfile -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.compute_resources_by_controller import ComputeResourcesByController +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetAuthProfiles200ResponseOneOf(BaseModel): +class RebootComputeResourcesOperation(BaseModel): """ - GetAuthProfiles200ResponseOneOf + RebootComputeResourcesOperation """ # noqa: E501 - data: Optional[List[AuthProfile]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] + controllers: Optional[List[ComputeResourcesByController]] = Field(default=None, description="The controllers that the compute resources are part of.") + __properties: ClassVar[List[str]] = ["controllers"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +50,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetAuthProfiles200ResponseOneOf from a JSON string""" + """Create an instance of RebootComputeResourcesOperation from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,18 +71,18 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) + # override the default output from pydantic by calling `to_dict()` of each item in controllers (list) _items = [] - if self.data: - for _item in self.data: + if self.controllers: + for _item in self.controllers: if _item: _items.append(_item.to_dict()) - _dict['data'] = _items + _dict['controllers'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetAuthProfiles200ResponseOneOf from a dict""" + """Create an instance of RebootComputeResourcesOperation from a dict""" if obj is None: return None @@ -93,8 +92,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [AuthProfile.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") + "controllers": ( [ComputeResourcesByController.from_dict(_item) for _item in obj.get("controllers", [])] if obj.get("controllers") is not None else None) , "links": obj.get("links") }) diff --git a/cyperf/models/reboot_operation_input.py b/cyperf/models/reboot_operation_input.py index 82a8e65..7db264c 100644 --- a/cyperf/models/reboot_operation_input.py +++ b/cyperf/models/reboot_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/reboot_ports_operation.py b/cyperf/models/reboot_ports_operation.py index d6d49a2..a149a50 100644 --- a/cyperf/models/reboot_ports_operation.py +++ b/cyperf/models/reboot_ports_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/reference.py b/cyperf/models/reference.py index bb39ae6..16ccee9 100644 --- a/cyperf/models/reference.py +++ b/cyperf/models/reference.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/regex_match.py b/cyperf/models/regex_match.py index 4e01819..891aa97 100644 --- a/cyperf/models/regex_match.py +++ b/cyperf/models/regex_match.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/release_operation_input.py b/cyperf/models/release_operation_input.py index 934b5ad..605a95d 100644 --- a/cyperf/models/release_operation_input.py +++ b/cyperf/models/release_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/remote_access.py b/cyperf/models/remote_access.py index 13de408..8442163 100644 --- a/cyperf/models/remote_access.py +++ b/cyperf/models/remote_access.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/remote_subnet_config.py b/cyperf/models/remote_subnet_config.py index b9e55d1..6ad3651 100644 --- a/cyperf/models/remote_subnet_config.py +++ b/cyperf/models/remote_subnet_config.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -36,7 +36,8 @@ class RemoteSubnetConfig(BaseModel): prefix: StrictInt = Field(description="The length (in bits) of the subnet mask to be applied to all the addresses created in the range.", alias="Prefix") single_remote_subnet: StrictBool = Field(alias="SingleRemoteSubnet") start: Annotated[str, Field(strict=True)] = Field(description="The base address for enumerating all the local subnets in the range", alias="Start") - __properties: ClassVar[List[str]] = ["Automatic", "HostsIncrement", "HostsPrefix", "Increment", "Prefix", "SingleRemoteSubnet", "Start"] + wildcard_responder_traffic: StrictBool = Field(alias="WildcardResponderTraffic") + __properties: ClassVar[List[str]] = ["Automatic", "HostsIncrement", "HostsPrefix", "Increment", "Prefix", "SingleRemoteSubnet", "Start", "WildcardResponderTraffic"] @field_validator('hosts_increment') def hosts_increment_validate_regular_expression(cls, value): @@ -118,7 +119,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "Increment": obj.get("Increment"), "Prefix": obj.get("Prefix"), "SingleRemoteSubnet": obj.get("SingleRemoteSubnet"), - "Start": obj.get("Start") + "Start": obj.get("Start"), + "WildcardResponderTraffic": obj.get("WildcardResponderTraffic") , "links": obj.get("links") }) diff --git a/cyperf/models/rename_input.py b/cyperf/models/rename_input.py index 639a343..d5dd4d4 100644 --- a/cyperf/models/rename_input.py +++ b/cyperf/models/rename_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/reorder_action_input.py b/cyperf/models/reorder_action_input.py index fdae1f1..39c7184 100644 --- a/cyperf/models/reorder_action_input.py +++ b/cyperf/models/reorder_action_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/reorder_exchanges_input.py b/cyperf/models/reorder_exchanges_input.py index 70b8c41..259feb2 100644 --- a/cyperf/models/reorder_exchanges_input.py +++ b/cyperf/models/reorder_exchanges_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/replay_capture.py b/cyperf/models/replay_capture.py index 3af9a03..3e91dc3 100644 --- a/cyperf/models/replay_capture.py +++ b/cyperf/models/replay_capture.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/required_file_types.py b/cyperf/models/required_file_types.py index 14be112..d829284 100644 --- a/cyperf/models/required_file_types.py +++ b/cyperf/models/required_file_types.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/reserve_operation_input.py b/cyperf/models/reserve_operation_input.py index 0364b1b..b4a1048 100644 --- a/cyperf/models/reserve_operation_input.py +++ b/cyperf/models/reserve_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/result_file_metadata.py b/cyperf/models/result_file_metadata.py index 1a8ea37..75bebaf 100644 --- a/cyperf/models/result_file_metadata.py +++ b/cyperf/models/result_file_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/result_metadata.py b/cyperf/models/result_metadata.py index 294b5c2..07addaa 100644 --- a/cyperf/models/result_metadata.py +++ b/cyperf/models/result_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/results_group.py b/cyperf/models/results_group.py index a128e00..e40f924 100644 --- a/cyperf/models/results_group.py +++ b/cyperf/models/results_group.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/rtp_encryption_mode.py b/cyperf/models/rtp_encryption_mode.py index 07b395f..5d5e0b4 100644 --- a/cyperf/models/rtp_encryption_mode.py +++ b/cyperf/models/rtp_encryption_mode.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/rtp_profile.py b/cyperf/models/rtp_profile.py index 994ab59..9943355 100644 --- a/cyperf/models/rtp_profile.py +++ b/cyperf/models/rtp_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/rtp_profile_meta.py b/cyperf/models/rtp_profile_meta.py index f476a13..d3f0cf5 100644 --- a/cyperf/models/rtp_profile_meta.py +++ b/cyperf/models/rtp_profile_meta.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/save_config_operation.py b/cyperf/models/save_config_operation.py index 8f94e01..d8161dd 100644 --- a/cyperf/models/save_config_operation.py +++ b/cyperf/models/save_config_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/scenario.py b/cyperf/models/scenario.py index 3ecf696..bc5033e 100644 --- a/cyperf/models/scenario.py +++ b/cyperf/models/scenario.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/secondary_objective.py b/cyperf/models/secondary_objective.py index f6eddc0..f61cab3 100644 --- a/cyperf/models/secondary_objective.py +++ b/cyperf/models/secondary_objective.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/section.py b/cyperf/models/section.py new file mode 100644 index 0000000..a905262 --- /dev/null +++ b/cyperf/models/section.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.content_block import ContentBlock +from cyperf.models.text_segment import TextSegment +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class Section(BaseModel): + """ + Section + """ # noqa: E501 + content: Optional[List[ContentBlock]] = Field(default=None, description="The content blocks that belong to this section.") + title: Optional[List[TextSegment]] = Field(default=None, description="The title of the section, as a rich text.") + __properties: ClassVar[List[str]] = ["content", "title"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Section from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in content (list) + _items = [] + if self.content: + for _item in self.content: + if _item: + _items.append(_item.to_dict()) + _dict['content'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in title (list) + _items = [] + if self.title: + for _item in self.title: + if _item: + _items.append(_item.to_dict()) + _dict['title'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Section from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "content": ( [ContentBlock.from_dict(_item) for _item in obj.get("content", [])] if obj.get("content") is not None else None), + "title": ( [TextSegment.from_dict(_item) for _item in obj.get("title", [])] if obj.get("title") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/segment_type.py b/cyperf/models/segment_type.py index c74ddf6..5f12f0c 100644 --- a/cyperf/models/segment_type.py +++ b/cyperf/models/segment_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/selected_env.py b/cyperf/models/selected_env.py index 5ef9db3..91f6565 100644 --- a/cyperf/models/selected_env.py +++ b/cyperf/models/selected_env.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/sequence_data_types.py b/cyperf/models/sequence_data_types.py new file mode 100644 index 0000000..a4a7a80 --- /dev/null +++ b/cyperf/models/sequence_data_types.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SequenceDataTypes(str, Enum): + """ + SequenceDataTypes + """ + + """ + allowed enum values + """ + IP_SEQ = 'IP_SEQ' + MAC_SEQ = 'MAC_SEQ' + INT32_SEQ = 'INT32_SEQ' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SequenceDataTypes from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/sequence_value.py b/cyperf/models/sequence_value.py new file mode 100644 index 0000000..c54d903 --- /dev/null +++ b/cyperf/models/sequence_value.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.custom_sequence import CustomSequence +from cyperf.models.sequence_data_types import SequenceDataTypes +from cyperf.models.sequence_value_types import SequenceValueTypes +from cyperf.models.simple_sequence_value import SimpleSequenceValue +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class SequenceValue(BaseModel): + """ + SequenceValue + """ # noqa: E501 + custom: Optional[CustomSequence] = Field(default=None, alias="Custom") + data_type: Optional[SequenceDataTypes] = Field(default=None, alias="DataType") + increment: Optional[SimpleSequenceValue] = Field(default=None, alias="Increment") + preview: Optional[List[StrictStr]] = Field(default=None, alias="Preview") + sequence_type: Optional[SequenceValueTypes] = Field(default=None, alias="SequenceType") + id: Optional[StrictStr] = None + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["Custom", "DataType", "Increment", "Preview", "SequenceType", "id", "links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SequenceValue from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of custom + if self.custom: + _dict['Custom'] = self.custom.to_dict() + # override the default output from pydantic by calling `to_dict()` of increment + if self.increment: + _dict['Increment'] = self.increment.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SequenceValue from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Custom": CustomSequence.from_dict(obj["Custom"]) if obj.get("Custom") is not None else None, + "DataType": obj.get("DataType"), + "Increment": SimpleSequenceValue.from_dict(obj["Increment"]) if obj.get("Increment") is not None else None, + "Preview": obj.get("Preview") if obj.get("Preview") is not None else [], + "SequenceType": obj.get("SequenceType"), + "id": obj.get("id"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/sequence_value_types.py b/cyperf/models/sequence_value_types.py new file mode 100644 index 0000000..35d11f7 --- /dev/null +++ b/cyperf/models/sequence_value_types.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SequenceValueTypes(str, Enum): + """ + SequenceValueTypes + """ + + """ + allowed enum values + """ + INCREMENT = 'INCREMENT' + CUSTOM = 'CUSTOM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SequenceValueTypes from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/session.py b/cyperf/models/session.py index 6632afc..f31fadb 100644 --- a/cyperf/models/session.py +++ b/cyperf/models/session.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/session_reuse_method_tls12.py b/cyperf/models/session_reuse_method_tls12.py index 910f53f..c6cdebf 100644 --- a/cyperf/models/session_reuse_method_tls12.py +++ b/cyperf/models/session_reuse_method_tls12.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -21,7 +21,7 @@ class SessionReuseMethodTLS12(str, Enum): """ - The session reuse method. Must be one of: DISABLE, SESSION-TICKET or SESSION-ID (default: DISABLE). + TLS 1.2 session reuse method. Must be one of: DISABLE, SESSION-TICKET, SESSION-ID (default: DISABLE). """ """ diff --git a/cyperf/models/session_reuse_method_tls13.py b/cyperf/models/session_reuse_method_tls13.py index aea72e3..4b220f4 100644 --- a/cyperf/models/session_reuse_method_tls13.py +++ b/cyperf/models/session_reuse_method_tls13.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -21,13 +21,14 @@ class SessionReuseMethodTLS13(str, Enum): """ - The session reuse method. Must be DISABLE (default: DISABLE). + TLS 1.3 session reuse method. Must be one of: DISABLE, PSK_ECDHE_REUSE (default: DISABLE). """ """ allowed enum values """ DISABLE = 'DISABLE' + PSK_ECDHE_REUSE = 'PSK_ECDHE_REUSE' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/cyperf/models/set_aggregation_mode_operation.py b/cyperf/models/set_aggregation_mode_operation.py index ddf817a..17e262c 100644 --- a/cyperf/models/set_aggregation_mode_operation.py +++ b/cyperf/models/set_aggregation_mode_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/set_controller_app_operation.py b/cyperf/models/set_controller_app_operation.py index c98904d..bca36c3 100644 --- a/cyperf/models/set_controller_app_operation.py +++ b/cyperf/models/set_controller_app_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -30,8 +30,8 @@ class SetControllerAppOperation(BaseModel): """ # noqa: E501 app_id: Optional[StrictStr] = Field(default=None, description="The id of the app to activate on the controllers.", alias="appId") controllers: Optional[List[StrictStr]] = Field(default=None, description="The controller ids for which to activate the app.") - force: Optional[StrictBool] = Field(default=None, description="Whether the ownership information will be cleared or not.") - __properties: ClassVar[List[str]] = ["appId", "controllers", "force"] + force_clear_ownership: Optional[StrictBool] = Field(default=None, description="Whether the ownership information will be cleared or not.", alias="forceClearOwnership") + __properties: ClassVar[List[str]] = ["appId", "controllers", "forceClearOwnership"] model_config = ConfigDict( populate_by_name=True, @@ -88,7 +88,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "appId": obj.get("appId"), "controllers": obj.get("controllers") if obj.get("controllers") is not None else [], - "force": obj.get("force") + "forceClearOwnership": obj.get("forceClearOwnership") , "links": obj.get("links") }) diff --git a/cyperf/models/set_dpdk_mode_operation_input.py b/cyperf/models/set_dpdk_mode_operation_input.py index f823c87..26d1617 100644 --- a/cyperf/models/set_dpdk_mode_operation_input.py +++ b/cyperf/models/set_dpdk_mode_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/set_fan_out_mode_operation.py b/cyperf/models/set_fan_out_mode_operation.py new file mode 100644 index 0000000..ed01a4e --- /dev/null +++ b/cyperf/models/set_fan_out_mode_operation.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.front_panels_by_controller import FrontPanelsByController +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class SetFanOutModeOperation(BaseModel): + """ + SetFanOutModeOperation + """ # noqa: E501 + controllers: Optional[List[FrontPanelsByController]] = Field(default=None, description="The controllers that the front panels are part of.") + fan_out_mode: Optional[StrictStr] = Field(default=None, description="The desired fanOut mode.", alias="fanOutMode") + force_clear_ownership: Optional[StrictBool] = Field(default=None, description="Whether the ownership information of reserved ports will be cleared before switching the fanOut mode.", alias="forceClearOwnership") + __properties: ClassVar[List[str]] = ["controllers", "fanOutMode", "forceClearOwnership"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SetFanOutModeOperation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in controllers (list) + _items = [] + if self.controllers: + for _item in self.controllers: + if _item: + _items.append(_item.to_dict()) + _dict['controllers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SetFanOutModeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "controllers": ( [FrontPanelsByController.from_dict(_item) for _item in obj.get("controllers", [])] if obj.get("controllers") is not None else None), + "fanOutMode": obj.get("fanOutMode"), + "forceClearOwnership": obj.get("forceClearOwnership") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/change_link_state_operation.py b/cyperf/models/set_front_panel_ports_link_state_operation.py similarity index 66% rename from cyperf/models/change_link_state_operation.py rename to cyperf/models/set_front_panel_ports_link_state_operation.py index 71ef69e..70649b3 100644 --- a/cyperf/models/change_link_state_operation.py +++ b/cyperf/models/set_front_panel_ports_link_state_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,21 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from typing import Optional, Set, Union, GenericAlias, get_args +from cyperf.models.front_panel_ports_by_controller import FrontPanelPortsByController +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class ChangeLinkStateOperation(BaseModel): +class SetFrontPanelPortsLinkStateOperation(BaseModel): """ - ChangeLinkStateOperation + SetFrontPanelPortsLinkStateOperation """ # noqa: E501 + controllers: Optional[List[FrontPanelPortsByController]] = Field(default=None, description="The controllers that the front panel ports are part of.") link: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The desired link state.") - ports: Optional[List[StrictStr]] = Field(default=None, description="The port ids for which to change the link state.") - __properties: ClassVar[List[str]] = ["link", "ports"] + __properties: ClassVar[List[str]] = ["controllers", "link"] @field_validator('link') def link_validate_regular_expression(cls, value): @@ -61,7 +62,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ChangeLinkStateOperation from a JSON string""" + """Create an instance of SetFrontPanelPortsLinkStateOperation from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -82,11 +83,18 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of each item in controllers (list) + _items = [] + if self.controllers: + for _item in self.controllers: + if _item: + _items.append(_item.to_dict()) + _dict['controllers'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ChangeLinkStateOperation from a dict""" + """Create an instance of SetFrontPanelPortsLinkStateOperation from a dict""" if obj is None: return None @@ -96,8 +104,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "link": obj.get("link"), - "ports": obj.get("ports") + "controllers": ( [FrontPanelPortsByController.from_dict(_item) for _item in obj.get("controllers", [])] if obj.get("controllers") is not None else None), + "link": obj.get("link") , "links": obj.get("links") }) diff --git a/cyperf/models/set_nodes_app_operation.py b/cyperf/models/set_nodes_app_operation.py index 7975d63..5712dad 100644 --- a/cyperf/models/set_nodes_app_operation.py +++ b/cyperf/models/set_nodes_app_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -31,8 +31,8 @@ class SetNodesAppOperation(BaseModel): """ # noqa: E501 app_id: Optional[StrictStr] = Field(default=None, description="The id of the app to activate on the compute nodes.", alias="appId") controllers: Optional[List[NodesByController]] = Field(default=None, description="The controllers that the compute nodes are part of.") - force: Optional[StrictBool] = Field(default=None, description="Whether the ownership information will be cleared or not.") - __properties: ClassVar[List[str]] = ["appId", "controllers", "force"] + force_clear_ownership: Optional[StrictBool] = Field(default=None, description="Whether the ownership information will be cleared or not.", alias="forceClearOwnership") + __properties: ClassVar[List[str]] = ["appId", "controllers", "forceClearOwnership"] model_config = ConfigDict( populate_by_name=True, @@ -96,7 +96,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "appId": obj.get("appId"), "controllers": ( [NodesByController.from_dict(_item) for _item in obj.get("controllers", [])] if obj.get("controllers") is not None else None), - "force": obj.get("force") + "forceClearOwnership": obj.get("forceClearOwnership") , "links": obj.get("links") }) diff --git a/cyperf/models/set_ntp_operation_input.py b/cyperf/models/set_ntp_operation_input.py index 093bd3e..a3f9597 100644 --- a/cyperf/models/set_ntp_operation_input.py +++ b/cyperf/models/set_ntp_operation_input.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/set_link_state_operation.py b/cyperf/models/set_ports_link_state_operation.py similarity index 92% rename from cyperf/models/set_link_state_operation.py rename to cyperf/models/set_ports_link_state_operation.py index f5eaa24..369f250 100644 --- a/cyperf/models/set_link_state_operation.py +++ b/cyperf/models/set_ports_link_state_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -26,9 +26,9 @@ from typing_extensions import Self from pydantic import Field, PrivateAttr -class SetLinkStateOperation(BaseModel): +class SetPortsLinkStateOperation(BaseModel): """ - SetLinkStateOperation + SetPortsLinkStateOperation """ # noqa: E501 controllers: Optional[List[PortsByController]] = Field(default=None, description="The controllers that the ports are part of.") link: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="The desired link state.") @@ -62,7 +62,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SetLinkStateOperation from a JSON string""" + """Create an instance of SetPortsLinkStateOperation from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -94,7 +94,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SetLinkStateOperation from a dict""" + """Create an instance of SetPortsLinkStateOperation from a dict""" if obj is None: return None diff --git a/cyperf/models/simple_sequence_value.py b/cyperf/models/simple_sequence_value.py new file mode 100644 index 0000000..4c7e8ba --- /dev/null +++ b/cyperf/models/simple_sequence_value.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.single_value import SingleValue +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class SimpleSequenceValue(BaseModel): + """ + SimpleSequenceValue + """ # noqa: E501 + start: Optional[SingleValue] = Field(default=None, alias="Start") + step: Optional[SingleValue] = Field(default=None, alias="Step") + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["Start", "Step", "links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SimpleSequenceValue from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of start + if self.start: + _dict['Start'] = self.start.to_dict() + # override the default output from pydantic by calling `to_dict()` of step + if self.step: + _dict['Step'] = self.step.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimpleSequenceValue from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Start": SingleValue.from_dict(obj["Start"]) if obj.get("Start") is not None else None, + "Step": SingleValue.from_dict(obj["Step"]) if obj.get("Step") is not None else None, + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/simulated_id_p.py b/cyperf/models/simulated_id_p.py index 52f7ddf..4fd2dda 100644 --- a/cyperf/models/simulated_id_p.py +++ b/cyperf/models/simulated_id_p.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/change_aggregation_mode_operation.py b/cyperf/models/single_value.py similarity index 65% rename from cyperf/models/change_aggregation_mode_operation.py rename to cyperf/models/single_value.py index 9a62ec8..3694232 100644 --- a/cyperf/models/change_aggregation_mode_operation.py +++ b/cyperf/models/single_value.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,21 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from typing import Optional, Set, Union, GenericAlias, get_args +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class ChangeAggregationModeOperation(BaseModel): +class SingleValue(BaseModel): """ - ChangeAggregationModeOperation + SingleValue """ # noqa: E501 - aggregated: Optional[StrictBool] = Field(default=None, description="The desired aggregation mode.") - compute_nodes: Optional[List[StrictStr]] = Field(default=None, description="The compute-node ids for which to change the aggregation mode.", alias="compute-nodes") - controller: Optional[StrictStr] = Field(default=None, description="The id of the controller that is linked with the compute-nodes.") - __properties: ClassVar[List[str]] = ["aggregated", "compute-nodes", "controller"] + bool_value: Optional[StrictBool] = Field(default=None, alias="BoolValue") + float_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="FloatValue") + integer_value: Optional[StrictInt] = Field(default=None, alias="IntegerValue") + string_value: Optional[StrictStr] = Field(default=None, alias="StringValue") + __properties: ClassVar[List[str]] = ["BoolValue", "FloatValue", "IntegerValue", "StringValue"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +52,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ChangeAggregationModeOperation from a JSON string""" + """Create an instance of SingleValue from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,7 +77,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ChangeAggregationModeOperation from a dict""" + """Create an instance of SingleValue from a dict""" if obj is None: return None @@ -86,9 +87,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "aggregated": obj.get("aggregated"), - "compute-nodes": obj.get("compute-nodes"), - "controller": obj.get("controller") + "BoolValue": obj.get("BoolValue"), + "FloatValue": obj.get("FloatValue"), + "IntegerValue": obj.get("IntegerValue"), + "StringValue": obj.get("StringValue") , "links": obj.get("links") }) diff --git a/cyperf/models/snapshot.py b/cyperf/models/snapshot.py index 7dfd64c..e53793f 100644 --- a/cyperf/models/snapshot.py +++ b/cyperf/models/snapshot.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/snowflake_exporter.py b/cyperf/models/snowflake_exporter.py index f4b9cd8..8cd21da 100644 --- a/cyperf/models/snowflake_exporter.py +++ b/cyperf/models/snowflake_exporter.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/sort_body_field.py b/cyperf/models/sort_body_field.py index 95918cd..5557c86 100644 --- a/cyperf/models/sort_body_field.py +++ b/cyperf/models/sort_body_field.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/specific_objective.py b/cyperf/models/specific_objective.py index f4fcf17..acc5936 100644 --- a/cyperf/models/specific_objective.py +++ b/cyperf/models/specific_objective.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/start_agents_batch_delete_request_inner.py b/cyperf/models/start_agents_batch_delete_request_inner.py index 08bc785..7b29fe5 100644 --- a/cyperf/models/start_agents_batch_delete_request_inner.py +++ b/cyperf/models/start_agents_batch_delete_request_inner.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/stateless_stream.py b/cyperf/models/stateless_stream.py index c95337b..08ef40f 100644 --- a/cyperf/models/stateless_stream.py +++ b/cyperf/models/stateless_stream.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/static_arp_entry.py b/cyperf/models/static_arp_entry.py index eb05a13..5efbd45 100644 --- a/cyperf/models/static_arp_entry.py +++ b/cyperf/models/static_arp_entry.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/stats_dashboard.py b/cyperf/models/stats_dashboard.py new file mode 100644 index 0000000..c597570 --- /dev/null +++ b/cyperf/models/stats_dashboard.py @@ -0,0 +1,145 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.change_event import ChangeEvent +from cyperf.models.metrics_list import MetricsList +from cyperf.models.panel import Panel +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class StatsDashboard(BaseModel): + """ + StatsDashboard + """ # noqa: E501 + changes: Optional[List[ChangeEvent]] = Field(default=None, description="The changes hook") + group_id: Optional[StrictStr] = Field(default=None, description="The group identifier of the dashboard", alias="groupId") + id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the dashboard") + links: Optional[List[APILink]] = None + metrics: Optional[MetricsList] = None + name: Optional[StrictStr] = Field(default=None, description="The name of the dashboard") + owner: Optional[StrictStr] = Field(default=None, description="The friendly display name of the entity that created the dashboard") + owner_id: Optional[StrictStr] = Field(default=None, description="The unique identifier of the entity that created the dashboard", alias="ownerId") + panels: Optional[List[Panel]] = Field(default=None, description="The list of panels in the dashboard") + read_only: Optional[StrictBool] = Field(default=None, description="Is a read only dashboard", alias="readOnly") + type: Optional[StrictStr] = Field(default=None, description="The application type of the dashboard") + __properties: ClassVar[List[str]] = ["changes", "groupId", "id", "links", "metrics", "name", "owner", "ownerId", "panels", "readOnly", "type"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StatsDashboard from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "owner", + "owner_id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in changes (list) + _items = [] + if self.changes: + for _item in self.changes: + if _item: + _items.append(_item.to_dict()) + _dict['changes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + # override the default output from pydantic by calling `to_dict()` of metrics + if self.metrics: + _dict['metrics'] = self.metrics.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in panels (list) + _items = [] + if self.panels: + for _item in self.panels: + if _item: + _items.append(_item.to_dict()) + _dict['panels'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StatsDashboard from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "changes": ( [ChangeEvent.from_dict(_item) for _item in obj.get("changes", [])] if obj.get("changes") is not None else None), + "groupId": obj.get("groupId"), + "id": obj.get("id"), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), + "metrics": MetricsList.from_dict(obj["metrics"]) if obj.get("metrics") is not None else None, + "name": obj.get("name"), + "owner": obj.get("owner"), + "ownerId": obj.get("ownerId"), + "panels": ( [Panel.from_dict(_item) for _item in obj.get("panels", [])] if obj.get("panels") is not None else None), + "readOnly": obj.get("readOnly"), + "type": obj.get("type") + , + "links": obj.get("links") + }) + return _obj + + diff --git a/cyperf/models/stats_result.py b/cyperf/models/stats_result.py index 28ceddf..dad7c15 100644 --- a/cyperf/models/stats_result.py +++ b/cyperf/models/stats_result.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/steady_segment.py b/cyperf/models/steady_segment.py index eefb510..f4513ad 100644 --- a/cyperf/models/steady_segment.py +++ b/cyperf/models/steady_segment.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/step_segment.py b/cyperf/models/step_segment.py index dc5203b..d3c2939 100644 --- a/cyperf/models/step_segment.py +++ b/cyperf/models/step_segment.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/stream_direction.py b/cyperf/models/stream_direction.py index 7ac22b4..1b88986 100644 --- a/cyperf/models/stream_direction.py +++ b/cyperf/models/stream_direction.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/stream_payload_type.py b/cyperf/models/stream_payload_type.py index a25e924..4f4cab6 100644 --- a/cyperf/models/stream_payload_type.py +++ b/cyperf/models/stream_payload_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/stream_profile.py b/cyperf/models/stream_profile.py index 5c13d58..0d9339a 100644 --- a/cyperf/models/stream_profile.py +++ b/cyperf/models/stream_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.stream_payload_type import StreamPayloadType from typing import Optional, Set, Union @@ -35,7 +35,8 @@ class StreamProfile(BaseModel): total_estimated_throughput: Optional[StrictStr] = Field(default=None, alias="totalEstimatedThroughput") total_estimated_throughput_per_simulated_user: Optional[StrictStr] = Field(default=None, alias="totalEstimatedThroughputPerSimulatedUser") unique_pool_size: Optional[StrictInt] = Field(default=None, alias="uniquePoolSize") - __properties: ClassVar[List[str]] = ["packetRate", "payloadSize", "payloadType", "totalEstimatedThroughput", "totalEstimatedThroughputPerSimulatedUser", "uniquePoolSize"] + unrestricted_packet_rate: Optional[StrictBool] = Field(default=None, alias="unrestrictedPacketRate") + __properties: ClassVar[List[str]] = ["packetRate", "payloadSize", "payloadType", "totalEstimatedThroughput", "totalEstimatedThroughputPerSimulatedUser", "uniquePoolSize", "unrestrictedPacketRate"] model_config = ConfigDict( populate_by_name=True, @@ -95,7 +96,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "payloadType": obj.get("payloadType"), "totalEstimatedThroughput": obj.get("totalEstimatedThroughput"), "totalEstimatedThroughputPerSimulatedUser": obj.get("totalEstimatedThroughputPerSimulatedUser"), - "uniquePoolSize": obj.get("uniquePoolSize") + "uniquePoolSize": obj.get("uniquePoolSize"), + "unrestrictedPacketRate": obj.get("unrestrictedPacketRate") , "links": obj.get("links") }) diff --git a/cyperf/models/sub_step.py b/cyperf/models/sub_step.py new file mode 100644 index 0000000..88f47b2 --- /dev/null +++ b/cyperf/models/sub_step.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from cyperf.models.api_link import APILink +from cyperf.models.single_value import SingleValue +from typing import Optional, Set, Union +from typing_extensions import Self +from pydantic import Field, PrivateAttr + +class SubStep(BaseModel): + """ + SubStep + """ # noqa: E501 + count: StrictInt = Field(alias="Count") + step: Optional[SingleValue] = Field(default=None, alias="Step") + sub_steps: List[SubStep] = Field(alias="SubSteps") + links: Optional[List[APILink]] = None + __properties: ClassVar[List[str]] = ["Count", "Step", "SubSteps", "links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubStep from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of step + if self.step: + _dict['Step'] = self.step.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in sub_steps (list) + _items = [] + if self.sub_steps: + for _item in self.sub_steps: + if _item: + _items.append(_item.to_dict()) + _dict['SubSteps'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubStep from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + _obj = cls.model_validate(obj) +# _obj.api_client = client + return _obj + + _obj = cls.model_validate({ + "Count": obj.get("Count"), + "Step": SingleValue.from_dict(obj["Step"]) if obj.get("Step") is not None else None, + "SubSteps": ( [SubStep.from_dict(_item) for _item in obj.get("SubSteps", [])] if obj.get("SubSteps") is not None else None), + "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) + , + "links": obj.get("links") + }) + return _obj + +# TODO: Rewrite to not use raise_errors +SubStep.model_rebuild(raise_errors=False) + diff --git a/cyperf/models/supported_group_tls13.py b/cyperf/models/supported_group_tls13.py index 6988337..3a42478 100644 --- a/cyperf/models/supported_group_tls13.py +++ b/cyperf/models/supported_group_tls13.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/system_info.py b/cyperf/models/system_info.py index fa85792..b80fc15 100644 --- a/cyperf/models/system_info.py +++ b/cyperf/models/system_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/tcp_profile.py b/cyperf/models/tcp_profile.py index b25d683..7304a0f 100644 --- a/cyperf/models/tcp_profile.py +++ b/cyperf/models/tcp_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/test_info.py b/cyperf/models/test_info.py index 0a05bfd..2cb00e5 100644 --- a/cyperf/models/test_info.py +++ b/cyperf/models/test_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -21,7 +21,6 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.dashboard import Dashboard -from cyperf.models.test_usage import TestUsage from typing import Optional, Set, Union from typing_extensions import Self from pydantic import Field, PrivateAttr @@ -41,8 +40,8 @@ class TestInfo(BaseModel): test_initialized: Optional[StrictInt] = Field(default=None, description="A Unix timestamp that indicates when the last test was initialized", alias="testInitialized") test_started: Optional[StrictInt] = Field(default=None, description="A Unix timestamp that indicates when the test was started", alias="testStarted") test_stopped: Optional[StrictInt] = Field(default=None, description="A Unix timestamp that indicates when the test was stopped. May be null if the test is still running.", alias="testStopped") - test_usage: Optional[TestUsage] = Field(default=None, alias="testUsage") - __properties: ClassVar[List[str]] = ["dashboards", "defaultDashboardIndex", "defaultPollingInterval", "status", "testDetails", "testDuration", "testElapsed", "testId", "testInitialized", "testStarted", "testStopped", "testUsage"] + used_licenses: Optional[Dict[str, StrictInt]] = Field(default=None, description="Feature types used by the current test and their respective counts", alias="usedLicenses") + __properties: ClassVar[List[str]] = ["dashboards", "defaultDashboardIndex", "defaultPollingInterval", "status", "testDetails", "testDuration", "testElapsed", "testId", "testInitialized", "testStarted", "testStopped", "usedLicenses"] model_config = ConfigDict( populate_by_name=True, @@ -92,9 +91,6 @@ def to_dict(self) -> Dict[str, Any]: if _item: _items.append(_item.to_dict()) _dict['dashboards'] = _items - # override the default output from pydantic by calling `to_dict()` of test_usage - if self.test_usage: - _dict['testUsage'] = self.test_usage.to_dict() return _dict @classmethod @@ -120,7 +116,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "testInitialized": obj.get("testInitialized"), "testStarted": obj.get("testStarted"), "testStopped": obj.get("testStopped"), - "testUsage": TestUsage.from_dict(obj["testUsage"]) if obj.get("testUsage") is not None else None + "usedLicenses": obj.get("usedLicenses") , "links": obj.get("links") }) diff --git a/cyperf/models/test_state_changed_operation.py b/cyperf/models/test_state_changed_operation.py index a8a3cb6..4317b5a 100644 --- a/cyperf/models/test_state_changed_operation.py +++ b/cyperf/models/test_state_changed_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/get_files200_response_one_of.py b/cyperf/models/text_segment.py similarity index 64% rename from cyperf/models/get_files200_response_one_of.py rename to cyperf/models/text_segment.py index 2713068..eaf0cce 100644 --- a/cyperf/models/get_files200_response_one_of.py +++ b/cyperf/models/text_segment.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -18,20 +18,22 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from cyperf.models.result_file_metadata import ResultFileMetadata -from typing import Optional, Set, Union, GenericAlias, get_args +from typing import Optional, Set, Union from typing_extensions import Self -from pydantic import Field +from pydantic import Field, PrivateAttr -class GetFiles200ResponseOneOf(BaseModel): +class TextSegment(BaseModel): """ - GetFiles200ResponseOneOf + TextSegment """ # noqa: E501 - data: Optional[List[ResultFileMetadata]] = None - total_count: Optional[StrictInt] = Field(default=None, alias="totalCount") - __properties: ClassVar[List[str]] = ["data", "totalCount"] + bold: Optional[StrictBool] = Field(default=None, description="Whether the text is bold.") + color: Optional[StrictStr] = Field(default=None, description="The color of the text.") + css_class: Optional[StrictStr] = Field(default=None, description="A CSS class to apply to the text segment.", alias="cssClass") + italic: Optional[StrictBool] = Field(default=None, description="Whether the text is italic.") + text: Optional[StrictStr] = Field(default=None, description="The text content of the segment.") + __properties: ClassVar[List[str]] = ["bold", "color", "cssClass", "italic", "text"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +53,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GetFiles200ResponseOneOf from a JSON string""" + """Create an instance of TextSegment from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,18 +74,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in data (list) - _items = [] - if self.data: - for _item in self.data: - if _item: - _items.append(_item.to_dict()) - _dict['data'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GetFiles200ResponseOneOf from a dict""" + """Create an instance of TextSegment from a dict""" if obj is None: return None @@ -93,8 +88,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return _obj _obj = cls.model_validate({ - "data": [ResultFileMetadata.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, - "totalCount": obj.get("totalCount") + "bold": obj.get("bold"), + "color": obj.get("color"), + "cssClass": obj.get("cssClass"), + "italic": obj.get("italic"), + "text": obj.get("text") , "links": obj.get("links") }) diff --git a/cyperf/models/time_value.py b/cyperf/models/time_value.py index a9ce3ed..83f6f8e 100644 --- a/cyperf/models/time_value.py +++ b/cyperf/models/time_value.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/timeline_segment.py b/cyperf/models/timeline_segment.py index 5fec8ef..f9e7332 100644 --- a/cyperf/models/timeline_segment.py +++ b/cyperf/models/timeline_segment.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/timeline_segment_base.py b/cyperf/models/timeline_segment_base.py index 5ab29b1..fbf7bfb 100644 --- a/cyperf/models/timeline_segment_base.py +++ b/cyperf/models/timeline_segment_base.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/timeline_segment_union.py b/cyperf/models/timeline_segment_union.py index 9783cd2..5b2d323 100644 --- a/cyperf/models/timeline_segment_union.py +++ b/cyperf/models/timeline_segment_union.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/timers.py b/cyperf/models/timers.py index 39f8da6..ef1a481 100644 --- a/cyperf/models/timers.py +++ b/cyperf/models/timers.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/tls_profile.py b/cyperf/models/tls_profile.py index 7e16c99..d1a0099 100644 --- a/cyperf/models/tls_profile.py +++ b/cyperf/models/tls_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -24,9 +24,12 @@ from cyperf.models.cert_config import CertConfig from cyperf.models.cipher_tls12 import CipherTLS12 from cyperf.models.cipher_tls13 import CipherTLS13 +from cyperf.models.classical_signature_algorithm_tls13 import ClassicalSignatureAlgorithmTLS13 +from cyperf.models.composite_pqc_signature_algorithm_tls13 import CompositePqcSignatureAlgorithmTLS13 from cyperf.models.conflict import Conflict from cyperf.models.group_tls13 import GroupTLS13 from cyperf.models.params import Params +from cyperf.models.pqc_signature_algorithm_tls13 import PqcSignatureAlgorithmTLS13 from cyperf.models.session_reuse_method_tls12 import SessionReuseMethodTLS12 from cyperf.models.session_reuse_method_tls13 import SessionReuseMethodTLS13 from cyperf.models.supported_group_tls13 import SupportedGroupTLS13 @@ -44,7 +47,10 @@ class TLSProfile(BaseModel): cipher13: Optional[CipherTLS13] = None ciphers12: Optional[List[CipherTLS12]] = None ciphers13: Optional[List[CipherTLS13]] = None + classical_signature_algorithms13: Optional[List[ClassicalSignatureAlgorithmTLS13]] = Field(default=None, alias="classicalSignatureAlgorithms13") + composite_pqc_signature_algorithms13: Optional[List[CompositePqcSignatureAlgorithmTLS13]] = Field(default=None, alias="compositePqcSignatureAlgorithms13") dh_file: Optional[Params] = Field(default=None, alias="dhFile") + early_data_enabled: Optional[StrictBool] = Field(default=None, description="If true, TLS 1.3 early data will be enabled.", alias="earlyDataEnabled") get_tls_conflicts: Optional[List[Union[StrictBytes, StrictStr]]] = Field(default=None, alias="get-tls-conflicts") _get_tls_conflicts_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,GetTLSConflicts" }) groups13: Optional[List[GroupTLS13]] = None @@ -53,11 +59,14 @@ class TLSProfile(BaseModel): key_file_password: Optional[StrictStr] = Field(default=None, description="The key file password of the TLS profile.", alias="keyFilePassword") links: Optional[List[APILink]] = None middle_box_enabled: Optional[StrictBool] = Field(default=None, description="If true, the middle box compatibility will be enabled", alias="middleBoxEnabled") + pqc_signature_algorithms13: Optional[List[PqcSignatureAlgorithmTLS13]] = Field(default=None, alias="pqcSignatureAlgorithms13") profile_id: StrictStr = Field(description="The ID of the TLS profile (default: TLSProfile).", alias="profileId") resolve_tls_conflicts: Optional[List[Conflict]] = Field(default=None, alias="resolve-tls-conflicts") _resolve_tls_conflicts_json_schema_extra: dict = PrivateAttr(default={"x-operation": "-,ResolveTLSConflicts" }) send_close_notify: Optional[StrictBool] = Field(default=None, description="If true, a TLS close-notify alert will be sent while closing the TLS session", alias="sendCloseNotify") - session_reuse_count: Optional[StrictInt] = Field(default=None, alias="sessionReuseCount") + session_reuse_count: Optional[StrictInt] = Field(default=None, description="Deprecated: retained for backward compatibility. Represents the TLS 1.2 session reuse count - the number of times a TLS 1.2 client can reuse a previously established session before performing a full handshake (a value of 0 disables session reuse). Use sessionReuseCount12 instead.", alias="sessionReuseCount") + session_reuse_count12: Optional[StrictInt] = Field(default=None, description="The number of times a TLS 1.2 client can reuse a previously established session before performing a full handshake ( a value of 0 disables session reuse).", alias="sessionReuseCount12") + session_reuse_count13: Optional[StrictInt] = Field(default=None, description="The number of times a TLS 1.3 client can reuse a previously established session before performing a full handshake ( a value of 0 disables session reuse).", alias="sessionReuseCount13") session_reuse_method: Optional[SessionReuseMethodTLS12] = Field(default=None, alias="sessionReuseMethod") session_reuse_method12: Optional[SessionReuseMethodTLS12] = Field(default=None, alias="sessionReuseMethod12") session_reuse_method13: Optional[SessionReuseMethodTLS13] = Field(default=None, alias="sessionReuseMethod13") @@ -66,9 +75,10 @@ class TLSProfile(BaseModel): supported_groups13: Optional[List[SupportedGroupTLS13]] = Field(default=None, alias="supportedGroups13") tls12_enabled: StrictBool = Field(alias="tls12Enabled") tls13_enabled: Optional[StrictBool] = Field(default=None, alias="tls13Enabled") + use_default_signature_algorithms: Optional[StrictBool] = Field(default=None, description="If true, default signature algorithms will be used.", alias="useDefaultSignatureAlgorithms") use_tls_profile: Optional[StrictBool] = Field(default=None, description="When disabled, the connection is not TLS secured (default: true).", alias="useTlsProfile") version: StrictStr = Field(description="The version of the TLS profile (default: NONE). Must be one of: NONE or TLSv1.2 or TLSv1.3.") - __properties: ClassVar[List[str]] = ["certificateFile", "cipher", "cipher12", "cipher13", "ciphers12", "ciphers13", "dhFile", "get-tls-conflicts", "groups13", "immediateClose", "keyFile", "keyFilePassword", "links", "middleBoxEnabled", "profileId", "resolve-tls-conflicts", "sendCloseNotify", "sessionReuseCount", "sessionReuseMethod", "sessionReuseMethod12", "sessionReuseMethod13", "sniCertConfigs", "sniEnabled", "supportedGroups13", "tls12Enabled", "tls13Enabled", "useTlsProfile", "version"] + __properties: ClassVar[List[str]] = ["certificateFile", "cipher", "cipher12", "cipher13", "ciphers12", "ciphers13", "classicalSignatureAlgorithms13", "compositePqcSignatureAlgorithms13", "dhFile", "earlyDataEnabled", "get-tls-conflicts", "groups13", "immediateClose", "keyFile", "keyFilePassword", "links", "middleBoxEnabled", "pqcSignatureAlgorithms13", "profileId", "resolve-tls-conflicts", "sendCloseNotify", "sessionReuseCount", "sessionReuseCount12", "sessionReuseCount13", "sessionReuseMethod", "sessionReuseMethod12", "sessionReuseMethod13", "sniCertConfigs", "sniEnabled", "supportedGroups13", "tls12Enabled", "tls13Enabled", "useDefaultSignatureAlgorithms", "useTlsProfile", "version"] @field_validator('version') def version_validate_enum(cls, value): @@ -173,7 +183,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "cipher13": obj.get("cipher13"), "ciphers12": obj.get("ciphers12"), "ciphers13": obj.get("ciphers13"), + "classicalSignatureAlgorithms13": obj.get("classicalSignatureAlgorithms13"), + "compositePqcSignatureAlgorithms13": obj.get("compositePqcSignatureAlgorithms13"), "dhFile": Params.from_dict(obj["dhFile"]) if obj.get("dhFile") is not None else None, + "earlyDataEnabled": obj.get("earlyDataEnabled"), "get-tls-conflicts": obj.get("get-tls-conflicts") if obj.get("get-tls-conflicts") is not None else [], "groups13": ( [GroupTLS13.from_dict(_item) for _item in obj.get("groups13", [])] if obj.get("groups13") is not None else None), "immediateClose": obj.get("immediateClose"), @@ -181,10 +194,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "keyFilePassword": obj.get("keyFilePassword"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None), "middleBoxEnabled": obj.get("middleBoxEnabled"), + "pqcSignatureAlgorithms13": obj.get("pqcSignatureAlgorithms13"), "profileId": obj.get("profileId"), "resolve-tls-conflicts": ( [Conflict.from_dict(_item) for _item in obj.get("resolve-tls-conflicts", [])] if obj.get("resolve-tls-conflicts") is not None else None), "sendCloseNotify": obj.get("sendCloseNotify"), "sessionReuseCount": obj.get("sessionReuseCount"), + "sessionReuseCount12": obj.get("sessionReuseCount12"), + "sessionReuseCount13": obj.get("sessionReuseCount13"), "sessionReuseMethod": obj.get("sessionReuseMethod"), "sessionReuseMethod12": obj.get("sessionReuseMethod12"), "sessionReuseMethod13": obj.get("sessionReuseMethod13"), @@ -193,6 +209,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "supportedGroups13": obj.get("supportedGroups13"), "tls12Enabled": obj.get("tls12Enabled"), "tls13Enabled": obj.get("tls13Enabled"), + "useDefaultSignatureAlgorithms": obj.get("useDefaultSignatureAlgorithms"), "useTlsProfile": obj.get("useTlsProfile"), "version": obj.get("version") , diff --git a/cyperf/models/track.py b/cyperf/models/track.py index e5d9573..7709357 100644 --- a/cyperf/models/track.py +++ b/cyperf/models/track.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/track_type.py b/cyperf/models/track_type.py index 055596f..8387595 100644 --- a/cyperf/models/track_type.py +++ b/cyperf/models/track_type.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/traffic_agent_info.py b/cyperf/models/traffic_agent_info.py index 3f192dc..77581a1 100644 --- a/cyperf/models/traffic_agent_info.py +++ b/cyperf/models/traffic_agent_info.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/traffic_profile_base.py b/cyperf/models/traffic_profile_base.py index e480756..dba157c 100644 --- a/cyperf/models/traffic_profile_base.py +++ b/cyperf/models/traffic_profile_base.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -21,6 +21,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.api_link import APILink +from cyperf.models.playlist_sequencing_method import PlaylistSequencingMethod from cyperf.models.traffic_settings import TrafficSettings from typing import Optional, Set, Union from typing_extensions import Self @@ -31,11 +32,12 @@ class TrafficProfileBase(BaseModel): TrafficProfileBase """ # noqa: E501 active: Optional[StrictBool] = Field(default=None, description="Indicates whether the profile is enabled or not.", alias="Active") + playlist_sequencing_method: Optional[PlaylistSequencingMethod] = Field(default=None, alias="PlaylistSequencingMethod") traffic_settings: Optional[TrafficSettings] = Field(default=None, alias="TrafficSettings") use_all_source_ips_per_user: Optional[StrictBool] = Field(default=None, description="Indicates whether one or all source IPs are used for each simulated user.", alias="UseAllSourceIPsPerUser") id: Optional[StrictStr] = None links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["Active", "TrafficSettings", "UseAllSourceIPsPerUser", "id", "links"] + __properties: ClassVar[List[str]] = ["Active", "PlaylistSequencingMethod", "TrafficSettings", "UseAllSourceIPsPerUser", "id", "links"] model_config = ConfigDict( populate_by_name=True, @@ -101,6 +103,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "Active": obj.get("Active"), + "PlaylistSequencingMethod": obj.get("PlaylistSequencingMethod"), "TrafficSettings": TrafficSettings.from_dict(obj["TrafficSettings"]) if obj.get("TrafficSettings") is not None else None, "UseAllSourceIPsPerUser": obj.get("UseAllSourceIPsPerUser"), "id": obj.get("id"), diff --git a/cyperf/models/traffic_settings.py b/cyperf/models/traffic_settings.py index 20f6d66..7db077c 100644 --- a/cyperf/models/traffic_settings.py +++ b/cyperf/models/traffic_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/transport_profile.py b/cyperf/models/transport_profile.py index e967b52..ccbca5a 100644 --- a/cyperf/models/transport_profile.py +++ b/cyperf/models/transport_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.api_link import APILink from cyperf.models.http_profile import HTTPProfile +from cyperf.models.llmapi_profile import LLMAPIProfile from cyperf.models.quic_profile import QUICProfile from cyperf.models.rtp_profile import RTPProfile from cyperf.models.tcp_profile import TcpProfile @@ -40,6 +41,7 @@ class TransportProfile(BaseModel): client_tls_profile: Optional[TLSProfile] = Field(default=None, alias="ClientTLSProfile") client_tcp_profile: Optional[TcpProfile] = Field(default=None, alias="ClientTcpProfile") ip_tos: Optional[StrictInt] = Field(default=None, alias="IpTos") + llmapi_profiles: Optional[List[LLMAPIProfile]] = Field(default=None, alias="LLMAPIProfiles") rtp_profile: Optional[RTPProfile] = Field(default=None, alias="RTPProfile") server_http_profile: Optional[HTTPProfile] = Field(default=None, description="The server HTTP profile used in the Scenario.", alias="ServerHTTPProfile") server_quic_profile: Optional[QUICProfile] = Field(default=None, alias="ServerQUICProfile") @@ -49,7 +51,7 @@ class TransportProfile(BaseModel): vlan_prio: Optional[StrictInt] = Field(default=None, alias="VlanPrio") links: Optional[List[APILink]] = None l4_profile_name: StrictStr = Field(alias="L4ProfileName") - __properties: ClassVar[List[str]] = ["ClientHTTPProfile", "ClientQUICProfile", "ClientTLSProfile", "ClientTcpProfile", "IpTos", "RTPProfile", "ServerHTTPProfile", "ServerQUICProfile", "ServerTLSProfile", "ServerTcpProfile", "UdpProfile", "VlanPrio", "links", "L4ProfileName"] + __properties: ClassVar[List[str]] = ["ClientHTTPProfile", "ClientQUICProfile", "ClientTLSProfile", "ClientTcpProfile", "IpTos", "LLMAPIProfiles", "RTPProfile", "ServerHTTPProfile", "ServerQUICProfile", "ServerTLSProfile", "ServerTcpProfile", "UdpProfile", "VlanPrio", "links", "L4ProfileName"] model_config = ConfigDict( populate_by_name=True, @@ -102,6 +104,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of client_tcp_profile if self.client_tcp_profile: _dict['ClientTcpProfile'] = self.client_tcp_profile.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in llmapi_profiles (list) + _items = [] + if self.llmapi_profiles: + for _item in self.llmapi_profiles: + if _item: + _items.append(_item.to_dict()) + _dict['LLMAPIProfiles'] = _items # override the default output from pydantic by calling `to_dict()` of rtp_profile if self.rtp_profile: _dict['RTPProfile'] = self.rtp_profile.to_dict() @@ -146,6 +155,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "ClientTLSProfile": TLSProfile.from_dict(obj["ClientTLSProfile"]) if obj.get("ClientTLSProfile") is not None else None, "ClientTcpProfile": TcpProfile.from_dict(obj["ClientTcpProfile"]) if obj.get("ClientTcpProfile") is not None else None, "IpTos": obj.get("IpTos"), + "LLMAPIProfiles": ( [LLMAPIProfile.from_dict(_item) for _item in obj.get("LLMAPIProfiles", [])] if obj.get("LLMAPIProfiles") is not None else None), "RTPProfile": RTPProfile.from_dict(obj["RTPProfile"]) if obj.get("RTPProfile") is not None else None, "ServerHTTPProfile": HTTPProfile.from_dict(obj["ServerHTTPProfile"]) if obj.get("ServerHTTPProfile") is not None else None, "ServerQUICProfile": QUICProfile.from_dict(obj["ServerQUICProfile"]) if obj.get("ServerQUICProfile") is not None else None, diff --git a/cyperf/models/transport_profile_base.py b/cyperf/models/transport_profile_base.py index ab38b44..c1916bd 100644 --- a/cyperf/models/transport_profile_base.py +++ b/cyperf/models/transport_profile_base.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from cyperf.models.api_link import APILink from cyperf.models.http_profile import HTTPProfile +from cyperf.models.llmapi_profile import LLMAPIProfile from cyperf.models.quic_profile import QUICProfile from cyperf.models.rtp_profile import RTPProfile from cyperf.models.tcp_profile import TcpProfile @@ -40,6 +41,7 @@ class TransportProfileBase(BaseModel): client_tls_profile: Optional[TLSProfile] = Field(default=None, alias="ClientTLSProfile") client_tcp_profile: Optional[TcpProfile] = Field(default=None, alias="ClientTcpProfile") ip_tos: Optional[StrictInt] = Field(default=None, alias="IpTos") + llmapi_profiles: Optional[List[LLMAPIProfile]] = Field(default=None, alias="LLMAPIProfiles") rtp_profile: Optional[RTPProfile] = Field(default=None, alias="RTPProfile") server_http_profile: Optional[HTTPProfile] = Field(default=None, description="The server HTTP profile used in the Scenario.", alias="ServerHTTPProfile") server_quic_profile: Optional[QUICProfile] = Field(default=None, alias="ServerQUICProfile") @@ -48,7 +50,7 @@ class TransportProfileBase(BaseModel): udp_profile: Optional[UdpProfile] = Field(default=None, alias="UdpProfile") vlan_prio: Optional[StrictInt] = Field(default=None, alias="VlanPrio") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["ClientHTTPProfile", "ClientQUICProfile", "ClientTLSProfile", "ClientTcpProfile", "IpTos", "RTPProfile", "ServerHTTPProfile", "ServerQUICProfile", "ServerTLSProfile", "ServerTcpProfile", "UdpProfile", "VlanPrio", "links"] + __properties: ClassVar[List[str]] = ["ClientHTTPProfile", "ClientQUICProfile", "ClientTLSProfile", "ClientTcpProfile", "IpTos", "LLMAPIProfiles", "RTPProfile", "ServerHTTPProfile", "ServerQUICProfile", "ServerTLSProfile", "ServerTcpProfile", "UdpProfile", "VlanPrio", "links"] model_config = ConfigDict( populate_by_name=True, @@ -101,6 +103,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of client_tcp_profile if self.client_tcp_profile: _dict['ClientTcpProfile'] = self.client_tcp_profile.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in llmapi_profiles (list) + _items = [] + if self.llmapi_profiles: + for _item in self.llmapi_profiles: + if _item: + _items.append(_item.to_dict()) + _dict['LLMAPIProfiles'] = _items # override the default output from pydantic by calling `to_dict()` of rtp_profile if self.rtp_profile: _dict['RTPProfile'] = self.rtp_profile.to_dict() @@ -145,6 +154,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "ClientTLSProfile": TLSProfile.from_dict(obj["ClientTLSProfile"]) if obj.get("ClientTLSProfile") is not None else None, "ClientTcpProfile": TcpProfile.from_dict(obj["ClientTcpProfile"]) if obj.get("ClientTcpProfile") is not None else None, "IpTos": obj.get("IpTos"), + "LLMAPIProfiles": ( [LLMAPIProfile.from_dict(_item) for _item in obj.get("LLMAPIProfiles", [])] if obj.get("LLMAPIProfiles") is not None else None), "RTPProfile": RTPProfile.from_dict(obj["RTPProfile"]) if obj.get("RTPProfile") is not None else None, "ServerHTTPProfile": HTTPProfile.from_dict(obj["ServerHTTPProfile"]) if obj.get("ServerHTTPProfile") is not None else None, "ServerQUICProfile": QUICProfile.from_dict(obj["ServerQUICProfile"]) if obj.get("ServerQUICProfile") is not None else None, diff --git a/cyperf/models/tunnel_range.py b/cyperf/models/tunnel_range.py index f6374aa..ea062ae 100644 --- a/cyperf/models/tunnel_range.py +++ b/cyperf/models/tunnel_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -35,17 +35,18 @@ class TunnelRange(BaseModel): The Tunnel Range assigned to the current test configuration """ # noqa: E501 cisco_any_connect_settings: Optional[CiscoAnyConnectSettings] = Field(default=None, alias="CiscoAnyConnectSettings") - dcp_request_timeout: Optional[StrictInt] = Field(default=None, alias="DCPRequestTimeout") + dcp_request_timeout: StrictInt = Field(alias="DCPRequestTimeout") dns_resolver: Optional[DNSResolver] = Field(default=None, alias="DNSResolver") f5_settings: Optional[F5Settings] = Field(default=None, alias="F5Settings") fortinet_settings: Optional[FortinetSettings] = Field(default=None, alias="FortinetSettings") pangp_settings: Optional[PANGPSettings] = Field(default=None, alias="PANGPSettings") tcp_dst_port: StrictInt = Field(alias="TcpDstPort") tunnel_count_per_outer_ip: StrictInt = Field(alias="TunnelCountPerOuterIP") + tunnel_establishment_reattempts: Optional[StrictInt] = Field(default=None, alias="TunnelEstablishmentReattempts") tunnel_establishment_timeout: Optional[StrictInt] = Field(default=None, alias="TunnelEstablishmentTimeout") vendor_type: StrictStr = Field(alias="VendorType") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["CiscoAnyConnectSettings", "DCPRequestTimeout", "DNSResolver", "F5Settings", "FortinetSettings", "PANGPSettings", "TcpDstPort", "TunnelCountPerOuterIP", "TunnelEstablishmentTimeout", "VendorType", "links"] + __properties: ClassVar[List[str]] = ["CiscoAnyConnectSettings", "DCPRequestTimeout", "DNSResolver", "F5Settings", "FortinetSettings", "PANGPSettings", "TcpDstPort", "TunnelCountPerOuterIP", "TunnelEstablishmentReattempts", "TunnelEstablishmentTimeout", "VendorType", "links"] @field_validator('vendor_type') def vendor_type_validate_enum(cls, value): @@ -137,6 +138,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "PANGPSettings": PANGPSettings.from_dict(obj["PANGPSettings"]) if obj.get("PANGPSettings") is not None else None, "TcpDstPort": obj.get("TcpDstPort"), "TunnelCountPerOuterIP": obj.get("TunnelCountPerOuterIP"), + "TunnelEstablishmentReattempts": obj.get("TunnelEstablishmentReattempts"), "TunnelEstablishmentTimeout": obj.get("TunnelEstablishmentTimeout"), "VendorType": obj.get("VendorType"), "links": ( [APILink.from_dict(_item) for _item in obj.get("links", [])] if obj.get("links") is not None else None) diff --git a/cyperf/models/tunnel_settings.py b/cyperf/models/tunnel_settings.py index 2a57e35..c62bda0 100644 --- a/cyperf/models/tunnel_settings.py +++ b/cyperf/models/tunnel_settings.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/tunnel_stack.py b/cyperf/models/tunnel_stack.py index b6bd1fd..eadf8a4 100644 --- a/cyperf/models/tunnel_stack.py +++ b/cyperf/models/tunnel_stack.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/type_array_v2_metadata.py b/cyperf/models/type_array_v2_metadata.py index 0260633..96d2729 100644 --- a/cyperf/models/type_array_v2_metadata.py +++ b/cyperf/models/type_array_v2_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/type_info_metadata.py b/cyperf/models/type_info_metadata.py index 9b1c6d1..d3f98bf 100644 --- a/cyperf/models/type_info_metadata.py +++ b/cyperf/models/type_info_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/type_int_metadata.py b/cyperf/models/type_int_metadata.py index aa003c9..415960c 100644 --- a/cyperf/models/type_int_metadata.py +++ b/cyperf/models/type_int_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/type_media_metadata.py b/cyperf/models/type_media_metadata.py index dd7bbf2..67cc543 100644 --- a/cyperf/models/type_media_metadata.py +++ b/cyperf/models/type_media_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/type_string_metadata.py b/cyperf/models/type_string_metadata.py index 962d68b..7ce70fe 100644 --- a/cyperf/models/type_string_metadata.py +++ b/cyperf/models/type_string_metadata.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/udp_profile.py b/cyperf/models/udp_profile.py index 206fef3..bd0675b 100644 --- a/cyperf/models/udp_profile.py +++ b/cyperf/models/udp_profile.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/update_network_mapping.py b/cyperf/models/update_network_mapping.py index 12a8468..5f61116 100644 --- a/cyperf/models/update_network_mapping.py +++ b/cyperf/models/update_network_mapping.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/update_port_tags_operation.py b/cyperf/models/update_port_tags_operation.py index 6151cd5..0b4907f 100644 --- a/cyperf/models/update_port_tags_operation.py +++ b/cyperf/models/update_port_tags_operation.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/validation_message.py b/cyperf/models/validation_message.py index a5475b5..bf4d485 100644 --- a/cyperf/models/validation_message.py +++ b/cyperf/models/validation_message.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/version.py b/cyperf/models/version.py index 975d2a1..d4ba8cc 100644 --- a/cyperf/models/version.py +++ b/cyperf/models/version.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/vlan_range.py b/cyperf/models/vlan_range.py index 75897f6..51cb16c 100644 --- a/cyperf/models/vlan_range.py +++ b/cyperf/models/vlan_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com @@ -32,6 +32,7 @@ class VLANRange(BaseModel): """ # noqa: E501 count: Optional[StrictInt] = Field(default=None, description="The number of VLANs generated (default: 1).", alias="Count") count_per_agent: Optional[StrictInt] = Field(default=None, description="The number of VLANs that should be assigned to each traffic agent for this VLAN range segment in a valid test (default: 1).", alias="CountPerAgent") + increment_every_no_of_ips: Optional[StrictInt] = Field(default=None, description="Sets that number of IPs from the IP Range after which the VLAN is incremented.", alias="IncrementEveryNoOfIPs") max_count_per_agent: Optional[StrictInt] = Field(default=None, description="The maximum number of VLANs that should be assigned to each traffic agent for this VLAN range segment in a valid test (default: 1).", alias="MaxCountPerAgent") priority: Optional[StrictInt] = Field(default=None, description="The priority code point value (default: 0).", alias="Priority") static_arp_table: Optional[List[StaticARPEntry]] = Field(default=None, alias="StaticARPTable") @@ -41,7 +42,7 @@ class VLANRange(BaseModel): vlan_id: Optional[StrictInt] = Field(default=None, description="The VLAN identifier (default: 1).", alias="VlanId") vlan_incr: Optional[StrictInt] = Field(default=None, description="The VLAN incrementation rule (default: 1).", alias="VlanIncr") links: Optional[List[APILink]] = None - __properties: ClassVar[List[str]] = ["Count", "CountPerAgent", "MaxCountPerAgent", "Priority", "StaticARPTable", "TagProtocolId", "VlanAuto", "VlanEnabled", "VlanId", "VlanIncr", "links"] + __properties: ClassVar[List[str]] = ["Count", "CountPerAgent", "IncrementEveryNoOfIPs", "MaxCountPerAgent", "Priority", "StaticARPTable", "TagProtocolId", "VlanAuto", "VlanEnabled", "VlanId", "VlanIncr", "links"] @field_validator('tag_protocol_id') def tag_protocol_id_validate_enum(cls, value): @@ -49,8 +50,8 @@ def tag_protocol_id_validate_enum(cls, value): if value is None: return value - if value not in set([33024]): - raise ValueError("must be one of enum values (33024)") + if value not in set([33024, 34984]): + raise ValueError("must be one of enum values (33024, 34984)") return value model_config = ConfigDict( @@ -122,6 +123,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "Count": obj.get("Count"), "CountPerAgent": obj.get("CountPerAgent"), + "IncrementEveryNoOfIPs": obj.get("IncrementEveryNoOfIPs"), "MaxCountPerAgent": obj.get("MaxCountPerAgent"), "Priority": obj.get("Priority"), "StaticARPTable": ( [StaticARPEntry.from_dict(_item) for _item in obj.get("StaticARPTable", [])] if obj.get("StaticARPTable") is not None else None), diff --git a/cyperf/models/vlan_type.py b/cyperf/models/vlan_type.py new file mode 100644 index 0000000..4c56ee1 --- /dev/null +++ b/cyperf/models/vlan_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Keysight CyPerf Application API + + Keysight CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class VLANType(str, Enum): + """ + VLANType + """ + + """ + allowed enum values + """ + VLAN_NONE = 'VLAN_NONE' + VLAN = 'VLAN' + VLAN_IN_VLAN = 'VLAN_IN_VLAN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VLANType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/cyperf/models/vx_lan_range.py b/cyperf/models/vx_lan_range.py index 4273611..b28585f 100644 --- a/cyperf/models/vx_lan_range.py +++ b/cyperf/models/vx_lan_range.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/vx_lan_stack.py b/cyperf/models/vx_lan_stack.py index d2b3676..5988dcb 100644 --- a/cyperf/models/vx_lan_stack.py +++ b/cyperf/models/vx_lan_stack.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/models/vx_lanid.py b/cyperf/models/vx_lanid.py index 950fc07..fbf87b1 100644 --- a/cyperf/models/vx_lanid.py +++ b/cyperf/models/vx_lanid.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/rest.py b/cyperf/rest.py index 1fc2a19..1e40193 100644 --- a/cyperf/rest.py +++ b/cyperf/rest.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/cyperf/utils.py b/cyperf/utils.py index 07e342e..e853731 100644 --- a/cyperf/utils.py +++ b/cyperf/utils.py @@ -6,7 +6,7 @@ from pprint import pprint import sys import cyperf - +from zipfile import ZipFile def format_warning_cli_issues(message, category, filename, lineno=None, line=None): return f"{category.__name__}: {message}\n" @@ -14,22 +14,25 @@ def format_warning_cli_issues(message, category, filename, lineno=None, line=Non warnings.formatwarning = format_warning_cli_issues - class TestRunner: """Convenience class for common test run operations""" - def __init__(self, controller, username="", password="", refresh_token="", license_server=None, license_user="", license_password=""): + def __init__(self, controller, username="", password="", refresh_token="", license_server=None, license_user="", license_password="", verify_ssl=True): self.controller = controller self.host = f'https://{controller}' + self.verify_ssl = verify_ssl self.license_server = license_server self.license_user = license_user self.license_password = license_password - + if username and password: + refresh_token = None + else: + refresh_token = refresh_token or os.environ.get("CYPERF_OFFLINE_TOKEN") self.configuration = cyperf.Configuration(host=self.host, refresh_token=refresh_token, username=username, password=password) - self.configuration.verify_ssl = False + self.configuration.verify_ssl = verify_ssl self.api_client = cyperf.ApiClient(self.configuration) self.added_license_servers = [] @@ -277,7 +280,7 @@ def start_test(self, session): except cyperf.ApiException as e: raise (e) - def wait_for_test_stop(self, session, test_monitor=None): + def wait_for_test_end(self, session=None, test_monitor=None): session_api = cyperf.SessionsApi(self.api_client) monitored_at = None wait_interval = 0.5 @@ -351,134 +354,211 @@ def format_stats_dict_as_table(self, stats_dict={}): lines = ['|'.join([f'{val:^{col_width}}' for val, col_width in zip(item, col_widths)]) for item in zip(*stats_dict.values())] return [line_delim, header, line_delim] + lines + [line_delim] - def set_prisma_airs_params(self, session, pan_auth_token, airs_profile_name = None, airs_profile_id = None): - # Update Attacks - prisma_airs_attacks_found = False + def _set_llm_api_profile_params(self, session, profile_model_name, hostname, params, app_protocol_id): + strike_found = False + app_found = False + + # DUT Hostname + if hostname: + try: + dut = session.config.config.network_profiles[0].dut_network_segment[0] + dut.server_dut_host = hostname + dut.server_dut_active = True + dut.active = True + dut.update() + print(f"Server DUT hostname updated to {hostname}") + except Exception as e: + print(f"Warning: Could not set Server DUT host: {e}") + try: - attack_profiles = session.config.config.attack_profiles - if not attack_profiles: - raise ValueError("No attack profiles found in the session configuration.") - for attack in attack_profiles[0].attacks: - if "Prisma AIRS" not in attack.name: - continue - for track in attack.tracks: - for action in track.actions: - for param in action.params: - if param.name == "PAN auth token": - prisma_airs_attacks_found = True - param.value = pan_auth_token - print(f"Updated PAN auth token for attack: {attack.name}") - elif param.name == "AIRS Profile Name" and airs_profile_name: - param.value = airs_profile_name - print(f"Updated AIRS Profile Name for attack: {attack.name}") - elif param.name == "AIRS Profile ID" and airs_profile_id: - param.value = airs_profile_id - print(f"Updated AIRS Profile ID for attack: {attack.name}") - param.update() + # For Strikes: populate intended LLM API profile and disable other LLM API profiles. + profiles = session.config.config.attack_profiles[0].traffic_settings.default_transport_profile.llmapi_profiles + target = None + for p in profiles: + if p.model_name == profile_model_name: + target = p + break + + if target is None: + print(f"No {profile_model_name} API Profile found in the provided session.") + else: + strike_found = True + for p in profiles: + if p is not target and p.is_enabled: + p.is_enabled = False + p.update() + target.is_enabled = True + target.update() + print(f"Enabled {profile_model_name} and disabled other LLM API profiles") + + if hostname and target.connections and target.connections[0].hostname_param: + target.connections[0].hostname_param.value = hostname + target.connections[0].hostname_param.update() + + for param in target.params: + if param.param_id in params: + param.value = params[param.param_id] + param.update() except AttributeError as e: - print(f"Error while setting Prisma AIRS params: {e}") + print(f"Error while setting {profile_model_name} strike params: {e}") except Exception as e: - print(f"Unexpected error while setting Prisma AIRS params: {e}") - if not prisma_airs_attacks_found: - print("No Prisma AIRS Attacks found in the provided session.") + print(f"Unexpected error while setting {profile_model_name} strike params: {e}") - # Update Applications - prisma_airs_applications_found = False + # For Applications: loop per app and set parameters one-by-one. try: traffic_profiles = session.config.config.traffic_profiles if not traffic_profiles: - raise ValueError("No application profiles found in the session configuration.") - for application in traffic_profiles[0].applications: - if "Prisma AIRS" not in application.name: - continue - for track in application.tracks: - for action in track.actions: - for param in action.params: - if param.name == "PAN Auth Token": - prisma_airs_applications_found = True - param.value = pan_auth_token - print(f"Updated PAN auth token for Application: {application.name}") - elif param.name == "AIRS Profile Name" and airs_profile_name: - param.value = airs_profile_name - print(f"Updated AIRS Profile Name for Application: {application.name}") - elif param.name == "AIRS Profile ID" and airs_profile_id: - param.value = airs_profile_id - print(f"Updated AIRS Profile ID for Application: {application.name}") - param.update() + print("No application profiles found in the session configuration.") + else: + for application in traffic_profiles[0].applications: + if app_protocol_id not in application.protocol_id: + continue + app_found = True + if hostname: + connections = getattr(application, 'connections', None) + # Skipping in case we run into applications with No Connections + if not connections: + print(f"Skipping connection-level hostname update for Application {application.name}: No connections found") + else: + connections[0].hostname_param.value = hostname + connections[0].hostname_param.update() + for track in application.tracks: + for action in track.actions: + for param in action.params: + if param.param_id in params: + param.value = params[param.param_id] + param.update() + print(f"Updated params for Application: {application.name}") except AttributeError as e: - print(f"Error while setting Prisma AIRS params: {e}") + print(f"Error while setting {profile_model_name} application params: {e}") except Exception as e: - print(f"Unexpected error while setting Prisma AIRS params: {e}") - if not prisma_airs_applications_found: - print("No Prisma AIRS Applications found in the provided session.") + print(f"Unexpected error while setting {profile_model_name} application params: {e}") - def set_model_armor_params(self, session, template_id, location, project_id, access_token): - # Update Attacks - model_armor_attacks_found = False - try: - attack_profiles = session.config.config.attack_profiles - if not attack_profiles: - raise ValueError("No attack profiles found in the session configuration.") - for attack in attack_profiles[0].attacks: - if "Model Armor" not in attack.name: - continue - for track in attack.tracks: - for action in track.actions: - params = action.params - for param in params: - if param.name == "Template ID": - model_armor_attacks_found = True - param.value = template_id - print(f"Updated Template ID for attack: {attack.name}") - elif param.name == "Project ID": - param.value = project_id - print(f"Updated Project ID for attack: {attack.name}") - elif param.name == "Location": - param.value = location - print(f"Updated Location for attack: {attack.name}") - elif param.name == "Access Token": - param.value = access_token - print(f"Updated Access Token for attack: {attack.name}") - param.update() - except AttributeError as e: - print(f"Error while setting Model Armor params: {e}") - except Exception as e: - print(f"Unexpected error while setting Model Armor params: {e}") - if not model_armor_attacks_found: - print("No Model Armor Attacks found in the provided session.") + if not strike_found and not app_found: + raise ValueError(f"No matching {profile_model_name} API Profile strike or application found in the provided session.") + + if not app_found: + print(f"No {app_protocol_id} Applications found in the provided session.") + + def set_prisma_airs_params(self, session, pan_auth_token, airs_profile_name=None, airs_profile_id=None, hostname=None): + params = {"pan_auth_token": pan_auth_token} + if airs_profile_name: + params["airs_profile_name"] = airs_profile_name + if airs_profile_id: + params["airs_profile_id"] = airs_profile_id + self._set_llm_api_profile_params(session, "Prisma AIRS API Interceptor", hostname, params, "Prisma AIRS") + + def set_model_armor_params(self, session, template_id, location, project_id, access_token, hostname=None): + resolved_hostname = hostname or f"modelarmor.{location}.rep.googleapis.com" + params = { + "template_id": template_id, + "project_id": project_id, + "location": location, + "access_token": access_token, + } + self._set_llm_api_profile_params(session, "Model Armor API Interceptor", resolved_hostname, params, "Model Armor") + + def get_agent_ips(self): + """Return the management IPs of all available agents.""" + agents = list(self.agents.values()) + return [agent.ip for agent in agents if agent.ip] + + def get_agent_ids_by_ips(self, agent_ips=None): + agents = list(self.agents.values()) + + if agent_ips is None: + agent_ips = [agent.ip for agent in agents if agent.ip] + + if isinstance(agent_ips, str): + agent_ips = [agent_ips] + + agent_ids = [] + + for agent_ip in agent_ips: + match = next((a for a in agents if a.ip == agent_ip), None) + + if match: + print(f'agent_ip: {agent_ip}, agent_id: {match.id}') + agent_ids.append(match.id) + + return agent_ids + + def set_test_duration(self, session, duration_seconds): + value = int(float(duration_seconds)) if isinstance(duration_seconds, str) else int(duration_seconds) + + if len(session.config.config.traffic_profiles) > 0 and session.config.config.traffic_profiles[0].active: + tp = session.config.config.traffic_profiles[0] + tp.objectives_and_timeline.primary_objective.timeline[1].duration = value + tp.objectives_and_timeline.update() + + if len(session.config.config.attack_profiles) > 0 and session.config.config.attack_profiles[0].active: + ap = session.config.config.attack_profiles[0] + ap.objectives_and_timeline.timeline_segments[0].duration = value + ap.objectives_and_timeline.update() + + self.testDuration = value + return value + + def get_test_duration(self, session): + traffic_duration = 0 + attack_duration = 0 + + if len(session.config.config.traffic_profiles) == 0 and len(session.config.config.attack_profiles) == 0: + return 0 + + if len(session.config.config.traffic_profiles) != 0 and session.config.config.traffic_profiles[0].active: + traffic_duration = \ + session.config.config.traffic_profiles[0].objectives_and_timeline.primary_objective.timeline[1].duration + + if len(session.config.config.attack_profiles) != 0 and session.config.config.attack_profiles[0].active: + attack_duration = session.config.config.attack_profiles[0].objectives_and_timeline.timeline_segments[ + 0].duration + + test_duration = max(traffic_duration, attack_duration) + self.testDuration = test_duration + return test_duration + + def get_csvs_for_result(self, result_id, download_path): + print("Get CSV statistics...") + os.makedirs(download_path, exist_ok=True) + + reports_api = cyperf.ReportsApi(self.api_client) + op = reports_api.start_result_generate_csv(result_id) - # Update Applications - model_armor_applications_found = False try: - traffic_profiles = session.config.config.traffic_profiles - if not traffic_profiles: - raise ValueError("No application profiles found in the session configuration.") - for application in traffic_profiles[0].applications: - if "Model Armor" not in application.name: - continue - for track in application.tracks: - for action in track.actions: - for param in action.params: - if param.name == "Template ID": - model_armor_applications_found = True - param.value = template_id - print(f"Updated Template ID for Application: {application.name}") - elif param.name == "Project ID": - param.value = project_id - print(f"Updated Project ID for Application: {application.name}") - elif param.name == "Location": - param.value = location - print(f"Updated Location for Application: {application.name}") - elif param.name == "Access Token": - param.value = access_token - print(f"Updated Access Token for Application: {application.name}") - param.update() - except AttributeError as e: - print(f"Error while setting Model Armor params: {e}") - except Exception as e: - print(f"Unexpected error while setting Model Armor params: {e}") - if not model_armor_applications_found: - print("No Model Armor Applications found in the provided session.") + result = op.await_completion() + except cyperf.ApiException as e: + raise e + + zip_path = None + if isinstance(result, dict): + zip_path = result.get("filePath") or result.get("path") + elif isinstance(result, str): + zip_path = result + + if not zip_path: + raise RuntimeError(f"Could not determine CSV zip path from result: {result}") + + with ZipFile(zip_path, "r") as zf: + zf.extractall(download_path) + + print(f"CSV files extracted to: {download_path}") + return download_path + + def set_tcp_sack(self, session, enabled=True): + value = str(enabled).lower() == 'true' if isinstance(enabled, str) else bool(enabled) + updated = False + + for traffic_profile in session.config.config.traffic_profiles: + for application in traffic_profile.applications: + for connection in application.connections: + tcp = getattr(connection, 'tcp_characteristics', None) + if tcp: + tcp.use_sack_when_permitted = value + tcp.update() + updated = True + + return updated def parse_cli_options(extra_options=[]): """Can be used to get parameters from the CLI or env vars that are broadly useful for CLI tests""" @@ -521,10 +601,39 @@ def create_api_client_cli(verify_ssl=True): """Parse the args passed to the current script and use them to create an API client; optionally disable SSL verification""" cli_args, offline_token = parse_cli_options() host = f'https://{cli_args.controller}' - + configuration = cyperf.Configuration(host=host, refresh_token=offline_token, username=cli_args.user, password=cli_args.password) configuration.verify_ssl = verify_ssl return cyperf.ApiClient(configuration) + + +def require_ports(entity, min_count=1): + """Validate that entity.ports exists and has at least min_count entries, then return it.""" + if entity.ports is None: + raise ValueError(f"Ports are not defined for '{entity.name}'") + if len(entity.ports) < min_count: + raise ValueError(f"Expected at least {min_count} available port(s) for '{entity.name}'") + return entity.ports + + +def validate_ports(ports): + """Raise a ValueError listing any of the given ports that are down, not ready, or reserved by someone else.""" + invalid = [] + for port in ports or []: + reasons = [] + if port.link != 'UP': + reasons.append(f"link is '{port.link}'") + if port.status != 'READY': + reasons.append(f"status is '{port.status}'") + if port.reserved_by: + reasons.append(f"reserved by '{port.reserved_by}'") + if reasons: + invalid.append(f"{port.id} ({', '.join(reasons)})") + + if invalid: + raise ValueError(f"The following port(s) cannot be used right now: {'; '.join(invalid)}") + +utils = TestRunner \ No newline at end of file diff --git a/docs/Action.md b/docs/Action.md index 029277d..c832d9d 100644 --- a/docs/Action.md +++ b/docs/Action.md @@ -11,12 +11,14 @@ Name | Type | Description | Notes **is_banner** | **bool** | Indicates if this is a required action, can only be add once and also must be the first | [optional] **is_deprecated** | **bool** | A value that indicates if the action is deprecated. | [optional] **is_hostname** | **int** | | [optional] +**is_llm_strike** | **bool** | A value that indicates if the action is an LLM strike. | [optional] **is_strike** | **bool** | A value that indicates if the action is a strike. | [optional] **name** | **str** | The name of the action. | [optional] **params** | [**List[Params]**](Params.md) | | [optional] **port** | **int** | The port of the destination host. | [optional] **protocol_id** | **str** | | [optional] **requires_uniqueness** | **bool** | If true, for applications with the same protocol id, application/attack must have been uniquely identified in previous commands. | [optional] +**supported_http_versions** | [**List[HTTPVersion]**](HTTPVersion.md) | The HTTP versions supported by the action. | [optional] **id** | **str** | | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] diff --git a/docs/ActionBase.md b/docs/ActionBase.md index 75140aa..f419c41 100644 --- a/docs/ActionBase.md +++ b/docs/ActionBase.md @@ -11,12 +11,14 @@ Name | Type | Description | Notes **is_banner** | **bool** | Indicates if this is a required action, can only be add once and also must be the first | [optional] **is_deprecated** | **bool** | A value that indicates if the action is deprecated. | [optional] **is_hostname** | **int** | | [optional] +**is_llm_strike** | **bool** | A value that indicates if the action is an LLM strike. | [optional] **is_strike** | **bool** | A value that indicates if the action is a strike. | [optional] **name** | **str** | The name of the action. | [optional] **params** | [**List[Params]**](Params.md) | | [optional] **port** | **int** | The port of the destination host. | [optional] **protocol_id** | **str** | | [optional] **requires_uniqueness** | **bool** | If true, for applications with the same protocol id, application/attack must have been uniquely identified in previous commands. | [optional] +**supported_http_versions** | [**List[HTTPVersion]**](HTTPVersion.md) | The HTTP versions supported by the action. | [optional] **id** | **str** | | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] diff --git a/docs/Address.md b/docs/Address.md new file mode 100644 index 0000000..99986d4 --- /dev/null +++ b/docs/Address.md @@ -0,0 +1,32 @@ +# Address + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**host** | **str** | | [optional] +**range** | [**DUTRange**](DUTRange.md) | | [optional] +**use_range** | **bool** | | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.address import Address + +# TODO update the JSON string below +json = "{}" +# create an instance of Address from a JSON string +address_instance = Address.from_json(json) +# print the JSON string representation of the object +print(Address.to_json()) + +# convert the object into a dict +address_dict = address_instance.to_dict() +# create an instance of Address from a dict +address_from_dict = Address.from_dict(address_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AdvancedMetric.md b/docs/AdvancedMetric.md new file mode 100644 index 0000000..3c35275 --- /dev/null +++ b/docs/AdvancedMetric.md @@ -0,0 +1,31 @@ +# AdvancedMetric + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The name of the metric | [optional] +**sort_type** | **str** | The sorting type of the metric | [optional] +**value** | **str** | The value of the metric | [optional] + +## Example + +```python +from cyperf.models.advanced_metric import AdvancedMetric + +# TODO update the JSON string below +json = "{}" +# create an instance of AdvancedMetric from a JSON string +advanced_metric_instance = AdvancedMetric.from_json(json) +# print the JSON string representation of the object +print(AdvancedMetric.to_json()) + +# convert the object into a dict +advanced_metric_dict = advanced_metric_instance.to_dict() +# create an instance of AdvancedMetric from a dict +advanced_metric_from_dict = AdvancedMetric.from_dict(advanced_metric_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Agent.md b/docs/Agent.md index 649c8a1..97c003b 100644 --- a/docs/Agent.md +++ b/docs/Agent.md @@ -6,9 +6,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_tags** | **List[str]** | A list of tags | [optional] +**display_name_format** | **str** | display agent name format | [optional] **ip** | **str** | The management IP of the agent | [optional] [readonly] **interfaces** | [**List[Interface]**](Interface.md) | A list of test interfaces available on the agent | [optional] **last_update** | **int** | A Unix timestamp that indicates when the agent was last updated | [optional] [readonly] +**port_id_format** | **str** | port agent id format | [optional] **reservation_id** | **str** | The ID of the reservation | [optional] [readonly] **selected_env** | [**SelectedEnv**](SelectedEnv.md) | | [optional] **selection_status** | **str** | The current status of the selection operation | [optional] diff --git a/docs/AgentAssignmentByFrontPanelPort.md b/docs/AgentAssignmentByFrontPanelPort.md new file mode 100644 index 0000000..5cce584 --- /dev/null +++ b/docs/AgentAssignmentByFrontPanelPort.md @@ -0,0 +1,34 @@ +# AgentAssignmentByFrontPanelPort + +Details of an agent assignment by front panel port + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**capture_settings** | [**CaptureSettings**](CaptureSettings.md) | The capture settings of the front panel port that is assigned. | [optional] +**compute_resources_by_type** | **Dict[str, int]** | The number of compute resources to assign per compute node type name + aggregation mode. Each key must be formatted as '<computeNodeTypeName>:<aggregationMode>'. | [optional] +**front_panel_port_id** | **str** | The id of the front panel port that is assigned. | +**id** | **str** | | +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.agent_assignment_by_front_panel_port import AgentAssignmentByFrontPanelPort + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentAssignmentByFrontPanelPort from a JSON string +agent_assignment_by_front_panel_port_instance = AgentAssignmentByFrontPanelPort.from_json(json) +# print the JSON string representation of the object +print(AgentAssignmentByFrontPanelPort.to_json()) + +# convert the object into a dict +agent_assignment_by_front_panel_port_dict = agent_assignment_by_front_panel_port_instance.to_dict() +# create an instance of AgentAssignmentByFrontPanelPort from a dict +agent_assignment_by_front_panel_port_from_dict = AgentAssignmentByFrontPanelPort.from_dict(agent_assignment_by_front_panel_port_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AgentAssignments.md b/docs/AgentAssignments.md index 2b0cca7..64a3012 100644 --- a/docs/AgentAssignments.md +++ b/docs/AgentAssignments.md @@ -6,6 +6,7 @@ The agents assigned to the current test configuration Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**by_front_panel_port** | [**List[AgentAssignmentByFrontPanelPort]**](AgentAssignmentByFrontPanelPort.md) | The front panel ports assigned to the current test configuration. | [optional] **by_id** | [**List[AgentAssignmentDetails]**](AgentAssignmentDetails.md) | The agents statically assigned to the current test configuration. | [optional] **by_port** | [**List[AgentAssignmentByPort]**](AgentAssignmentByPort.md) | The ports assigned to the current test configuration. | [optional] **by_tag** | **List[str]** | The tags according to which the agents are dynamically assigned. | [optional] diff --git a/docs/AgentReservation.md b/docs/AgentReservation.md index 16a565a..205b542 100644 --- a/docs/AgentReservation.md +++ b/docs/AgentReservation.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_id** | **str** | | [optional] **agent_payload_names** | **List[str]** | | [optional] +**front_panel_port_id** | **str** | | [optional] **general_purpose_cpu_percent** | **int** | | [optional] **interfaces** | **List[str]** | | [optional] **ip_address_version_used** | **str** | | [optional] diff --git a/docs/AgentsApi.md b/docs/AgentsApi.md index e0b7374..6f8c677 100644 --- a/docs/AgentsApi.md +++ b/docs/AgentsApi.md @@ -8,12 +8,18 @@ Method | HTTP request | Description [**get_agent_by_id**](AgentsApi.md#get_agent_by_id) | **GET** /api/v2/agents/{agentId} | [**get_agents**](AgentsApi.md#get_agents) | **GET** /api/v2/agents | [**get_agents_tags**](AgentsApi.md#get_agents_tags) | **GET** /api/v2/tags | +[**get_compute_node_compute_resource_by_id**](AgentsApi.md#get_compute_node_compute_resource_by_id) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/compute-resources/{computeResourceId} | +[**get_compute_node_compute_resources**](AgentsApi.md#get_compute_node_compute_resources) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/compute-resources | [**get_compute_node_port_by_id**](AgentsApi.md#get_compute_node_port_by_id) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports/{portId} | [**get_compute_node_ports**](AgentsApi.md#get_compute_node_ports) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId}/ports | [**get_controller_by_id**](AgentsApi.md#get_controller_by_id) | **GET** /api/v2/controllers/{controllerId} | [**get_controller_compute_node_by_id**](AgentsApi.md#get_controller_compute_node_by_id) | **GET** /api/v2/controllers/{controllerId}/compute-nodes/{computeNodeId} | [**get_controller_compute_nodes**](AgentsApi.md#get_controller_compute_nodes) | **GET** /api/v2/controllers/{controllerId}/compute-nodes | +[**get_controller_front_panel_by_id**](AgentsApi.md#get_controller_front_panel_by_id) | **GET** /api/v2/controllers/{controllerId}/front-panels/{frontPanelId} | +[**get_controller_front_panels**](AgentsApi.md#get_controller_front_panels) | **GET** /api/v2/controllers/{controllerId}/front-panels | [**get_controllers**](AgentsApi.md#get_controllers) | **GET** /api/v2/controllers | +[**get_front_panel_port_by_id**](AgentsApi.md#get_front_panel_port_by_id) | **GET** /api/v2/controllers/{controllerId}/front-panels/{frontPanelId}/ports/{portId} | +[**get_front_panel_ports**](AgentsApi.md#get_front_panel_ports) | **GET** /api/v2/controllers/{controllerId}/front-panels/{frontPanelId}/ports | [**patch_agent**](AgentsApi.md#patch_agent) | **PATCH** /api/v2/agents/{agentId} | [**start_agents_batch_delete**](AgentsApi.md#start_agents_batch_delete) | **POST** /api/v2/agents/operations/batch-delete | [**start_agents_export_files**](AgentsApi.md#start_agents_export_files) | **POST** /api/v2/agents/operations/exportFiles | @@ -23,10 +29,15 @@ Method | HTTP request | Description [**start_agents_set_dpdk_mode**](AgentsApi.md#start_agents_set_dpdk_mode) | **POST** /api/v2/agents/operations/set-dpdk-mode | [**start_agents_set_ntp**](AgentsApi.md#start_agents_set_ntp) | **POST** /api/v2/agents/operations/set-ntp | [**start_agents_update**](AgentsApi.md#start_agents_update) | **POST** /api/v2/agents/operations/update | +[**start_controllers_clear_compute_resource_ownership**](AgentsApi.md#start_controllers_clear_compute_resource_ownership) | **POST** /api/v2/controllers/operations/clear-compute-resource-ownership | +[**start_controllers_clear_front_panel_port_ownership**](AgentsApi.md#start_controllers_clear_front_panel_port_ownership) | **POST** /api/v2/controllers/operations/clear-front-panel-port-ownership | [**start_controllers_clear_port_ownership**](AgentsApi.md#start_controllers_clear_port_ownership) | **POST** /api/v2/controllers/operations/clear-port-ownership | [**start_controllers_power_cycle_nodes**](AgentsApi.md#start_controllers_power_cycle_nodes) | **POST** /api/v2/controllers/operations/power-cycle-nodes | +[**start_controllers_reboot_compute_resource**](AgentsApi.md#start_controllers_reboot_compute_resource) | **POST** /api/v2/controllers/operations/reboot-compute-resource | [**start_controllers_reboot_port**](AgentsApi.md#start_controllers_reboot_port) | **POST** /api/v2/controllers/operations/reboot-port | [**start_controllers_set_app**](AgentsApi.md#start_controllers_set_app) | **POST** /api/v2/controllers/operations/set-app | +[**start_controllers_set_front_panel_fanout**](AgentsApi.md#start_controllers_set_front_panel_fanout) | **POST** /api/v2/controllers/operations/set-front-panel-fanout | +[**start_controllers_set_front_panel_port_link_state**](AgentsApi.md#start_controllers_set_front_panel_port_link_state) | **POST** /api/v2/controllers/operations/set-front-panel-port-link-state | [**start_controllers_set_node_aggregation**](AgentsApi.md#start_controllers_set_node_aggregation) | **POST** /api/v2/controllers/operations/set-node-aggregation | [**start_controllers_set_node_app**](AgentsApi.md#start_controllers_set_node_app) | **POST** /api/v2/controllers/operations/set-node-app | [**start_controllers_set_port_link_state**](AgentsApi.md#start_controllers_set_port_link_state) | **POST** /api/v2/controllers/operations/set-port-link-state | @@ -358,6 +369,171 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_compute_node_compute_resource_by_id** +> ComputeResource get_compute_node_compute_resource_by_id(controller_id, compute_node_id, compute_resource_id) + + + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.compute_resource import ComputeResource +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + compute_node_id = 'compute_node_id_example' # str | The ID of the compute node. + compute_resource_id = 'compute_resource_id_example' # str | The ID of the compute resource. + + try: + api_response = api_instance.get_compute_node_compute_resource_by_id(controller_id, compute_node_id, compute_resource_id) + print("The response of AgentsApi->get_compute_node_compute_resource_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_compute_node_compute_resource_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **compute_node_id** | **str**| The ID of the compute node. | + **compute_resource_id** | **str**| The ID of the compute resource. | + +### Return type + +[**ComputeResource**](ComputeResource.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**404** | A resource with the specified ID was not found. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_compute_node_compute_resources** +> GetComputeNodeComputeResources200Response get_compute_node_compute_resources(controller_id, compute_node_id, take=take, skip=skip) + + + +Get the compute resources of a compute node. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_compute_node_compute_resources200_response import GetComputeNodeComputeResources200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + compute_node_id = 'compute_node_id_example' # str | The ID of the compute node. + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_compute_node_compute_resources(controller_id, compute_node_id, take=take, skip=skip) + print("The response of AgentsApi->get_compute_node_compute_resources:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_compute_node_compute_resources: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **compute_node_id** | **str**| The ID of the compute node. | + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetComputeNodeComputeResources200Response**](GetComputeNodeComputeResources200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of compute resources of the compute node. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_compute_node_port_by_id** > Port get_compute_node_port_by_id(controller_id, compute_node_id, port_id) @@ -440,9 +616,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_compute_node_ports** -> List[Port] get_compute_node_ports(controller_id, compute_node_id, take=take, skip=skip) +> GetComputeNodePorts200Response get_compute_node_ports(controller_id, compute_node_id, take=take, skip=skip) + +Get the ports of a compute node. ### Example @@ -451,7 +629,7 @@ Name | Type | Description | Notes ```python import cyperf -from cyperf.models.port import Port +from cyperf.models.get_compute_node_ports200_response import GetComputeNodePorts200Response from cyperf.rest import ApiException from pprint import pprint @@ -501,7 +679,7 @@ Name | Type | Description | Notes ### Return type -[**List[Port]**](Port.md) +[**GetComputeNodePorts200Response**](GetComputeNodePorts200Response.md) ### Authorization @@ -516,7 +694,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | OK | - | +**200** | The list of ports of the compute node. | - | **500** | Unexpected error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -679,10 +857,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_controller_compute_nodes** -> List[ComputeNode] get_controller_compute_nodes(controller_id, take=take, skip=skip) +> GetControllerComputeNodes200Response get_controller_compute_nodes(controller_id, take=take, skip=skip) +Get the compute nodes chain. + ### Example * OAuth Authentication (OAuth2): @@ -690,7 +870,733 @@ Name | Type | Description | Notes ```python import cyperf -from cyperf.models.compute_node import ComputeNode +from cyperf.models.get_controller_compute_nodes200_response import GetControllerComputeNodes200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_controller_compute_nodes(controller_id, take=take, skip=skip) + print("The response of AgentsApi->get_controller_compute_nodes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_controller_compute_nodes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetControllerComputeNodes200Response**](GetControllerComputeNodes200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of compute nodes of the controller. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_controller_front_panel_by_id** +> FrontPanel get_controller_front_panel_by_id(controller_id, front_panel_id) + + + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.front_panel import FrontPanel +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + front_panel_id = 'front_panel_id_example' # str | The ID of the front panel. + + try: + api_response = api_instance.get_controller_front_panel_by_id(controller_id, front_panel_id) + print("The response of AgentsApi->get_controller_front_panel_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_controller_front_panel_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **front_panel_id** | **str**| The ID of the front panel. | + +### Return type + +[**FrontPanel**](FrontPanel.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**404** | A resource with the specified ID was not found. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_controller_front_panels** +> GetControllerFrontPanels200Response get_controller_front_panels(controller_id, take=take, skip=skip) + + + +Get the front panels chain. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_controller_front_panels200_response import GetControllerFrontPanels200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_controller_front_panels(controller_id, take=take, skip=skip) + print("The response of AgentsApi->get_controller_front_panels:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_controller_front_panels: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetControllerFrontPanels200Response**](GetControllerFrontPanels200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of front panels of the controller. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_controllers** +> GetControllers200Response get_controllers(take=take, skip=skip, include=include) + + + +Get the controllers chain. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_controllers200_response import GetControllers200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + include = 'include_example' # str | Specifies if the sub-fields that are objects should be included. (optional) + + try: + api_response = api_instance.get_controllers(take=take, skip=skip, include=include) + print("The response of AgentsApi->get_controllers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_controllers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + **include** | **str**| Specifies if the sub-fields that are objects should be included. | [optional] + +### Return type + +[**GetControllers200Response**](GetControllers200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of controllers. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_front_panel_port_by_id** +> Port get_front_panel_port_by_id(controller_id, front_panel_id, port_id) + + + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.port import Port +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + front_panel_id = 'front_panel_id_example' # str | The ID of the front panel. + port_id = 'port_id_example' # str | The ID of the port. + + try: + api_response = api_instance.get_front_panel_port_by_id(controller_id, front_panel_id, port_id) + print("The response of AgentsApi->get_front_panel_port_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_front_panel_port_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **front_panel_id** | **str**| The ID of the front panel. | + **port_id** | **str**| The ID of the port. | + +### Return type + +[**Port**](Port.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**404** | A resource with the specified ID was not found. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_front_panel_ports** +> GetComputeNodePorts200Response get_front_panel_ports(controller_id, front_panel_id, take=take, skip=skip) + + + +Get the ports of a front panel. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_compute_node_ports200_response import GetComputeNodePorts200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + controller_id = 'controller_id_example' # str | The ID of the controller. + front_panel_id = 'front_panel_id_example' # str | The ID of the front panel. + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_front_panel_ports(controller_id, front_panel_id, take=take, skip=skip) + print("The response of AgentsApi->get_front_panel_ports:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->get_front_panel_ports: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **controller_id** | **str**| The ID of the controller. | + **front_panel_id** | **str**| The ID of the front panel. | + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetComputeNodePorts200Response**](GetComputeNodePorts200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of ports of the front panel. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **patch_agent** +> patch_agent(agent_id, agent=agent) + + + +Update a particular agent. Only non-null fields are updated. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.agent import Agent +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + agent_id = 'agent_id_example' # str | The ID of the agent. + agent = cyperf.Agent() # Agent | (optional) + + try: + api_instance.patch_agent(agent_id, agent=agent) + except Exception as e: + print("Exception when calling AgentsApi->patch_agent: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **agent_id** | **str**| The ID of the agent. | + **agent** | [**Agent**](Agent.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | The agent was successfully updated. | - | +**404** | An agent with the specified ID was not found. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_agents_batch_delete** +> AsyncContext start_agents_batch_delete(start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner) + + + +Remove multiple agents. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.async_context import AsyncContext +from cyperf.models.start_agents_batch_delete_request_inner import StartAgentsBatchDeleteRequestInner +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + start_agents_batch_delete_request_inner = [cyperf.StartAgentsBatchDeleteRequestInner()] # List[StartAgentsBatchDeleteRequestInner] | (optional) + + try: + api_response = api_instance.start_agents_batch_delete(start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner) + print("The response of AgentsApi->start_agents_batch_delete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->start_agents_batch_delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **start_agents_batch_delete_request_inner** | [**List[StartAgentsBatchDeleteRequestInner]**](StartAgentsBatchDeleteRequestInner.md)| | [optional] + +### Return type + +[**AsyncContext**](AsyncContext.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Details about the operation that just started | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_agents_export_files** +> AsyncContext start_agents_export_files(export_files_operation_input=export_files_operation_input) + + + +Sends export files requests to a list of agents. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.async_context import AsyncContext +from cyperf.models.export_files_operation_input import ExportFilesOperationInput +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.AgentsApi(api_client) + export_files_operation_input = cyperf.ExportFilesOperationInput() # ExportFilesOperationInput | (optional) + + try: + api_response = api_instance.start_agents_export_files(export_files_operation_input=export_files_operation_input) + print("The response of AgentsApi->start_agents_export_files:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentsApi->start_agents_export_files: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **export_files_operation_input** | [**ExportFilesOperationInput**](ExportFilesOperationInput.md)| | [optional] + +### Return type + +[**AsyncContext**](AsyncContext.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Details about the operation that just started | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_agents_reboot** +> AsyncContext start_agents_reboot(reboot_operation_input=reboot_operation_input) + + + +Reboot the agents specified in the request. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.async_context import AsyncContext +from cyperf.models.reboot_operation_input import RebootOperationInput from cyperf.rest import ApiException from pprint import pprint @@ -713,16 +1619,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - controller_id = 'controller_id_example' # str | The ID of the controller. - take = 56 # int | The number of search results to return (optional) - skip = 56 # int | The number of search results to skip (optional) + reboot_operation_input = cyperf.RebootOperationInput() # RebootOperationInput | (optional) try: - api_response = api_instance.get_controller_compute_nodes(controller_id, take=take, skip=skip) - print("The response of AgentsApi->get_controller_compute_nodes:\n") + api_response = api_instance.start_agents_reboot(reboot_operation_input=reboot_operation_input) + print("The response of AgentsApi->start_agents_reboot:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->get_controller_compute_nodes: %s\n" % e) + print("Exception when calling AgentsApi->start_agents_reboot: %s\n" % e) ``` @@ -732,13 +1636,11 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **controller_id** | **str**| The ID of the controller. | - **take** | **int**| The number of search results to return | [optional] - **skip** | **int**| The number of search results to skip | [optional] + **reboot_operation_input** | [**RebootOperationInput**](RebootOperationInput.md)| | [optional] ### Return type -[**List[ComputeNode]**](ComputeNode.md) +[**AsyncContext**](AsyncContext.md) ### Authorization @@ -746,24 +1648,23 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | OK | - | -**500** | Unexpected error | - | +**202** | Details about the operation that just started | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_controllers** -> GetControllers200Response get_controllers(take=take, skip=skip, include=include) +# **start_agents_release** +> AsyncContext start_agents_release(release_operation_input=release_operation_input) -Get the controllers chain. +Releases all the agents from the given session. ### Example @@ -772,7 +1673,8 @@ Get the controllers chain. ```python import cyperf -from cyperf.models.get_controllers200_response import GetControllers200Response +from cyperf.models.async_context import AsyncContext +from cyperf.models.release_operation_input import ReleaseOperationInput from cyperf.rest import ApiException from pprint import pprint @@ -795,16 +1697,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - take = 56 # int | The number of search results to return (optional) - skip = 56 # int | The number of search results to skip (optional) - include = 'include_example' # str | Specifies if the sub-fields that are objects should be included. (optional) + release_operation_input = cyperf.ReleaseOperationInput() # ReleaseOperationInput | (optional) try: - api_response = api_instance.get_controllers(take=take, skip=skip, include=include) - print("The response of AgentsApi->get_controllers:\n") + api_response = api_instance.start_agents_release(release_operation_input=release_operation_input) + print("The response of AgentsApi->start_agents_release:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->get_controllers: %s\n" % e) + print("Exception when calling AgentsApi->start_agents_release: %s\n" % e) ``` @@ -814,13 +1714,11 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **take** | **int**| The number of search results to return | [optional] - **skip** | **int**| The number of search results to skip | [optional] - **include** | **str**| Specifies if the sub-fields that are objects should be included. | [optional] + **release_operation_input** | [**ReleaseOperationInput**](ReleaseOperationInput.md)| | [optional] ### Return type -[**GetControllers200Response**](GetControllers200Response.md) +[**AsyncContext**](AsyncContext.md) ### Authorization @@ -828,24 +1726,23 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | The list of controllers. | - | -**500** | Unexpected error | - | +**202** | Details about the operation that just started | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **patch_agent** -> patch_agent(agent_id, agent=agent) +# **start_agents_reserve** +> AsyncContext start_agents_reserve(reserve_operation_input=reserve_operation_input) -Update a particular agent. Only non-null fields are updated. +Reserves all the agents from the given session. ### Example @@ -854,7 +1751,8 @@ Update a particular agent. Only non-null fields are updated. ```python import cyperf -from cyperf.models.agent import Agent +from cyperf.models.async_context import AsyncContext +from cyperf.models.reserve_operation_input import ReserveOperationInput from cyperf.rest import ApiException from pprint import pprint @@ -877,13 +1775,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - agent_id = 'agent_id_example' # str | The ID of the agent. - agent = cyperf.Agent() # Agent | (optional) + reserve_operation_input = cyperf.ReserveOperationInput() # ReserveOperationInput | (optional) try: - api_instance.patch_agent(agent_id, agent=agent) + api_response = api_instance.start_agents_reserve(reserve_operation_input=reserve_operation_input) + print("The response of AgentsApi->start_agents_reserve:\n") + pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->patch_agent: %s\n" % e) + print("Exception when calling AgentsApi->start_agents_reserve: %s\n" % e) ``` @@ -893,12 +1792,11 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **agent_id** | **str**| The ID of the agent. | - **agent** | [**Agent**](Agent.md)| | [optional] + **reserve_operation_input** | [**ReserveOperationInput**](ReserveOperationInput.md)| | [optional] ### Return type -void (empty response body) +[**AsyncContext**](AsyncContext.md) ### Authorization @@ -913,18 +1811,16 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**204** | The agent was successfully updated. | - | -**404** | An agent with the specified ID was not found. | - | -**500** | Unexpected error | - | +**202** | Details about the operation that just started | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_batch_delete** -> AsyncContext start_agents_batch_delete(start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner) +# **start_agents_set_dpdk_mode** +> AsyncContext start_agents_set_dpdk_mode(set_dpdk_mode_operation_input=set_dpdk_mode_operation_input) -Remove multiple agents. +Enable/disable DPDK for a list of agents. ### Example @@ -934,7 +1830,7 @@ Remove multiple agents. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.start_agents_batch_delete_request_inner import StartAgentsBatchDeleteRequestInner +from cyperf.models.set_dpdk_mode_operation_input import SetDpdkModeOperationInput from cyperf.rest import ApiException from pprint import pprint @@ -957,14 +1853,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - start_agents_batch_delete_request_inner = [cyperf.StartAgentsBatchDeleteRequestInner()] # List[StartAgentsBatchDeleteRequestInner] | (optional) + set_dpdk_mode_operation_input = cyperf.SetDpdkModeOperationInput() # SetDpdkModeOperationInput | (optional) try: - api_response = api_instance.start_agents_batch_delete(start_agents_batch_delete_request_inner=start_agents_batch_delete_request_inner) - print("The response of AgentsApi->start_agents_batch_delete:\n") + api_response = api_instance.start_agents_set_dpdk_mode(set_dpdk_mode_operation_input=set_dpdk_mode_operation_input) + print("The response of AgentsApi->start_agents_set_dpdk_mode:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_batch_delete: %s\n" % e) + print("Exception when calling AgentsApi->start_agents_set_dpdk_mode: %s\n" % e) ``` @@ -974,7 +1870,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **start_agents_batch_delete_request_inner** | [**List[StartAgentsBatchDeleteRequestInner]**](StartAgentsBatchDeleteRequestInner.md)| | [optional] + **set_dpdk_mode_operation_input** | [**SetDpdkModeOperationInput**](SetDpdkModeOperationInput.md)| | [optional] ### Return type @@ -997,12 +1893,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_export_files** -> AsyncContext start_agents_export_files(export_files_operation_input=export_files_operation_input) +# **start_agents_set_ntp** +> AsyncContext start_agents_set_ntp(set_ntp_operation_input=set_ntp_operation_input) -Sends export files requests to a list of agents. +Set the NTP servers for a list of agents. ### Example @@ -1012,7 +1908,7 @@ Sends export files requests to a list of agents. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.export_files_operation_input import ExportFilesOperationInput +from cyperf.models.set_ntp_operation_input import SetNtpOperationInput from cyperf.rest import ApiException from pprint import pprint @@ -1035,14 +1931,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - export_files_operation_input = cyperf.ExportFilesOperationInput() # ExportFilesOperationInput | (optional) + set_ntp_operation_input = cyperf.SetNtpOperationInput() # SetNtpOperationInput | (optional) try: - api_response = api_instance.start_agents_export_files(export_files_operation_input=export_files_operation_input) - print("The response of AgentsApi->start_agents_export_files:\n") + api_response = api_instance.start_agents_set_ntp(set_ntp_operation_input=set_ntp_operation_input) + print("The response of AgentsApi->start_agents_set_ntp:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_export_files: %s\n" % e) + print("Exception when calling AgentsApi->start_agents_set_ntp: %s\n" % e) ``` @@ -1052,7 +1948,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **export_files_operation_input** | [**ExportFilesOperationInput**](ExportFilesOperationInput.md)| | [optional] + **set_ntp_operation_input** | [**SetNtpOperationInput**](SetNtpOperationInput.md)| | [optional] ### Return type @@ -1075,12 +1971,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_reboot** -> AsyncContext start_agents_reboot(reboot_operation_input=reboot_operation_input) +# **start_agents_update** +> AsyncContext start_agents_update() -Reboot the agents specified in the request. +Update agents to the recommended version. ### Example @@ -1090,7 +1986,6 @@ Reboot the agents specified in the request. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.reboot_operation_input import RebootOperationInput from cyperf.rest import ApiException from pprint import pprint @@ -1113,24 +2008,20 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - reboot_operation_input = cyperf.RebootOperationInput() # RebootOperationInput | (optional) try: - api_response = api_instance.start_agents_reboot(reboot_operation_input=reboot_operation_input) - print("The response of AgentsApi->start_agents_reboot:\n") + api_response = api_instance.start_agents_update() + print("The response of AgentsApi->start_agents_update:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_reboot: %s\n" % e) + print("Exception when calling AgentsApi->start_agents_update: %s\n" % e) ``` ### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **reboot_operation_input** | [**RebootOperationInput**](RebootOperationInput.md)| | [optional] +This endpoint does not need any parameter. ### Return type @@ -1142,7 +2033,7 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json + - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details @@ -1153,12 +2044,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_release** -> AsyncContext start_agents_release(release_operation_input=release_operation_input) +# **start_controllers_clear_compute_resource_ownership** +> AsyncContext start_controllers_clear_compute_resource_ownership(clear_compute_resources_ownership_operation=clear_compute_resources_ownership_operation) -Releases all the agents from the given session. +Clear the ownership of the compute resources. ### Example @@ -1168,7 +2059,7 @@ Releases all the agents from the given session. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.release_operation_input import ReleaseOperationInput +from cyperf.models.clear_compute_resources_ownership_operation import ClearComputeResourcesOwnershipOperation from cyperf.rest import ApiException from pprint import pprint @@ -1191,14 +2082,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - release_operation_input = cyperf.ReleaseOperationInput() # ReleaseOperationInput | (optional) + clear_compute_resources_ownership_operation = cyperf.ClearComputeResourcesOwnershipOperation() # ClearComputeResourcesOwnershipOperation | (optional) try: - api_response = api_instance.start_agents_release(release_operation_input=release_operation_input) - print("The response of AgentsApi->start_agents_release:\n") + api_response = api_instance.start_controllers_clear_compute_resource_ownership(clear_compute_resources_ownership_operation=clear_compute_resources_ownership_operation) + print("The response of AgentsApi->start_controllers_clear_compute_resource_ownership:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_release: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_clear_compute_resource_ownership: %s\n" % e) ``` @@ -1208,7 +2099,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **release_operation_input** | [**ReleaseOperationInput**](ReleaseOperationInput.md)| | [optional] + **clear_compute_resources_ownership_operation** | [**ClearComputeResourcesOwnershipOperation**](ClearComputeResourcesOwnershipOperation.md)| | [optional] ### Return type @@ -1231,12 +2122,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_reserve** -> AsyncContext start_agents_reserve(reserve_operation_input=reserve_operation_input) +# **start_controllers_clear_front_panel_port_ownership** +> AsyncContext start_controllers_clear_front_panel_port_ownership(clear_front_panel_ports_ownership_operation=clear_front_panel_ports_ownership_operation) -Reserves all the agents from the given session. +Clear the ownership of the front panel ports. ### Example @@ -1246,7 +2137,7 @@ Reserves all the agents from the given session. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.reserve_operation_input import ReserveOperationInput +from cyperf.models.clear_front_panel_ports_ownership_operation import ClearFrontPanelPortsOwnershipOperation from cyperf.rest import ApiException from pprint import pprint @@ -1269,14 +2160,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - reserve_operation_input = cyperf.ReserveOperationInput() # ReserveOperationInput | (optional) + clear_front_panel_ports_ownership_operation = cyperf.ClearFrontPanelPortsOwnershipOperation() # ClearFrontPanelPortsOwnershipOperation | (optional) try: - api_response = api_instance.start_agents_reserve(reserve_operation_input=reserve_operation_input) - print("The response of AgentsApi->start_agents_reserve:\n") + api_response = api_instance.start_controllers_clear_front_panel_port_ownership(clear_front_panel_ports_ownership_operation=clear_front_panel_ports_ownership_operation) + print("The response of AgentsApi->start_controllers_clear_front_panel_port_ownership:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_reserve: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_clear_front_panel_port_ownership: %s\n" % e) ``` @@ -1286,7 +2177,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **reserve_operation_input** | [**ReserveOperationInput**](ReserveOperationInput.md)| | [optional] + **clear_front_panel_ports_ownership_operation** | [**ClearFrontPanelPortsOwnershipOperation**](ClearFrontPanelPortsOwnershipOperation.md)| | [optional] ### Return type @@ -1309,12 +2200,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_set_dpdk_mode** -> AsyncContext start_agents_set_dpdk_mode(set_dpdk_mode_operation_input=set_dpdk_mode_operation_input) +# **start_controllers_clear_port_ownership** +> AsyncContext start_controllers_clear_port_ownership(clear_ports_ownership_operation=clear_ports_ownership_operation) -Enable/disable DPDK for a list of agents. +Clear the ownership of the ports. ### Example @@ -1324,7 +2215,7 @@ Enable/disable DPDK for a list of agents. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.set_dpdk_mode_operation_input import SetDpdkModeOperationInput +from cyperf.models.clear_ports_ownership_operation import ClearPortsOwnershipOperation from cyperf.rest import ApiException from pprint import pprint @@ -1347,14 +2238,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - set_dpdk_mode_operation_input = cyperf.SetDpdkModeOperationInput() # SetDpdkModeOperationInput | (optional) + clear_ports_ownership_operation = cyperf.ClearPortsOwnershipOperation() # ClearPortsOwnershipOperation | (optional) try: - api_response = api_instance.start_agents_set_dpdk_mode(set_dpdk_mode_operation_input=set_dpdk_mode_operation_input) - print("The response of AgentsApi->start_agents_set_dpdk_mode:\n") + api_response = api_instance.start_controllers_clear_port_ownership(clear_ports_ownership_operation=clear_ports_ownership_operation) + print("The response of AgentsApi->start_controllers_clear_port_ownership:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_set_dpdk_mode: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_clear_port_ownership: %s\n" % e) ``` @@ -1364,7 +2255,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **set_dpdk_mode_operation_input** | [**SetDpdkModeOperationInput**](SetDpdkModeOperationInput.md)| | [optional] + **clear_ports_ownership_operation** | [**ClearPortsOwnershipOperation**](ClearPortsOwnershipOperation.md)| | [optional] ### Return type @@ -1387,12 +2278,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_set_ntp** -> AsyncContext start_agents_set_ntp(set_ntp_operation_input=set_ntp_operation_input) +# **start_controllers_power_cycle_nodes** +> AsyncContext start_controllers_power_cycle_nodes(nodes_power_cycle_operation=nodes_power_cycle_operation) -Set the NTP servers for a list of agents. +Power cycle the compute nodes. ### Example @@ -1402,7 +2293,7 @@ Set the NTP servers for a list of agents. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.set_ntp_operation_input import SetNtpOperationInput +from cyperf.models.nodes_power_cycle_operation import NodesPowerCycleOperation from cyperf.rest import ApiException from pprint import pprint @@ -1425,14 +2316,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - set_ntp_operation_input = cyperf.SetNtpOperationInput() # SetNtpOperationInput | (optional) + nodes_power_cycle_operation = cyperf.NodesPowerCycleOperation() # NodesPowerCycleOperation | (optional) try: - api_response = api_instance.start_agents_set_ntp(set_ntp_operation_input=set_ntp_operation_input) - print("The response of AgentsApi->start_agents_set_ntp:\n") + api_response = api_instance.start_controllers_power_cycle_nodes(nodes_power_cycle_operation=nodes_power_cycle_operation) + print("The response of AgentsApi->start_controllers_power_cycle_nodes:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_set_ntp: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_power_cycle_nodes: %s\n" % e) ``` @@ -1442,7 +2333,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **set_ntp_operation_input** | [**SetNtpOperationInput**](SetNtpOperationInput.md)| | [optional] + **nodes_power_cycle_operation** | [**NodesPowerCycleOperation**](NodesPowerCycleOperation.md)| | [optional] ### Return type @@ -1465,12 +2356,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_agents_update** -> AsyncContext start_agents_update() +# **start_controllers_reboot_compute_resource** +> AsyncContext start_controllers_reboot_compute_resource(reboot_compute_resources_operation=reboot_compute_resources_operation) -Update agents to the recommended version. +Reboot compute resources. ### Example @@ -1480,6 +2371,7 @@ Update agents to the recommended version. ```python import cyperf from cyperf.models.async_context import AsyncContext +from cyperf.models.reboot_compute_resources_operation import RebootComputeResourcesOperation from cyperf.rest import ApiException from pprint import pprint @@ -1502,20 +2394,24 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) + reboot_compute_resources_operation = cyperf.RebootComputeResourcesOperation() # RebootComputeResourcesOperation | (optional) try: - api_response = api_instance.start_agents_update() - print("The response of AgentsApi->start_agents_update:\n") + api_response = api_instance.start_controllers_reboot_compute_resource(reboot_compute_resources_operation=reboot_compute_resources_operation) + print("The response of AgentsApi->start_controllers_reboot_compute_resource:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_agents_update: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_reboot_compute_resource: %s\n" % e) ``` ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reboot_compute_resources_operation** | [**RebootComputeResourcesOperation**](RebootComputeResourcesOperation.md)| | [optional] ### Return type @@ -1527,7 +2423,7 @@ This endpoint does not need any parameter. ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details @@ -1538,12 +2434,12 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_controllers_clear_port_ownership** -> AsyncContext start_controllers_clear_port_ownership(clear_ports_ownership_operation=clear_ports_ownership_operation) +# **start_controllers_reboot_port** +> AsyncContext start_controllers_reboot_port(reboot_ports_operation=reboot_ports_operation) -Clear the ownership of the ports. +Reboot ports. ### Example @@ -1553,7 +2449,7 @@ Clear the ownership of the ports. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.clear_ports_ownership_operation import ClearPortsOwnershipOperation +from cyperf.models.reboot_ports_operation import RebootPortsOperation from cyperf.rest import ApiException from pprint import pprint @@ -1576,14 +2472,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - clear_ports_ownership_operation = cyperf.ClearPortsOwnershipOperation() # ClearPortsOwnershipOperation | (optional) + reboot_ports_operation = cyperf.RebootPortsOperation() # RebootPortsOperation | (optional) try: - api_response = api_instance.start_controllers_clear_port_ownership(clear_ports_ownership_operation=clear_ports_ownership_operation) - print("The response of AgentsApi->start_controllers_clear_port_ownership:\n") + api_response = api_instance.start_controllers_reboot_port(reboot_ports_operation=reboot_ports_operation) + print("The response of AgentsApi->start_controllers_reboot_port:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_controllers_clear_port_ownership: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_reboot_port: %s\n" % e) ``` @@ -1593,7 +2489,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **clear_ports_ownership_operation** | [**ClearPortsOwnershipOperation**](ClearPortsOwnershipOperation.md)| | [optional] + **reboot_ports_operation** | [**RebootPortsOperation**](RebootPortsOperation.md)| | [optional] ### Return type @@ -1616,12 +2512,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_controllers_power_cycle_nodes** -> AsyncContext start_controllers_power_cycle_nodes(nodes_power_cycle_operation=nodes_power_cycle_operation) +# **start_controllers_set_app** +> AsyncContext start_controllers_set_app(set_controller_app_operation=set_controller_app_operation) -Power cycle the compute nodes. +Set the active app of the controllers. ### Example @@ -1631,7 +2527,7 @@ Power cycle the compute nodes. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.nodes_power_cycle_operation import NodesPowerCycleOperation +from cyperf.models.set_controller_app_operation import SetControllerAppOperation from cyperf.rest import ApiException from pprint import pprint @@ -1654,14 +2550,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - nodes_power_cycle_operation = cyperf.NodesPowerCycleOperation() # NodesPowerCycleOperation | (optional) + set_controller_app_operation = cyperf.SetControllerAppOperation() # SetControllerAppOperation | (optional) try: - api_response = api_instance.start_controllers_power_cycle_nodes(nodes_power_cycle_operation=nodes_power_cycle_operation) - print("The response of AgentsApi->start_controllers_power_cycle_nodes:\n") + api_response = api_instance.start_controllers_set_app(set_controller_app_operation=set_controller_app_operation) + print("The response of AgentsApi->start_controllers_set_app:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_controllers_power_cycle_nodes: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_set_app: %s\n" % e) ``` @@ -1671,7 +2567,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **nodes_power_cycle_operation** | [**NodesPowerCycleOperation**](NodesPowerCycleOperation.md)| | [optional] + **set_controller_app_operation** | [**SetControllerAppOperation**](SetControllerAppOperation.md)| | [optional] ### Return type @@ -1694,12 +2590,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_controllers_reboot_port** -> AsyncContext start_controllers_reboot_port(reboot_ports_operation=reboot_ports_operation) +# **start_controllers_set_front_panel_fanout** +> AsyncContext start_controllers_set_front_panel_fanout(set_fan_out_mode_operation=set_fan_out_mode_operation) -Reboot ports. +Set the fanOut mode of the front panels. ### Example @@ -1709,7 +2605,7 @@ Reboot ports. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.reboot_ports_operation import RebootPortsOperation +from cyperf.models.set_fan_out_mode_operation import SetFanOutModeOperation from cyperf.rest import ApiException from pprint import pprint @@ -1732,14 +2628,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - reboot_ports_operation = cyperf.RebootPortsOperation() # RebootPortsOperation | (optional) + set_fan_out_mode_operation = cyperf.SetFanOutModeOperation() # SetFanOutModeOperation | (optional) try: - api_response = api_instance.start_controllers_reboot_port(reboot_ports_operation=reboot_ports_operation) - print("The response of AgentsApi->start_controllers_reboot_port:\n") + api_response = api_instance.start_controllers_set_front_panel_fanout(set_fan_out_mode_operation=set_fan_out_mode_operation) + print("The response of AgentsApi->start_controllers_set_front_panel_fanout:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_controllers_reboot_port: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_set_front_panel_fanout: %s\n" % e) ``` @@ -1749,7 +2645,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **reboot_ports_operation** | [**RebootPortsOperation**](RebootPortsOperation.md)| | [optional] + **set_fan_out_mode_operation** | [**SetFanOutModeOperation**](SetFanOutModeOperation.md)| | [optional] ### Return type @@ -1772,12 +2668,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_controllers_set_app** -> AsyncContext start_controllers_set_app(set_controller_app_operation=set_controller_app_operation) +# **start_controllers_set_front_panel_port_link_state** +> AsyncContext start_controllers_set_front_panel_port_link_state(set_front_panel_ports_link_state_operation=set_front_panel_ports_link_state_operation) -Set the active app of the controllers. +Set the link state of the front panel ports. ### Example @@ -1787,7 +2683,7 @@ Set the active app of the controllers. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.set_controller_app_operation import SetControllerAppOperation +from cyperf.models.set_front_panel_ports_link_state_operation import SetFrontPanelPortsLinkStateOperation from cyperf.rest import ApiException from pprint import pprint @@ -1810,14 +2706,14 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - set_controller_app_operation = cyperf.SetControllerAppOperation() # SetControllerAppOperation | (optional) + set_front_panel_ports_link_state_operation = cyperf.SetFrontPanelPortsLinkStateOperation() # SetFrontPanelPortsLinkStateOperation | (optional) try: - api_response = api_instance.start_controllers_set_app(set_controller_app_operation=set_controller_app_operation) - print("The response of AgentsApi->start_controllers_set_app:\n") + api_response = api_instance.start_controllers_set_front_panel_port_link_state(set_front_panel_ports_link_state_operation=set_front_panel_ports_link_state_operation) + print("The response of AgentsApi->start_controllers_set_front_panel_port_link_state:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentsApi->start_controllers_set_app: %s\n" % e) + print("Exception when calling AgentsApi->start_controllers_set_front_panel_port_link_state: %s\n" % e) ``` @@ -1827,7 +2723,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **set_controller_app_operation** | [**SetControllerAppOperation**](SetControllerAppOperation.md)| | [optional] + **set_front_panel_ports_link_state_operation** | [**SetFrontPanelPortsLinkStateOperation**](SetFrontPanelPortsLinkStateOperation.md)| | [optional] ### Return type @@ -2007,7 +2903,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **start_controllers_set_port_link_state** -> AsyncContext start_controllers_set_port_link_state(set_link_state_operation=set_link_state_operation) +> AsyncContext start_controllers_set_port_link_state(set_ports_link_state_operation=set_ports_link_state_operation) @@ -2021,7 +2917,7 @@ Set the link state of the ports. ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.set_link_state_operation import SetLinkStateOperation +from cyperf.models.set_ports_link_state_operation import SetPortsLinkStateOperation from cyperf.rest import ApiException from pprint import pprint @@ -2044,10 +2940,10 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.AgentsApi(api_client) - set_link_state_operation = cyperf.SetLinkStateOperation() # SetLinkStateOperation | (optional) + set_ports_link_state_operation = cyperf.SetPortsLinkStateOperation() # SetPortsLinkStateOperation | (optional) try: - api_response = api_instance.start_controllers_set_port_link_state(set_link_state_operation=set_link_state_operation) + api_response = api_instance.start_controllers_set_port_link_state(set_ports_link_state_operation=set_ports_link_state_operation) print("The response of AgentsApi->start_controllers_set_port_link_state:\n") pprint(api_response) except Exception as e: @@ -2061,7 +2957,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **set_link_state_operation** | [**SetLinkStateOperation**](SetLinkStateOperation.md)| | [optional] + **set_ports_link_state_operation** | [**SetPortsLinkStateOperation**](SetPortsLinkStateOperation.md)| | [optional] ### Return type diff --git a/docs/Application.md b/docs/Application.md index 64b0257..809ca5e 100644 --- a/docs/Application.md +++ b/docs/Application.md @@ -39,16 +39,19 @@ Name | Type | Description | Notes **links** | [**List[APILink]**](APILink.md) | | [optional] **client_tls_profile** | [**TLSProfile**](TLSProfile.md) | | [optional] **data_types** | [**List[DataType]**](DataType.md) | | [optional] +**inherit_llmapi** | **bool** | | [optional] **inherit_tls** | **bool** | | [optional] **is_stateless_stream** | **bool** | | [optional] **is_streaming** | **bool** | | [optional] -**objective_weight** | **int** | The objective weight of the application. | +**llmapi_profiles** | [**List[LLMAPIProfile]**](LLMAPIProfile.md) | | [optional] +**objective_weight** | **int** | The objective weight of the application. | [optional] **protocol_found** | **bool** | | [optional] **server_tls_profile** | [**TLSProfile**](TLSProfile.md) | | [optional] **stateless_stream** | [**StatelessStream**](StatelessStream.md) | | [optional] **static** | **bool** | | [optional] **supported_apps** | **List[str]** | | [optional] **supports_calibration** | **bool** | | [optional] +**supports_http2** | **bool** | | [optional] **supports_multi_flow** | **bool** | | [optional] **supports_strikes** | **bool** | | [optional] **supports_tls** | **bool** | | [optional] diff --git a/docs/ApplicationProfile.md b/docs/ApplicationProfile.md index 6cde695..c2fac4f 100644 --- a/docs/ApplicationProfile.md +++ b/docs/ApplicationProfile.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **active** | **bool** | Indicates whether the profile is enabled or not. | [optional] +**playlist_sequencing_method** | [**PlaylistSequencingMethod**](PlaylistSequencingMethod.md) | | [optional] **traffic_settings** | [**TrafficSettings**](TrafficSettings.md) | | [optional] **use_all_source_ips_per_user** | **bool** | Indicates whether one or all source IPs are used for each simulated user. | [optional] **id** | **str** | | [optional] diff --git a/docs/ApplicationResourcesApi.md b/docs/ApplicationResourcesApi.md index 1baa391..841aa2c 100644 --- a/docs/ApplicationResourcesApi.md +++ b/docs/ApplicationResourcesApi.md @@ -61,6 +61,8 @@ Method | HTTP request | Description [**get_resources_http_library_upload_file_result**](ApplicationResourcesApi.md#get_resources_http_library_upload_file_result) | **GET** /api/v2/resources/http-library/operations/uploadFile/{uploadFileId}/result | [**get_resources_http_profile_by_id**](ApplicationResourcesApi.md#get_resources_http_profile_by_id) | **GET** /api/v2/resources/http-profiles/{httpProfileId} | [**get_resources_http_profiles**](ApplicationResourcesApi.md#get_resources_http_profiles) | **GET** /api/v2/resources/http-profiles | +[**get_resources_llm_api_profile_by_id**](ApplicationResourcesApi.md#get_resources_llm_api_profile_by_id) | **GET** /api/v2/resources/llm-api-profiles/{llmApiProfileId} | +[**get_resources_llm_api_profiles**](ApplicationResourcesApi.md#get_resources_llm_api_profiles) | **GET** /api/v2/resources/llm-api-profiles | [**get_resources_media_file_by_id**](ApplicationResourcesApi.md#get_resources_media_file_by_id) | **GET** /api/v2/resources/media-files/{mediaFileId} | [**get_resources_media_file_content_file**](ApplicationResourcesApi.md#get_resources_media_file_content_file) | **GET** /api/v2/resources/media-files/{mediaFileId}/contentFile | [**get_resources_media_files**](ApplicationResourcesApi.md#get_resources_media_files) | **GET** /api/v2/resources/media-files | @@ -155,6 +157,8 @@ Method | HTTP request | Description +Delete a capture that was loaded by the user. + ### Example * OAuth Authentication (OAuth2): @@ -218,7 +222,10 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**204** | The request was completed successfully. | - | +**204** | The capture was deleted. | - | +**401** | The user is not authorized to delete resources. | - | +**403** | The user is not allowed to delete a capture not owned by them. | - | +**404** | A resource with the specified ID was not found. | - | **500** | Unexpected error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -1444,7 +1451,7 @@ void (empty response body) -Delete a CyPerf application that was created by the user. +Delete an application that was created by the user. ### Example @@ -1760,7 +1767,7 @@ Name | Type | Description | Notes -Get a particular CyPerf application. +Get a particular application. ### Example @@ -1828,9 +1835,9 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | The requested CyPerf application | - | +**200** | The requested application | - | **401** | Authorization information is missing or invalid. | - | -**404** | A CyPerf application with the specified ID was not found. | - | +**404** | An application with the specified ID was not found. | - | **500** | Unexpected error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -2076,7 +2083,7 @@ Name | Type | Description | Notes -Get all the available CyPerf applications. +Get all the available applications. ### Example @@ -2156,7 +2163,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | The list of CyPerf applications | - | +**200** | The list of applications | - | **400** | Bad request | - | **401** | Authorization information is missing or invalid. | - | **500** | Unexpected error | - | @@ -2168,7 +2175,7 @@ Name | Type | Description | Notes -Get a particular CyPerf attack. +Get a particular attack. ### Example @@ -2236,9 +2243,9 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | The requested CyPerf attack | - | +**200** | The requested attack | - | **401** | Authorization information is missing or invalid. | - | -**404** | A CyPerf attack with the specified ID was not found. | - | +**404** | An attack with the specified ID was not found. | - | **500** | Unexpected error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -2326,7 +2333,7 @@ Name | Type | Description | Notes -Get all the available CyPerf attacks. +Get all the available attacks. ### Example @@ -2406,7 +2413,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | The list of CyPerf attacks | - | +**200** | The list of attacks | - | **400** | Bad request | - | **401** | Authorization information is missing or invalid. | - | **500** | Unexpected error | - | @@ -2577,7 +2584,7 @@ Name | Type | Description | Notes -Get a particular CyPerf capture loaded by the user. +Get a particular capture loaded by the user. ### Example @@ -2645,9 +2652,9 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | The requested CyPerf application | - | +**200** | The requested capture | - | **401** | Authorization information is missing or invalid. | - | -**404** | A CyPerf capture with the specified ID was not found. | - | +**404** | A capture with the specified ID was not found. | - | **500** | Unexpected error | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -3035,6 +3042,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the certificate archive file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A certificate file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -3349,6 +3357,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the custom fuzzing script file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A custom fuzzing script file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -3744,6 +3753,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the flow library file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A flow library file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -3977,6 +3987,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the global playlists archive file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A global playlists file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -4372,6 +4383,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the http library file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A http library file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -4611,6 +4623,165 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_resources_llm_api_profile_by_id** +> LLMAPIProfile get_resources_llm_api_profile_by_id(llm_api_profile_id) + + + +Get a particular LLM API profile. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.llmapi_profile import LLMAPIProfile +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.ApplicationResourcesApi(api_client) + llm_api_profile_id = 'llm_api_profile_id_example' # str | The ID of the llm api profile. + + try: + api_response = api_instance.get_resources_llm_api_profile_by_id(llm_api_profile_id) + print("The response of ApplicationResourcesApi->get_resources_llm_api_profile_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ApplicationResourcesApi->get_resources_llm_api_profile_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **llm_api_profile_id** | **str**| The ID of the llm api profile. | + +### Return type + +[**LLMAPIProfile**](LLMAPIProfile.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The requested LLM API profile | - | +**404** | An LLM API profile with the specified ID was not found. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_resources_llm_api_profiles** +> GetResourcesLlmApiProfiles200Response get_resources_llm_api_profiles(take=take, skip=skip) + + + +Get all the available LLM API profiles. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_resources_llm_api_profiles200_response import GetResourcesLlmApiProfiles200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.ApplicationResourcesApi(api_client) + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_resources_llm_api_profiles(take=take, skip=skip) + print("The response of ApplicationResourcesApi->get_resources_llm_api_profiles:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ApplicationResourcesApi->get_resources_llm_api_profiles: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetResourcesLlmApiProfiles200Response**](GetResourcesLlmApiProfiles200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of LLM API profiles | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_resources_media_file_by_id** > GenericFile get_resources_media_file_by_id(media_file_id) @@ -4764,6 +4935,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the media file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A media file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -5159,6 +5331,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the media library file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A media library file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -5473,6 +5646,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the other library file | - | +**401** | Authorization information is missing or invalid. | - | **404** | An other library file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -5706,6 +5880,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the payload file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A payload file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -6020,6 +6195,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the pcap file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A pcap file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -6334,6 +6510,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the playlist file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A playlist file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -6411,6 +6588,7 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The requested values from the playlist file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A playlist file with the specified ID was not found. | - | **500** | Unexpected error | - | @@ -6807,6 +6985,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the sip library file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A sip library file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -7121,6 +7300,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the stats profile file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A stats profile file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -7603,6 +7783,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the TLS certificate file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A TLS certificate file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -7917,6 +8098,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the TLS DH file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A TLS DH file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -8231,6 +8413,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the TLS key file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A TLS key file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -8699,6 +8882,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | The content of the voice custom flow file | - | +**401** | Authorization information is missing or invalid. | - | **404** | A voice custom flow file with the specified ID was not found. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -9012,7 +9196,7 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **start_resources_captures_encrypted_upload_file** -> start_resources_captures_encrypted_upload_file(file=file) +> AsyncContext start_resources_captures_encrypted_upload_file(file, ssl_key_log_file) @@ -9025,6 +9209,7 @@ Upload a file. ```python import cyperf +from cyperf.models.async_context import AsyncContext from cyperf.rest import ApiException from pprint import pprint @@ -9047,10 +9232,13 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.ApplicationResourcesApi(api_client) - file = None # bytearray | (optional) + file = None # bytearray | + ssl_key_log_file = None # bytearray | try: - api_instance.start_resources_captures_encrypted_upload_file(file=file) + api_response = api_instance.start_resources_captures_encrypted_upload_file(file, ssl_key_log_file) + print("The response of ApplicationResourcesApi->start_resources_captures_encrypted_upload_file:\n") + pprint(api_response) except Exception as e: print("Exception when calling ApplicationResourcesApi->start_resources_captures_encrypted_upload_file: %s\n" % e) ``` @@ -9062,11 +9250,12 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **file** | **bytearray**| | [optional] + **file** | **bytearray**| | + **ssl_key_log_file** | **bytearray**| | ### Return type -void (empty response body) +[**AsyncContext**](AsyncContext.md) ### Authorization @@ -9779,7 +9968,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **start_resources_get_apps** -> AsyncContext start_resources_get_apps(get_apps_operation=get_apps_operation) +> AsyncContext start_resources_get_apps(get_scenarios_operation=get_scenarios_operation) @@ -9793,7 +9982,7 @@ Get the list of applications ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.get_apps_operation import GetAppsOperation +from cyperf.models.get_scenarios_operation import GetScenariosOperation from cyperf.rest import ApiException from pprint import pprint @@ -9816,10 +10005,10 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.ApplicationResourcesApi(api_client) - get_apps_operation = cyperf.GetAppsOperation() # GetAppsOperation | (optional) + get_scenarios_operation = cyperf.GetScenariosOperation() # GetScenariosOperation | (optional) try: - api_response = api_instance.start_resources_get_apps(get_apps_operation=get_apps_operation) + api_response = api_instance.start_resources_get_apps(get_scenarios_operation=get_scenarios_operation) print("The response of ApplicationResourcesApi->start_resources_get_apps:\n") pprint(api_response) except Exception as e: @@ -9833,7 +10022,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **get_apps_operation** | [**GetAppsOperation**](GetAppsOperation.md)| | [optional] + **get_scenarios_operation** | [**GetScenariosOperation**](GetScenariosOperation.md)| | [optional] ### Return type @@ -9935,7 +10124,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **start_resources_get_attacks** -> AsyncContext start_resources_get_attacks(get_attacks_operation=get_attacks_operation) +> AsyncContext start_resources_get_attacks(get_scenarios_operation=get_scenarios_operation) @@ -9949,7 +10138,7 @@ Get the list of attacks ```python import cyperf from cyperf.models.async_context import AsyncContext -from cyperf.models.get_attacks_operation import GetAttacksOperation +from cyperf.models.get_scenarios_operation import GetScenariosOperation from cyperf.rest import ApiException from pprint import pprint @@ -9972,10 +10161,10 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.ApplicationResourcesApi(api_client) - get_attacks_operation = cyperf.GetAttacksOperation() # GetAttacksOperation | (optional) + get_scenarios_operation = cyperf.GetScenariosOperation() # GetScenariosOperation | (optional) try: - api_response = api_instance.start_resources_get_attacks(get_attacks_operation=get_attacks_operation) + api_response = api_instance.start_resources_get_attacks(get_scenarios_operation=get_scenarios_operation) print("The response of ApplicationResourcesApi->start_resources_get_attacks:\n") pprint(api_response) except Exception as e: @@ -9989,7 +10178,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **get_attacks_operation** | [**GetAttacksOperation**](GetAttacksOperation.md)| | [optional] + **get_scenarios_operation** | [**GetScenariosOperation**](GetScenariosOperation.md)| | [optional] ### Return type diff --git a/docs/Attack.md b/docs/Attack.md index 25e0e0d..5c27d6a 100644 --- a/docs/Attack.md +++ b/docs/Attack.md @@ -38,7 +38,9 @@ Name | Type | Description | Notes **id** | **str** | | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] **client_tls_profile** | [**TLSProfile**](TLSProfile.md) | | [optional] +**inherit_llmapi** | **bool** | | [optional] **inherit_tls** | **bool** | | [optional] +**llmapi_profiles** | [**List[LLMAPIProfile]**](LLMAPIProfile.md) | | [optional] **server_tls_profile** | [**TLSProfile**](TLSProfile.md) | | [optional] **supports_tls** | **bool** | | [optional] **tracks** | [**List[AttackTrack]**](AttackTrack.md) | | [optional] diff --git a/docs/AttackAction.md b/docs/AttackAction.md index 488b13b..75b7c94 100644 --- a/docs/AttackAction.md +++ b/docs/AttackAction.md @@ -11,12 +11,14 @@ Name | Type | Description | Notes **is_banner** | **bool** | Indicates if this is a required action, can only be add once and also must be the first | [optional] **is_deprecated** | **bool** | A value that indicates if the action is deprecated. | [optional] **is_hostname** | **int** | | [optional] +**is_llm_strike** | **bool** | A value that indicates if the action is an LLM strike. | [optional] **is_strike** | **bool** | A value that indicates if the action is a strike. | [optional] **name** | **str** | The name of the action. | [optional] **params** | [**List[Params]**](Params.md) | | [optional] **port** | **int** | The port of the destination host. | [optional] **protocol_id** | **str** | | [optional] **requires_uniqueness** | **bool** | If true, for applications with the same protocol id, application/attack must have been uniquely identified in previous commands. | [optional] +**supported_http_versions** | [**List[HTTPVersion]**](HTTPVersion.md) | The HTTP versions supported by the action. | [optional] **id** | **str** | | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] diff --git a/docs/AttackMetadataKeywordsInner.md b/docs/AttackMetadataKeywordsInner.md deleted file mode 100644 index 1ffb2a0..0000000 --- a/docs/AttackMetadataKeywordsInner.md +++ /dev/null @@ -1,28 +0,0 @@ -# AttackMetadataKeywordsInner - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -## Example - -```python -from cyperf.models.attack_metadata_keywords_inner import AttackMetadataKeywordsInner - -# TODO update the JSON string below -json = "{}" -# create an instance of AttackMetadataKeywordsInner from a JSON string -attack_metadata_keywords_inner_instance = AttackMetadataKeywordsInner.from_json(json) -# print the JSON string representation of the object -print(AttackMetadataKeywordsInner.to_json()) - -# convert the object into a dict -attack_metadata_keywords_inner_dict = attack_metadata_keywords_inner_instance.to_dict() -# create an instance of AttackMetadataKeywordsInner from a dict -attack_metadata_keywords_inner_from_dict = AttackMetadataKeywordsInner.from_dict(attack_metadata_keywords_inner_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/AttackProfile.md b/docs/AttackProfile.md index 4d64831..0c42c28 100644 --- a/docs/AttackProfile.md +++ b/docs/AttackProfile.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **active** | **bool** | Indicates whether the profile is enabled or not. | [optional] +**playlist_sequencing_method** | [**PlaylistSequencingMethod**](PlaylistSequencingMethod.md) | | [optional] **traffic_settings** | [**TrafficSettings**](TrafficSettings.md) | | [optional] **use_all_source_ips_per_user** | **bool** | Indicates whether one or all source IPs are used for each simulated user. | [optional] **id** | **str** | | [optional] diff --git a/docs/AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.md b/docs/AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.md deleted file mode 100644 index e1dbc6b..0000000 --- a/docs/AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.md +++ /dev/null @@ -1,32 +0,0 @@ -# AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**access_token** | **str** | The access token. Set this in the Authorization HTTP Header to authenticate requests. | [optional] -**expires_in** | **float** | The access token lifetime. | [optional] -**refresh_expires_in** | **float** | The refresh token lifetime. | [optional] -**refresh_token** | **str** | Token that can be used with this request and grant_type: refresh_token to get a new access_token if the current one expires. | [optional] - -## Example - -```python -from cyperf.models.auth_realms_keysight_protocol_openid_connect_token_post200_response import AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response from a JSON string -auth_realms_keysight_protocol_openid_connect_token_post200_response_instance = AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.from_json(json) -# print the JSON string representation of the object -print(AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.to_json()) - -# convert the object into a dict -auth_realms_keysight_protocol_openid_connect_token_post200_response_dict = auth_realms_keysight_protocol_openid_connect_token_post200_response_instance.to_dict() -# create an instance of AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response from a dict -auth_realms_keysight_protocol_openid_connect_token_post200_response_from_dict = AuthRealmsKeysightProtocolOpenidConnectTokenPost200Response.from_dict(auth_realms_keysight_protocol_openid_connect_token_post200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/BasicAuthProfile.md b/docs/BasicAuthProfile.md new file mode 100644 index 0000000..22cde00 --- /dev/null +++ b/docs/BasicAuthProfile.md @@ -0,0 +1,31 @@ +# BasicAuthProfile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**active** | **bool** | | [optional] +**params** | [**List[Params]**](Params.md) | | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.basic_auth_profile import BasicAuthProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of BasicAuthProfile from a JSON string +basic_auth_profile_instance = BasicAuthProfile.from_json(json) +# print the JSON string representation of the object +print(BasicAuthProfile.to_json()) + +# convert the object into a dict +basic_auth_profile_dict = basic_auth_profile_instance.to_dict() +# create an instance of BasicAuthProfile from a dict +basic_auth_profile_from_dict = BasicAuthProfile.from_dict(basic_auth_profile_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Broker.md b/docs/Broker.md index 281a6b7..51dfc05 100644 --- a/docs/Broker.md +++ b/docs/Broker.md @@ -5,17 +5,17 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**connection_status** | **str** | The broker's connection status | [optional] -**failure_reason** | **str** | The broker's connection failure reason | [optional] -**fingerprint** | **str** | The broker's fingerprint | [optional] -**host** | **str** | The IP or hostname of the registered broker | [optional] -**host_name** | **str** | The IP or hostname of the registered broker | [optional] -**id** | **str** | The unique identifier of the broker | [optional] [readonly] -**interactive_fingerprint_verification** | **bool** | Validate the broker's fingerprint interactively | [optional] -**password** | **str** | The broker's authentication password | [optional] -**pretty_conn_status** | **str** | The broker's connection status in human readable format | [optional] -**trust_new** | **bool** | The flag used to skip broker's identity verifications | [optional] -**user** | **str** | The broker's authentication user | [optional] +**connection_status** | **str** | | [optional] +**failure_reason** | **str** | | [optional] +**fingerprint** | **str** | | [optional] +**host_name** | **str** | | [optional] +**id** | **int** | | [optional] +**interactive_fingerprint_verification** | **bool** | | [optional] +**password** | **str** | | [optional] +**pretty_conn_status** | **str** | | [optional] +**trust_new** | **bool** | | [optional] +**tunnel_host_name** | **str** | | [optional] +**user** | **str** | | [optional] ## Example diff --git a/docs/ChangeAggregationModeOperation.md b/docs/ChangeAggregationModeOperation.md deleted file mode 100644 index 6d1e6c1..0000000 --- a/docs/ChangeAggregationModeOperation.md +++ /dev/null @@ -1,31 +0,0 @@ -# ChangeAggregationModeOperation - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**aggregated** | **bool** | The desired aggregation mode. | [optional] -**compute_nodes** | **List[str]** | The compute-node ids for which to change the aggregation mode. | [optional] -**controller** | **str** | The id of the controller that is linked with the compute-nodes. | [optional] - -## Example - -```python -from cyperf.models.change_aggregation_mode_operation import ChangeAggregationModeOperation - -# TODO update the JSON string below -json = "{}" -# create an instance of ChangeAggregationModeOperation from a JSON string -change_aggregation_mode_operation_instance = ChangeAggregationModeOperation.from_json(json) -# print the JSON string representation of the object -print(ChangeAggregationModeOperation.to_json()) - -# convert the object into a dict -change_aggregation_mode_operation_dict = change_aggregation_mode_operation_instance.to_dict() -# create an instance of ChangeAggregationModeOperation from a dict -change_aggregation_mode_operation_from_dict = ChangeAggregationModeOperation.from_dict(change_aggregation_mode_operation_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ChangeEvent.md b/docs/ChangeEvent.md new file mode 100644 index 0000000..cae861f --- /dev/null +++ b/docs/ChangeEvent.md @@ -0,0 +1,31 @@ +# ChangeEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dashboard_id** | **str** | The id of the changed dashboard | [optional] +**session_id** | **str** | The id of the session where the change happened | [optional] +**test_id** | **str** | The id of the test where the change happened | [optional] + +## Example + +```python +from cyperf.models.change_event import ChangeEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of ChangeEvent from a JSON string +change_event_instance = ChangeEvent.from_json(json) +# print the JSON string representation of the object +print(ChangeEvent.to_json()) + +# convert the object into a dict +change_event_dict = change_event_instance.to_dict() +# create an instance of ChangeEvent from a dict +change_event_from_dict = ChangeEvent.from_dict(change_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ChangeLinkStateOperation.md b/docs/ChangeLinkStateOperation.md deleted file mode 100644 index 977e6f6..0000000 --- a/docs/ChangeLinkStateOperation.md +++ /dev/null @@ -1,30 +0,0 @@ -# ChangeLinkStateOperation - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**link** | **str** | The desired link state. | [optional] -**ports** | **List[str]** | The port ids for which to change the link state. | [optional] - -## Example - -```python -from cyperf.models.change_link_state_operation import ChangeLinkStateOperation - -# TODO update the JSON string below -json = "{}" -# create an instance of ChangeLinkStateOperation from a JSON string -change_link_state_operation_instance = ChangeLinkStateOperation.from_json(json) -# print the JSON string representation of the object -print(ChangeLinkStateOperation.to_json()) - -# convert the object into a dict -change_link_state_operation_dict = change_link_state_operation_instance.to_dict() -# create an instance of ChangeLinkStateOperation from a dict -change_link_state_operation_from_dict = ChangeLinkStateOperation.from_dict(change_link_state_operation_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ChassisInfo.md b/docs/ChassisInfo.md index 5cc85f3..ba2ead8 100644 --- a/docs/ChassisInfo.md +++ b/docs/ChassisInfo.md @@ -5,11 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**aggregated_mode** | **bool** | Whether the ports of this compute node are aggregated | [optional] [readonly] **checkout_id** | **int** | The id of the compute node used for checkout licenses | [optional] [readonly] **compute_node_id** | **str** | The id of the compute node where the agent is running | [optional] [readonly] -**hw_platform** | **str** | | [optional] -**hw_revision** | **str** | | [optional] +**front_panel_port_id** | **str** | The ID of the Front Panel Port | [optional] [readonly] +**hw_platform** | **str** | The hardware platform the corresponding port is running on | [optional] [readonly] +**hw_revision** | **str** | The hardware revision of the underlying platform | [optional] [readonly] **port_id** | **str** | The id of the corresponding port | [optional] [readonly] +**type_display_name** | **str** | The marketing name for the compute node | [optional] [readonly] ## Example diff --git a/docs/ClassicalSignatureAlgorithmTLS13.md b/docs/ClassicalSignatureAlgorithmTLS13.md new file mode 100644 index 0000000..17e2b4b --- /dev/null +++ b/docs/ClassicalSignatureAlgorithmTLS13.md @@ -0,0 +1,43 @@ +# ClassicalSignatureAlgorithmTLS13 + +The TLS supported classical signature algorithms. + +## Enum + +* `RSA_PKCS1_SHA256` (value: `'rsa_pkcs1_sha256'`) + +* `RSA_PKCS1_SHA384` (value: `'rsa_pkcs1_sha384'`) + +* `RSA_PKCS1_SHA512` (value: `'rsa_pkcs1_sha512'`) + +* `ECDSA_SECP256R1_SHA256` (value: `'ecdsa_secp256r1_sha256'`) + +* `ECDSA_SECP384R1_SHA384` (value: `'ecdsa_secp384r1_sha384'`) + +* `ECDSA_SECP521R1_SHA512` (value: `'ecdsa_secp521r1_sha512'`) + +* `RSA_PSS_RSAE_SHA256` (value: `'rsa_pss_rsae_sha256'`) + +* `RSA_PSS_RSAE_SHA384` (value: `'rsa_pss_rsae_sha384'`) + +* `RSA_PSS_RSAE_SHA512` (value: `'rsa_pss_rsae_sha512'`) + +* `RSA_PSS_PSS_SHA256` (value: `'rsa_pss_pss_sha256'`) + +* `RSA_PSS_PSS_SHA384` (value: `'rsa_pss_pss_sha384'`) + +* `RSA_PSS_PSS_SHA512` (value: `'rsa_pss_pss_sha512'`) + +* `ED25519` (value: `'ed25519'`) + +* `ED448` (value: `'ed448'`) + +* `ECDSA_BRAINPOOLP256R1TLS13_SHA256` (value: `'ecdsa_brainpoolp256r1tls13_sha256'`) + +* `ECDSA_BRAINPOOLP384R1TLS13_SHA384` (value: `'ecdsa_brainpoolp384r1tls13_sha384'`) + +* `ECDSA_BRAINPOOLP512R1TLS13_SHA512` (value: `'ecdsa_brainpoolp512r1tls13_sha512'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ClearComputeResourcesOwnershipOperation.md b/docs/ClearComputeResourcesOwnershipOperation.md new file mode 100644 index 0000000..8cf0b78 --- /dev/null +++ b/docs/ClearComputeResourcesOwnershipOperation.md @@ -0,0 +1,29 @@ +# ClearComputeResourcesOwnershipOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controllers** | [**List[ComputeResourcesByController]**](ComputeResourcesByController.md) | The controllers that the compute resources are part of. | [optional] + +## Example + +```python +from cyperf.models.clear_compute_resources_ownership_operation import ClearComputeResourcesOwnershipOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ClearComputeResourcesOwnershipOperation from a JSON string +clear_compute_resources_ownership_operation_instance = ClearComputeResourcesOwnershipOperation.from_json(json) +# print the JSON string representation of the object +print(ClearComputeResourcesOwnershipOperation.to_json()) + +# convert the object into a dict +clear_compute_resources_ownership_operation_dict = clear_compute_resources_ownership_operation_instance.to_dict() +# create an instance of ClearComputeResourcesOwnershipOperation from a dict +clear_compute_resources_ownership_operation_from_dict = ClearComputeResourcesOwnershipOperation.from_dict(clear_compute_resources_ownership_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ClearFrontPanelPortsOwnershipOperation.md b/docs/ClearFrontPanelPortsOwnershipOperation.md new file mode 100644 index 0000000..d49e2c3 --- /dev/null +++ b/docs/ClearFrontPanelPortsOwnershipOperation.md @@ -0,0 +1,29 @@ +# ClearFrontPanelPortsOwnershipOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controllers** | [**List[FrontPanelPortsByController]**](FrontPanelPortsByController.md) | The controllers that the front panel ports are part of. | [optional] + +## Example + +```python +from cyperf.models.clear_front_panel_ports_ownership_operation import ClearFrontPanelPortsOwnershipOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ClearFrontPanelPortsOwnershipOperation from a JSON string +clear_front_panel_ports_ownership_operation_instance = ClearFrontPanelPortsOwnershipOperation.from_json(json) +# print the JSON string representation of the object +print(ClearFrontPanelPortsOwnershipOperation.to_json()) + +# convert the object into a dict +clear_front_panel_ports_ownership_operation_dict = clear_front_panel_ports_ownership_operation_instance.to_dict() +# create an instance of ClearFrontPanelPortsOwnershipOperation from a dict +clear_front_panel_ports_ownership_operation_from_dict = ClearFrontPanelPortsOwnershipOperation.from_dict(clear_front_panel_ports_ownership_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CommandMetadata.md b/docs/CommandMetadata.md index 0b09e72..2fb76d9 100644 --- a/docs/CommandMetadata.md +++ b/docs/CommandMetadata.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **direction** | **str** | The direction of the strike | [optional] **is_banner** | **bool** | Indicates that this is a command that is required, can only be add once and also must be the first | [optional] **is_for_app_traffic_only** | **bool** | Indicates that this is a command that can only be used in application traffic and cannot be mixed with attack traffic | [optional] +**is_llm_strike** | **bool** | Indicates if the command is an LLM strike | [optional] **is_streaming** | **bool** | Indicates if the application's traffic is a UDP stream | [optional] **keywords** | [**List[AppsecAppMetadataKeywordsInner]**](AppsecAppMetadataKeywordsInner.md) | The keywords of the strike | [optional] **legacy_names** | **List[str]** | The names of the equivalent application/strike | [optional] diff --git a/docs/CompositePqcSignatureAlgorithmTLS13.md b/docs/CompositePqcSignatureAlgorithmTLS13.md new file mode 100644 index 0000000..f56b062 --- /dev/null +++ b/docs/CompositePqcSignatureAlgorithmTLS13.md @@ -0,0 +1,17 @@ +# CompositePqcSignatureAlgorithmTLS13 + +The TLSv1.3 supported composite PQC signature algorithms. + +## Enum + +* `P256_MLDSA44` (value: `'p256_mldsa44'`) + +* `P384_MLDSA65` (value: `'p384_mldsa65'`) + +* `P521_MLDSA87` (value: `'p521_mldsa87'`) + +* `RSA3072_MLDSA44` (value: `'rsa3072_mldsa44'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ComputeNode.md b/docs/ComputeNode.md index 2f93893..9a45359 100644 --- a/docs/ComputeNode.md +++ b/docs/ComputeNode.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aggregated_mode** | **bool** | Whether the ports of the compute node are aggregated or not | [optional] **app_mode** | [**AppMode**](AppMode.md) | | [optional] +**compute_resources** | [**List[ComputeResource]**](ComputeResource.md) | The compute Resources of the compute node | [optional] **health_details** | [**List[HealthIssue]**](HealthIssue.md) | A list with more details regarding the health of the compute node | [optional] **healthy** | **bool** | Whether the compute node has any health issue or not | [optional] **id** | **str** | The unique identifier of the compute node | [optional] @@ -17,6 +18,7 @@ Name | Type | Description | Notes **slot_number** | **int** | The slot number of the compute node | [optional] **status** | **str** | The current status of the compute node: ready or not ready | [optional] **type** | **str** | The type of the compute node | [optional] +**type_display_name** | **str** | The display type name of the compute node | [optional] ## Example diff --git a/docs/ComputeResource.md b/docs/ComputeResource.md new file mode 100644 index 0000000..cafb67a --- /dev/null +++ b/docs/ComputeResource.md @@ -0,0 +1,36 @@ +# ComputeResource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**disabled** | **bool** | Whether the compute resource is disabled or not | [optional] +**id** | **str** | The compute resource's unique identifier | [optional] +**link** | **str** | The link state of the compute resource: up or down | [optional] +**name** | **str** | A user-friendly display name for the compute resource | [optional] +**reserved_by** | **str** | The owner of the compute resource | [optional] +**speed** | **str** | The compute resource's speed | [optional] +**status** | **str** | The current status of the compute resource: ready or not ready | [optional] +**traffic_status** | **str** | The traffic status of the compute resource | [optional] + +## Example + +```python +from cyperf.models.compute_resource import ComputeResource + +# TODO update the JSON string below +json = "{}" +# create an instance of ComputeResource from a JSON string +compute_resource_instance = ComputeResource.from_json(json) +# print the JSON string representation of the object +print(ComputeResource.to_json()) + +# convert the object into a dict +compute_resource_dict = compute_resource_instance.to_dict() +# create an instance of ComputeResource from a dict +compute_resource_from_dict = ComputeResource.from_dict(compute_resource_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ComputeResourcesByController.md b/docs/ComputeResourcesByController.md new file mode 100644 index 0000000..9c14221 --- /dev/null +++ b/docs/ComputeResourcesByController.md @@ -0,0 +1,30 @@ +# ComputeResourcesByController + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**compute_nodes** | [**List[ComputeResourcesByNode]**](ComputeResourcesByNode.md) | The compute nodes that the compute resources are part of. | [optional] +**controller_id** | **str** | The id of the controller that the compute resources are part of. | [optional] + +## Example + +```python +from cyperf.models.compute_resources_by_controller import ComputeResourcesByController + +# TODO update the JSON string below +json = "{}" +# create an instance of ComputeResourcesByController from a JSON string +compute_resources_by_controller_instance = ComputeResourcesByController.from_json(json) +# print the JSON string representation of the object +print(ComputeResourcesByController.to_json()) + +# convert the object into a dict +compute_resources_by_controller_dict = compute_resources_by_controller_instance.to_dict() +# create an instance of ComputeResourcesByController from a dict +compute_resources_by_controller_from_dict = ComputeResourcesByController.from_dict(compute_resources_by_controller_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ComputeResourcesByNode.md b/docs/ComputeResourcesByNode.md new file mode 100644 index 0000000..429a63f --- /dev/null +++ b/docs/ComputeResourcesByNode.md @@ -0,0 +1,30 @@ +# ComputeResourcesByNode + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**compute_node_id** | **str** | The id of the compute node that the compute resources are part of. | [optional] +**compute_resources** | **List[str]** | The compute resource ids. | [optional] + +## Example + +```python +from cyperf.models.compute_resources_by_node import ComputeResourcesByNode + +# TODO update the JSON string below +json = "{}" +# create an instance of ComputeResourcesByNode from a JSON string +compute_resources_by_node_instance = ComputeResourcesByNode.from_json(json) +# print the JSON string representation of the object +print(ComputeResourcesByNode.to_json()) + +# convert the object into a dict +compute_resources_by_node_dict = compute_resources_by_node_instance.to_dict() +# create an instance of ComputeResourcesByNode from a dict +compute_resources_by_node_from_dict = ComputeResourcesByNode.from_dict(compute_resources_by_node_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ConfigMetadataConfigDataValue.md b/docs/ConfigMetadataConfigDataValue.md deleted file mode 100644 index 4785116..0000000 --- a/docs/ConfigMetadataConfigDataValue.md +++ /dev/null @@ -1,28 +0,0 @@ -# ConfigMetadataConfigDataValue - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - -## Example - -```python -from cyperf.models.config_metadata_config_data_value import ConfigMetadataConfigDataValue - -# TODO update the JSON string below -json = "{}" -# create an instance of ConfigMetadataConfigDataValue from a JSON string -config_metadata_config_data_value_instance = ConfigMetadataConfigDataValue.from_json(json) -# print the JSON string representation of the object -print(ConfigMetadataConfigDataValue.to_json()) - -# convert the object into a dict -config_metadata_config_data_value_dict = config_metadata_config_data_value_instance.to_dict() -# create an instance of ConfigMetadataConfigDataValue from a dict -config_metadata_config_data_value_from_dict = ConfigMetadataConfigDataValue.from_dict(config_metadata_config_data_value_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ContentBlock.md b/docs/ContentBlock.md new file mode 100644 index 0000000..00ebe4c --- /dev/null +++ b/docs/ContentBlock.md @@ -0,0 +1,33 @@ +# ContentBlock + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content** | [**List[TextSegment]**](TextSegment.md) | The content of the block, as a list of rich text segments. | [optional] +**level** | **int** | The heading level (1-6), used by heading blocks. | [optional] +**list_style** | **str** | The list style: ordered or unordered (used by list blocks). | [optional] +**severity** | **str** | The severity level of a note block: info, warning, error, or success. | [optional] +**type** | **str** | The type of content block (e.g. paragraph, list, note, heading, divider). | [optional] + +## Example + +```python +from cyperf.models.content_block import ContentBlock + +# TODO update the JSON string below +json = "{}" +# create an instance of ContentBlock from a JSON string +content_block_instance = ContentBlock.from_json(json) +# print the JSON string representation of the object +print(ContentBlock.to_json()) + +# convert the object into a dict +content_block_dict = content_block_instance.to_dict() +# create an instance of ContentBlock from a dict +content_block_from_dict = ContentBlock.from_dict(content_block_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Controller.md b/docs/Controller.md index 07f53cc..ebd86e6 100644 --- a/docs/Controller.md +++ b/docs/Controller.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **compute_nodes** | [**List[ComputeNode]**](ComputeNode.md) | The compute nodes of the controller | [optional] +**front_panels** | [**List[FrontPanel]**](FrontPanel.md) | The front panels of the controller | [optional] **health_details** | [**List[HealthIssue]**](HealthIssue.md) | Details regarding any health issue of the controller | [optional] **healthy** | **bool** | Whether the controller has any health issue or not | [optional] **id** | **str** | The unique identifier of the controller | [optional] @@ -13,6 +14,7 @@ Name | Type | Description | Notes **name** | **str** | A user-friendly display name for the controller | [optional] **serial** | **str** | The serial of the controller | [optional] **type** | **str** | The type of the controller | [optional] +**type_display_name** | **str** | The display type name of the controller | [optional] ## Example diff --git a/docs/ConvertDashboardsOperation.md b/docs/ConvertDashboardsOperation.md new file mode 100644 index 0000000..ec83651 --- /dev/null +++ b/docs/ConvertDashboardsOperation.md @@ -0,0 +1,31 @@ +# ConvertDashboardsOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dashboard_ids** | **List[str]** | The dashboard ids to be converted | [optional] +**test_id** | **str** | The test that contains the dashboards | [optional] +**types** | **List[str]** | The types of queries the dashboards will be converted in | [optional] + +## Example + +```python +from cyperf.models.convert_dashboards_operation import ConvertDashboardsOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ConvertDashboardsOperation from a JSON string +convert_dashboards_operation_instance = ConvertDashboardsOperation.from_json(json) +# print the JSON string representation of the object +print(ConvertDashboardsOperation.to_json()) + +# convert the object into a dict +convert_dashboards_operation_dict = convert_dashboards_operation_instance.to_dict() +# create an instance of ConvertDashboardsOperation from a dict +convert_dashboards_operation_from_dict = ConvertDashboardsOperation.from_dict(convert_dashboards_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CustomSequence.md b/docs/CustomSequence.md new file mode 100644 index 0000000..e96c6fe --- /dev/null +++ b/docs/CustomSequence.md @@ -0,0 +1,32 @@ +# CustomSequence + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start** | [**SingleValue**](SingleValue.md) | | [optional] +**step** | [**SingleValue**](SingleValue.md) | | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] +**sub_steps** | [**List[SubStep]**](SubStep.md) | | [optional] + +## Example + +```python +from cyperf.models.custom_sequence import CustomSequence + +# TODO update the JSON string below +json = "{}" +# create an instance of CustomSequence from a JSON string +custom_sequence_instance = CustomSequence.from_json(json) +# print the JSON string representation of the object +print(CustomSequence.to_json()) + +# convert the object into a dict +custom_sequence_dict = custom_sequence_instance.to_dict() +# create an instance of CustomSequence from a dict +custom_sequence_from_dict = CustomSequence.from_dict(custom_sequence_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DNSResolver.md b/docs/DNSResolver.md index 61ec6b0..1fc8507 100644 --- a/docs/DNSResolver.md +++ b/docs/DNSResolver.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**cache_timeout** | **int** | The cached timeout for the DNS Resolver | [optional] +**cache_timeout** | **int** | The timeout in seconds for cached DNS responses. | [optional] **enable_perconnect** | **bool** | The enable perconnection value. | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] **name_servers** | [**List[NameServer]**](NameServer.md) | A list of name servers. | [optional] diff --git a/docs/DUTNetwork.md b/docs/DUTNetwork.md index ff2f764..562f9dc 100644 --- a/docs/DUTNetwork.md +++ b/docs/DUTNetwork.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **name** | **str** | | **id** | **str** | | **network_tags** | **List[str]** | A list of tags. | [optional] +**basic_auth_profile** | [**BasicAuthProfile**](BasicAuthProfile.md) | | [optional] **client_dut_active** | **bool** | | [optional] **client_dut_host** | **str** | | [optional] **client_dut_port** | **int** | The listen port for client-side DUT (default: 80). | [optional] @@ -24,6 +25,7 @@ Name | Type | Description | Notes **reverse_proxy_pep_dut** | [**PepDUT**](PepDUT.md) | | [optional] **reverse_proxy_pep_dut_active** | **bool** | A flag indicating if the PEP device is an active device. If active, the simulated clients will send traffic to the PEP device host. (default: false) | [optional] **server_dut_active** | **bool** | A flag indicating if the server DUT is an active device. If it is, the simulated clients or client DUT(if active) will send traffic to the server DUT 'host'; and the simulated servers will use the healtcheck configurations. (default: false) | [optional] +**server_dut_address** | [**Address**](Address.md) | | [optional] **server_dut_host** | **str** | The hostname where the traffic goes if server DUT is active. | [optional] **server_dut_port** | **int** | The listen port for server-side DUT | [optional] **tcp_health_check** | [**HealthCheckConfig**](HealthCheckConfig.md) | The TCP HealthCheck configuration for DUT | [optional] diff --git a/docs/DUTRange.md b/docs/DUTRange.md new file mode 100644 index 0000000..070885d --- /dev/null +++ b/docs/DUTRange.md @@ -0,0 +1,34 @@ +# DUTRange + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **int** | | [optional] +**inner_vlan_range** | [**VLANRange**](VLANRange.md) | The inner VLAN range assigned to the current DTLS Range configuration | [optional] +**ip** | [**SequenceValue**](SequenceValue.md) | | [optional] +**outer_vlan_range** | [**VLANRange**](VLANRange.md) | The inner VLAN range assigned to the current DTLS Range configuration | [optional] +**vlan_type** | [**VLANType**](VLANType.md) | The type of VLAN used | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.dut_range import DUTRange + +# TODO update the JSON string below +json = "{}" +# create an instance of DUTRange from a JSON string +dut_range_instance = DUTRange.from_json(json) +# print the JSON string representation of the object +print(DUTRange.to_json()) + +# convert the object into a dict +dut_range_dict = dut_range_instance.to_dict() +# create an instance of DUTRange from a dict +dut_range_from_dict = DUTRange.from_dict(dut_range_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DashboardsApi.md b/docs/DashboardsApi.md new file mode 100644 index 0000000..7b5b267 --- /dev/null +++ b/docs/DashboardsApi.md @@ -0,0 +1,731 @@ +# cyperf.DashboardsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_stats_dashboard_changes**](DashboardsApi.md#create_stats_dashboard_changes) | **POST** /api/v2/stats-dashboards/{statsDashboardId}/changes | +[**create_stats_dashboards**](DashboardsApi.md#create_stats_dashboards) | **POST** /api/v2/stats-dashboards | +[**delete_stats_dashboard**](DashboardsApi.md#delete_stats_dashboard) | **DELETE** /api/v2/stats-dashboards/{statsDashboardId} | +[**get_stats_dashboard_by_id**](DashboardsApi.md#get_stats_dashboard_by_id) | **GET** /api/v2/stats-dashboards/{statsDashboardId} | +[**get_stats_dashboard_changes**](DashboardsApi.md#get_stats_dashboard_changes) | **GET** /api/v2/stats-dashboards/{statsDashboardId}/changes | +[**get_stats_dashboard_metrics**](DashboardsApi.md#get_stats_dashboard_metrics) | **GET** /api/v2/stats-dashboards/{statsDashboardId}/metrics | +[**get_stats_dashboards**](DashboardsApi.md#get_stats_dashboards) | **GET** /api/v2/stats-dashboards | +[**start_stats_dashboards_convert**](DashboardsApi.md#start_stats_dashboards_convert) | **POST** /api/v2/stats-dashboards/operations/convert | +[**update_stats_dashboard**](DashboardsApi.md#update_stats_dashboard) | **PUT** /api/v2/stats-dashboards/{statsDashboardId} | + + +# **create_stats_dashboard_changes** +> List[ChangeEvent] create_stats_dashboard_changes(stats_dashboard_id, stats_dashboard_changes=stats_dashboard_changes) + + + +Register a change event. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.change_event import ChangeEvent +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboard_id = 'stats_dashboard_id_example' # str | The ID of the stats dashboard. + stats_dashboard_changes = [cyperf.ChangeEvent()] # List[ChangeEvent] | (optional) + + try: + api_response = api_instance.create_stats_dashboard_changes(stats_dashboard_id, stats_dashboard_changes=stats_dashboard_changes) + print("The response of DashboardsApi->create_stats_dashboard_changes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->create_stats_dashboard_changes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboard_id** | **str**| The ID of the stats dashboard. | + **stats_dashboard_changes** | [**List[ChangeEvent]**](ChangeEvent.md)| | [optional] + +### Return type + +[**List[ChangeEvent]**](ChangeEvent.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The change event was successfully registered. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_stats_dashboards** +> List[StatsDashboard] create_stats_dashboards(stats_dashboards=stats_dashboards) + + + +Add a new dashboard. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.stats_dashboard import StatsDashboard +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboards = [cyperf.StatsDashboard()] # List[StatsDashboard] | (optional) + + try: + api_response = api_instance.create_stats_dashboards(stats_dashboards=stats_dashboards) + print("The response of DashboardsApi->create_stats_dashboards:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->create_stats_dashboards: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboards** | [**List[StatsDashboard]**](StatsDashboard.md)| | [optional] + +### Return type + +[**List[StatsDashboard]**](StatsDashboard.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | The dashboard was successfully added. | - | +**409** | The request could not be completed due to a conflict with the current state of the target resource. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_stats_dashboard** +> delete_stats_dashboard(stats_dashboard_id) + + + +Delete a particular dashboard. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboard_id = 'stats_dashboard_id_example' # str | The ID of the stats dashboard. + + try: + api_instance.delete_stats_dashboard(stats_dashboard_id) + except Exception as e: + print("Exception when calling DashboardsApi->delete_stats_dashboard: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboard_id** | **str**| The ID of the stats dashboard. | + +### Return type + +void (empty response body) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | The dashboard was successfully deleted. | - | +**403** | The initiator of the request does not have enough privileges to perform the action. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_stats_dashboard_by_id** +> StatsDashboard get_stats_dashboard_by_id(stats_dashboard_id) + + + +Get a particular dashboard. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.stats_dashboard import StatsDashboard +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboard_id = 'stats_dashboard_id_example' # str | The ID of the stats dashboard. + + try: + api_response = api_instance.get_stats_dashboard_by_id(stats_dashboard_id) + print("The response of DashboardsApi->get_stats_dashboard_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->get_stats_dashboard_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboard_id** | **str**| The ID of the stats dashboard. | + +### Return type + +[**StatsDashboard**](StatsDashboard.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The requested dashboard | - | +**403** | The initiator of the request does not have enough privileges to perform the action. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_stats_dashboard_changes** +> GetStatsDashboardChanges200Response get_stats_dashboard_changes(stats_dashboard_id, take=take, skip=skip) + + + +Get the list of change events. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_stats_dashboard_changes200_response import GetStatsDashboardChanges200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboard_id = 'stats_dashboard_id_example' # str | The ID of the stats dashboard. + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_stats_dashboard_changes(stats_dashboard_id, take=take, skip=skip) + print("The response of DashboardsApi->get_stats_dashboard_changes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->get_stats_dashboard_changes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboard_id** | **str**| The ID of the stats dashboard. | + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetStatsDashboardChanges200Response**](GetStatsDashboardChanges200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of change events. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_stats_dashboard_metrics** +> MetricsList get_stats_dashboard_metrics(stats_dashboard_id) + + + +Get the list of metrics. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.metrics_list import MetricsList +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboard_id = 'stats_dashboard_id_example' # str | The ID of the stats dashboard. + + try: + api_response = api_instance.get_stats_dashboard_metrics(stats_dashboard_id) + print("The response of DashboardsApi->get_stats_dashboard_metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->get_stats_dashboard_metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboard_id** | **str**| The ID of the stats dashboard. | + +### Return type + +[**MetricsList**](MetricsList.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The requested metrics | - | +**403** | The initiator of the request does not have enough privileges to perform the action. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_stats_dashboards** +> GetStatsDashboards200Response get_stats_dashboards(take=take, skip=skip) + + + +Get all the dashboards. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.get_stats_dashboards200_response import GetStatsDashboards200Response +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + take = 56 # int | The number of search results to return (optional) + skip = 56 # int | The number of search results to skip (optional) + + try: + api_response = api_instance.get_stats_dashboards(take=take, skip=skip) + print("The response of DashboardsApi->get_stats_dashboards:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->get_stats_dashboards: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **take** | **int**| The number of search results to return | [optional] + **skip** | **int**| The number of search results to skip | [optional] + +### Return type + +[**GetStatsDashboards200Response**](GetStatsDashboards200Response.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The list of available dashboards | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **start_stats_dashboards_convert** +> AsyncContext start_stats_dashboards_convert(convert_dashboards_operation=convert_dashboards_operation) + + + +Converts dashboards to specified types of results. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.async_context import AsyncContext +from cyperf.models.convert_dashboards_operation import ConvertDashboardsOperation +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + convert_dashboards_operation = cyperf.ConvertDashboardsOperation() # ConvertDashboardsOperation | (optional) + + try: + api_response = api_instance.start_stats_dashboards_convert(convert_dashboards_operation=convert_dashboards_operation) + print("The response of DashboardsApi->start_stats_dashboards_convert:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->start_stats_dashboards_convert: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **convert_dashboards_operation** | [**ConvertDashboardsOperation**](ConvertDashboardsOperation.md)| | [optional] + +### Return type + +[**AsyncContext**](AsyncContext.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Details about the operation that just started | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_stats_dashboard** +> StatsDashboard update_stats_dashboard(stats_dashboard_id, stats_dashboard=stats_dashboard) + + + +Update a dashboard. + +### Example + +* OAuth Authentication (OAuth2): +* OAuth Authentication (OAuth2): + +```python +import cyperf +from cyperf.models.stats_dashboard import StatsDashboard +from cyperf.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = cyperf.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] + +# Enter a context with an instance of the API client +with cyperf.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = cyperf.DashboardsApi(api_client) + stats_dashboard_id = 'stats_dashboard_id_example' # str | The ID of the stats dashboard. + stats_dashboard = cyperf.StatsDashboard() # StatsDashboard | (optional) + + try: + api_response = api_instance.update_stats_dashboard(stats_dashboard_id, stats_dashboard=stats_dashboard) + print("The response of DashboardsApi->update_stats_dashboard:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DashboardsApi->update_stats_dashboard: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **stats_dashboard_id** | **str**| The ID of the stats dashboard. | + **stats_dashboard** | [**StatsDashboard**](StatsDashboard.md)| | [optional] + +### Return type + +[**StatsDashboard**](StatsDashboard.md) + +### Authorization + +[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | The updated dashboard | - | +**403** | The initiator of the request does not have enough privileges to perform the action. | - | +**500** | Unexpected error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/DataMigrationApi.md b/docs/DataMigrationApi.md index cb37771..9c8d569 100644 --- a/docs/DataMigrationApi.md +++ b/docs/DataMigrationApi.md @@ -87,7 +87,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **start_controller_migration_import** -> AsyncContext start_controller_migration_import() +> AsyncContext start_controller_migration_import(file=file) @@ -123,9 +123,10 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.DataMigrationApi(api_client) + file = None # bytearray | (optional) try: - api_response = api_instance.start_controller_migration_import() + api_response = api_instance.start_controller_migration_import(file=file) print("The response of DataMigrationApi->start_controller_migration_import:\n") pprint(api_response) except Exception as e: @@ -136,7 +137,10 @@ with cyperf.ApiClient(configuration) as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **file** | **bytearray**| | [optional] ### Return type @@ -148,7 +152,7 @@ This endpoint does not need any parameter. ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: multipart/form-data - **Accept**: application/json ### HTTP response details diff --git a/docs/DataSourceDetails.md b/docs/DataSourceDetails.md new file mode 100644 index 0000000..07f04a2 --- /dev/null +++ b/docs/DataSourceDetails.md @@ -0,0 +1,31 @@ +# DataSourceDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**extra_filters** | **Dict[str, str]** | Extra filters to be applied to the data source of the panel | [optional] +**name** | **str** | The name of the data source of the panel | [optional] +**timestamp_field** | **str** | The name of the timestamp field of the data source of the panel | [optional] + +## Example + +```python +from cyperf.models.data_source_details import DataSourceDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of DataSourceDetails from a JSON string +data_source_details_instance = DataSourceDetails.from_json(json) +# print the JSON string representation of the object +print(DataSourceDetails.to_json()) + +# convert the object into a dict +data_source_details_dict = data_source_details_instance.to_dict() +# create an instance of DataSourceDetails from a dict +data_source_details_from_dict = DataSourceDetails.from_dict(data_source_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DismissOperation.md b/docs/DismissOperation.md new file mode 100644 index 0000000..db0085c --- /dev/null +++ b/docs/DismissOperation.md @@ -0,0 +1,29 @@ +# DismissOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filters** | **Dict[str, List[str]]** | | [optional] + +## Example + +```python +from cyperf.models.dismiss_operation import DismissOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of DismissOperation from a JSON string +dismiss_operation_instance = DismissOperation.from_json(json) +# print the JSON string representation of the object +print(DismissOperation.to_json()) + +# convert the object into a dict +dismiss_operation_dict = dismiss_operation_instance.to_dict() +# create an instance of DismissOperation from a dict +dismiss_operation_from_dict = DismissOperation.from_dict(dismiss_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EmulatedRouterRange.md b/docs/EmulatedRouterRange.md index efcbd7c..35e5fba 100644 --- a/docs/EmulatedRouterRange.md +++ b/docs/EmulatedRouterRange.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **gw_start** | **str** | The gateway start IP for the IPRange (default: 10.0.0.1). | [optional] **host_count** | **int** | The number of Host IPs generated (default: 1). | [optional] **inner_vlan_range** | [**VLANRange**](VLANRange.md) | The inner VLAN range assigned to the current IP range configuration | [optional] +**ip_address** | [**SequenceValue**](SequenceValue.md) | | [optional] **ip_auto** | **bool** | A flag indicating if IP settings for the IPRange should be determined automatically (default: true). | **ip_incr** | **str** | The IP incrementation rule (default: 0.0.0.1). | [optional] **ip_range_name** | **str** | | @@ -21,6 +22,8 @@ Name | Type | Description | Notes **mss_auto** | **bool** | A flag indicating if Mss settings for the IPRange should be determined automatically (default: false). | **net_mask** | **int** | The network mask of the IP Range (default: 16). | [optional] **net_mask_auto** | **bool** | A flag indicating if the network mask of the IPRange should be determined automatically (default: true). | +**outer_vlan_range** | [**VLANRange**](VLANRange.md) | The outer VLAN range assigned to the current IP range configuration | [optional] +**vlan_type** | [**VLANType**](VLANType.md) | The type of VLAN used | [optional] **id** | **str** | | **links** | [**List[APILink]**](APILink.md) | | [optional] **max_count_per_agent** | **int** | The maximum number of IPs that should be assigned to each traffic agent for this IP range segment in a valid test (default: 1). | [optional] diff --git a/docs/EthRange.md b/docs/EthRange.md index 58f4130..082f2e5 100644 --- a/docs/EthRange.md +++ b/docs/EthRange.md @@ -7,7 +7,8 @@ The Ethernet Ranges assigned to the current test configuration Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **count** | **int** | | [optional] -**mac_auto** | **bool** | A flag indicating if the MAC address for the EthRange should be determined automatically (default: true). | +**mac_address** | [**SequenceValue**](SequenceValue.md) | | [optional] +**mac_auto** | **bool** | A flag indicating if the MAC address for the EthRange should be determined automatically (default: true). | [optional] **mac_incr** | **str** | The MAC address increment rule for the EthRange (default: 00:00:00:00:00:01). | [optional] **mac_start** | **str** | The MAC start address for the EthRange (default: 00:11:01:00:00:01). | [optional] **one_mac_per_ip** | **bool** | A flag indicating if there is only one MAC address for the EthRange per IPRange (default: true). | [optional] diff --git a/docs/FormattedDescription.md b/docs/FormattedDescription.md new file mode 100644 index 0000000..f588c0f --- /dev/null +++ b/docs/FormattedDescription.md @@ -0,0 +1,31 @@ +# FormattedDescription + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**layout** | [**LayoutConfig**](LayoutConfig.md) | | [optional] +**sections** | [**List[Section]**](Section.md) | The list of sections that make up the page. | [optional] +**summary** | [**Section**](Section.md) | | [optional] + +## Example + +```python +from cyperf.models.formatted_description import FormattedDescription + +# TODO update the JSON string below +json = "{}" +# create an instance of FormattedDescription from a JSON string +formatted_description_instance = FormattedDescription.from_json(json) +# print the JSON string representation of the object +print(FormattedDescription.to_json()) + +# convert the object into a dict +formatted_description_dict = formatted_description_instance.to_dict() +# create an instance of FormattedDescription from a dict +formatted_description_from_dict = FormattedDescription.from_dict(formatted_description_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FrontPanel.md b/docs/FrontPanel.md new file mode 100644 index 0000000..d1f9ac1 --- /dev/null +++ b/docs/FrontPanel.md @@ -0,0 +1,37 @@ +# FrontPanel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**available_fan_out_modes** | **List[str]** | A list with the current fanOut modes available for the front panel | [optional] +**fan_out_mode** | **str** | The current fanOut mode of the front panel | [optional] +**health_details** | [**List[HealthIssue]**](HealthIssue.md) | A list with more details regarding the health of the front panel | [optional] +**healthy** | **bool** | Whether the front panel has any health issue or not | [optional] +**id** | **str** | The unique identifier of the front panel | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] +**name** | **str** | A user-friendly display name for the front panel | [optional] +**ports** | [**List[Port]**](Port.md) | The front panel ports of the front panel | [optional] +**status** | **str** | The current status of the front panel: ready or not ready | [optional] + +## Example + +```python +from cyperf.models.front_panel import FrontPanel + +# TODO update the JSON string below +json = "{}" +# create an instance of FrontPanel from a JSON string +front_panel_instance = FrontPanel.from_json(json) +# print the JSON string representation of the object +print(FrontPanel.to_json()) + +# convert the object into a dict +front_panel_dict = front_panel_instance.to_dict() +# create an instance of FrontPanel from a dict +front_panel_from_dict = FrontPanel.from_dict(front_panel_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FrontPanelPortsByController.md b/docs/FrontPanelPortsByController.md new file mode 100644 index 0000000..6239924 --- /dev/null +++ b/docs/FrontPanelPortsByController.md @@ -0,0 +1,30 @@ +# FrontPanelPortsByController + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controller_id** | **str** | The id of the controller that the front panel ports are part of. | [optional] +**front_panels** | [**List[PortsByPanel]**](PortsByPanel.md) | The front panels that the ports are part of. | [optional] + +## Example + +```python +from cyperf.models.front_panel_ports_by_controller import FrontPanelPortsByController + +# TODO update the JSON string below +json = "{}" +# create an instance of FrontPanelPortsByController from a JSON string +front_panel_ports_by_controller_instance = FrontPanelPortsByController.from_json(json) +# print the JSON string representation of the object +print(FrontPanelPortsByController.to_json()) + +# convert the object into a dict +front_panel_ports_by_controller_dict = front_panel_ports_by_controller_instance.to_dict() +# create an instance of FrontPanelPortsByController from a dict +front_panel_ports_by_controller_from_dict = FrontPanelPortsByController.from_dict(front_panel_ports_by_controller_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/FrontPanelsByController.md b/docs/FrontPanelsByController.md new file mode 100644 index 0000000..38d128f --- /dev/null +++ b/docs/FrontPanelsByController.md @@ -0,0 +1,30 @@ +# FrontPanelsByController + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controller_id** | **str** | The id of the controller that the front panels are part of. | [optional] +**front_panels** | **List[str]** | The front panel ids. | [optional] + +## Example + +```python +from cyperf.models.front_panels_by_controller import FrontPanelsByController + +# TODO update the JSON string below +json = "{}" +# create an instance of FrontPanelsByController from a JSON string +front_panels_by_controller_instance = FrontPanelsByController.from_json(json) +# print the JSON string representation of the object +print(FrontPanelsByController.to_json()) + +# convert the object into a dict +front_panels_by_controller_dict = front_panels_by_controller_instance.to_dict() +# create an instance of FrontPanelsByController from a dict +front_panels_by_controller_from_dict = FrontPanelsByController.from_dict(front_panels_by_controller_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetAgentTags200Response.md b/docs/GetAgentTags200Response.md deleted file mode 100644 index 96a6bb2..0000000 --- a/docs/GetAgentTags200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetAgentTags200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AgentsGroup]**](AgentsGroup.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_agent_tags200_response import GetAgentTags200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAgentTags200Response from a JSON string -get_agent_tags200_response_instance = GetAgentTags200Response.from_json(json) -# print the JSON string representation of the object -print(GetAgentTags200Response.to_json()) - -# convert the object into a dict -get_agent_tags200_response_dict = get_agent_tags200_response_instance.to_dict() -# create an instance of GetAgentTags200Response from a dict -get_agent_tags200_response_from_dict = GetAgentTags200Response.from_dict(get_agent_tags200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAgentTags200ResponseOneOf.md b/docs/GetAgentTags200ResponseOneOf.md deleted file mode 100644 index da2638d..0000000 --- a/docs/GetAgentTags200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetAgentTags200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AgentsGroup]**](AgentsGroup.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_agent_tags200_response_one_of import GetAgentTags200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAgentTags200ResponseOneOf from a JSON string -get_agent_tags200_response_one_of_instance = GetAgentTags200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetAgentTags200ResponseOneOf.to_json()) - -# convert the object into a dict -get_agent_tags200_response_one_of_dict = get_agent_tags200_response_one_of_instance.to_dict() -# create an instance of GetAgentTags200ResponseOneOf from a dict -get_agent_tags200_response_one_of_from_dict = GetAgentTags200ResponseOneOf.from_dict(get_agent_tags200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetApplicationTypes200Response.md b/docs/GetApplicationTypes200Response.md deleted file mode 100644 index cf052d1..0000000 --- a/docs/GetApplicationTypes200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetApplicationTypes200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[ApplicationType]**](ApplicationType.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_application_types200_response import GetApplicationTypes200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetApplicationTypes200Response from a JSON string -get_application_types200_response_instance = GetApplicationTypes200Response.from_json(json) -# print the JSON string representation of the object -print(GetApplicationTypes200Response.to_json()) - -# convert the object into a dict -get_application_types200_response_dict = get_application_types200_response_instance.to_dict() -# create an instance of GetApplicationTypes200Response from a dict -get_application_types200_response_from_dict = GetApplicationTypes200Response.from_dict(get_application_types200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetApplicationTypes200ResponseOneOf.md b/docs/GetApplicationTypes200ResponseOneOf.md deleted file mode 100644 index ee08d2b..0000000 --- a/docs/GetApplicationTypes200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetApplicationTypes200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[ApplicationType]**](ApplicationType.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_application_types200_response_one_of import GetApplicationTypes200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetApplicationTypes200ResponseOneOf from a JSON string -get_application_types200_response_one_of_instance = GetApplicationTypes200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetApplicationTypes200ResponseOneOf.to_json()) - -# convert the object into a dict -get_application_types200_response_one_of_dict = get_application_types200_response_one_of_instance.to_dict() -# create an instance of GetApplicationTypes200ResponseOneOf from a dict -get_application_types200_response_one_of_from_dict = GetApplicationTypes200ResponseOneOf.from_dict(get_application_types200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetApps200Response.md b/docs/GetApps200Response.md deleted file mode 100644 index f86194c..0000000 --- a/docs/GetApps200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetApps200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AppsecApp]**](AppsecApp.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_apps200_response import GetApps200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetApps200Response from a JSON string -get_apps200_response_instance = GetApps200Response.from_json(json) -# print the JSON string representation of the object -print(GetApps200Response.to_json()) - -# convert the object into a dict -get_apps200_response_dict = get_apps200_response_instance.to_dict() -# create an instance of GetApps200Response from a dict -get_apps200_response_from_dict = GetApps200Response.from_dict(get_apps200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetApps200ResponseOneOf.md b/docs/GetApps200ResponseOneOf.md deleted file mode 100644 index 7831c53..0000000 --- a/docs/GetApps200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetApps200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AppsecApp]**](AppsecApp.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_apps200_response_one_of import GetApps200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetApps200ResponseOneOf from a JSON string -get_apps200_response_one_of_instance = GetApps200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetApps200ResponseOneOf.to_json()) - -# convert the object into a dict -get_apps200_response_one_of_dict = get_apps200_response_one_of_instance.to_dict() -# create an instance of GetApps200ResponseOneOf from a dict -get_apps200_response_one_of_from_dict = GetApps200ResponseOneOf.from_dict(get_apps200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAttacks200Response.md b/docs/GetAttacks200Response.md deleted file mode 100644 index c3952a6..0000000 --- a/docs/GetAttacks200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetAttacks200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AppsecAttack]**](AppsecAttack.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_attacks200_response import GetAttacks200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAttacks200Response from a JSON string -get_attacks200_response_instance = GetAttacks200Response.from_json(json) -# print the JSON string representation of the object -print(GetAttacks200Response.to_json()) - -# convert the object into a dict -get_attacks200_response_dict = get_attacks200_response_instance.to_dict() -# create an instance of GetAttacks200Response from a dict -get_attacks200_response_from_dict = GetAttacks200Response.from_dict(get_attacks200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAttacks200ResponseOneOf.md b/docs/GetAttacks200ResponseOneOf.md deleted file mode 100644 index 56de8af..0000000 --- a/docs/GetAttacks200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetAttacks200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AppsecAttack]**](AppsecAttack.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_attacks200_response_one_of import GetAttacks200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAttacks200ResponseOneOf from a JSON string -get_attacks200_response_one_of_instance = GetAttacks200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetAttacks200ResponseOneOf.to_json()) - -# convert the object into a dict -get_attacks200_response_one_of_dict = get_attacks200_response_one_of_instance.to_dict() -# create an instance of GetAttacks200ResponseOneOf from a dict -get_attacks200_response_one_of_from_dict = GetAttacks200ResponseOneOf.from_dict(get_attacks200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAttacksOperation.md b/docs/GetAttacksOperation.md deleted file mode 100644 index c6725a6..0000000 --- a/docs/GetAttacksOperation.md +++ /dev/null @@ -1,35 +0,0 @@ -# GetAttacksOperation - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**categories** | [**List[CategoryFilter]**](CategoryFilter.md) | | [optional] -**filter_mode** | **str** | | [optional] -**search_col** | **List[str]** | | [optional] -**search_val** | **List[str]** | | [optional] -**skip** | **str** | | [optional] -**sort** | [**List[SortBodyField]**](SortBodyField.md) | | [optional] -**take** | **str** | | [optional] - -## Example - -```python -from cyperf.models.get_attacks_operation import GetAttacksOperation - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAttacksOperation from a JSON string -get_attacks_operation_instance = GetAttacksOperation.from_json(json) -# print the JSON string representation of the object -print(GetAttacksOperation.to_json()) - -# convert the object into a dict -get_attacks_operation_dict = get_attacks_operation_instance.to_dict() -# create an instance of GetAttacksOperation from a dict -get_attacks_operation_from_dict = GetAttacksOperation.from_dict(get_attacks_operation_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAuthProfiles200Response.md b/docs/GetAuthProfiles200Response.md deleted file mode 100644 index cd5d550..0000000 --- a/docs/GetAuthProfiles200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetAuthProfiles200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AuthProfile]**](AuthProfile.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_auth_profiles200_response import GetAuthProfiles200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAuthProfiles200Response from a JSON string -get_auth_profiles200_response_instance = GetAuthProfiles200Response.from_json(json) -# print the JSON string representation of the object -print(GetAuthProfiles200Response.to_json()) - -# convert the object into a dict -get_auth_profiles200_response_dict = get_auth_profiles200_response_instance.to_dict() -# create an instance of GetAuthProfiles200Response from a dict -get_auth_profiles200_response_from_dict = GetAuthProfiles200Response.from_dict(get_auth_profiles200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAuthProfiles200ResponseOneOf.md b/docs/GetAuthProfiles200ResponseOneOf.md deleted file mode 100644 index 90b8cfe..0000000 --- a/docs/GetAuthProfiles200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetAuthProfiles200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[AuthProfile]**](AuthProfile.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_auth_profiles200_response_one_of import GetAuthProfiles200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetAuthProfiles200ResponseOneOf from a JSON string -get_auth_profiles200_response_one_of_instance = GetAuthProfiles200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetAuthProfiles200ResponseOneOf.to_json()) - -# convert the object into a dict -get_auth_profiles200_response_one_of_dict = get_auth_profiles200_response_one_of_instance.to_dict() -# create an instance of GetAuthProfiles200ResponseOneOf from a dict -get_auth_profiles200_response_one_of_from_dict = GetAuthProfiles200ResponseOneOf.from_dict(get_auth_profiles200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetCertificates200Response.md b/docs/GetCertificates200Response.md deleted file mode 100644 index aac9575..0000000 --- a/docs/GetCertificates200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetCertificates200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[GenericFile]**](GenericFile.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_certificates200_response import GetCertificates200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetCertificates200Response from a JSON string -get_certificates200_response_instance = GetCertificates200Response.from_json(json) -# print the JSON string representation of the object -print(GetCertificates200Response.to_json()) - -# convert the object into a dict -get_certificates200_response_dict = get_certificates200_response_instance.to_dict() -# create an instance of GetCertificates200Response from a dict -get_certificates200_response_from_dict = GetCertificates200Response.from_dict(get_certificates200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetCertificates200ResponseOneOf.md b/docs/GetCertificates200ResponseOneOf.md deleted file mode 100644 index 4c471a7..0000000 --- a/docs/GetCertificates200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetCertificates200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[GenericFile]**](GenericFile.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_certificates200_response_one_of import GetCertificates200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetCertificates200ResponseOneOf from a JSON string -get_certificates200_response_one_of_instance = GetCertificates200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetCertificates200ResponseOneOf.to_json()) - -# convert the object into a dict -get_certificates200_response_one_of_dict = get_certificates200_response_one_of_instance.to_dict() -# create an instance of GetCertificates200ResponseOneOf from a dict -get_certificates200_response_one_of_from_dict = GetCertificates200ResponseOneOf.from_dict(get_certificates200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetComputeNodeComputeResources200Response.md b/docs/GetComputeNodeComputeResources200Response.md new file mode 100644 index 0000000..7eb416c --- /dev/null +++ b/docs/GetComputeNodeComputeResources200Response.md @@ -0,0 +1,30 @@ +# GetComputeNodeComputeResources200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ComputeResource]**](ComputeResource.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_compute_node_compute_resources200_response import GetComputeNodeComputeResources200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetComputeNodeComputeResources200Response from a JSON string +get_compute_node_compute_resources200_response_instance = GetComputeNodeComputeResources200Response.from_json(json) +# print the JSON string representation of the object +print(GetComputeNodeComputeResources200Response.to_json()) + +# convert the object into a dict +get_compute_node_compute_resources200_response_dict = get_compute_node_compute_resources200_response_instance.to_dict() +# create an instance of GetComputeNodeComputeResources200Response from a dict +get_compute_node_compute_resources200_response_from_dict = GetComputeNodeComputeResources200Response.from_dict(get_compute_node_compute_resources200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetComputeNodeComputeResources200ResponseOneOf.md b/docs/GetComputeNodeComputeResources200ResponseOneOf.md new file mode 100644 index 0000000..86efa0f --- /dev/null +++ b/docs/GetComputeNodeComputeResources200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetComputeNodeComputeResources200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ComputeResource]**](ComputeResource.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_compute_node_compute_resources200_response_one_of import GetComputeNodeComputeResources200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetComputeNodeComputeResources200ResponseOneOf from a JSON string +get_compute_node_compute_resources200_response_one_of_instance = GetComputeNodeComputeResources200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetComputeNodeComputeResources200ResponseOneOf.to_json()) + +# convert the object into a dict +get_compute_node_compute_resources200_response_one_of_dict = get_compute_node_compute_resources200_response_one_of_instance.to_dict() +# create an instance of GetComputeNodeComputeResources200ResponseOneOf from a dict +get_compute_node_compute_resources200_response_one_of_from_dict = GetComputeNodeComputeResources200ResponseOneOf.from_dict(get_compute_node_compute_resources200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetComputeNodePorts200Response.md b/docs/GetComputeNodePorts200Response.md new file mode 100644 index 0000000..ceb6489 --- /dev/null +++ b/docs/GetComputeNodePorts200Response.md @@ -0,0 +1,30 @@ +# GetComputeNodePorts200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[Port]**](Port.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_compute_node_ports200_response import GetComputeNodePorts200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetComputeNodePorts200Response from a JSON string +get_compute_node_ports200_response_instance = GetComputeNodePorts200Response.from_json(json) +# print the JSON string representation of the object +print(GetComputeNodePorts200Response.to_json()) + +# convert the object into a dict +get_compute_node_ports200_response_dict = get_compute_node_ports200_response_instance.to_dict() +# create an instance of GetComputeNodePorts200Response from a dict +get_compute_node_ports200_response_from_dict = GetComputeNodePorts200Response.from_dict(get_compute_node_ports200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetComputeNodePorts200ResponseOneOf.md b/docs/GetComputeNodePorts200ResponseOneOf.md new file mode 100644 index 0000000..37100ad --- /dev/null +++ b/docs/GetComputeNodePorts200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetComputeNodePorts200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[Port]**](Port.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_compute_node_ports200_response_one_of import GetComputeNodePorts200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetComputeNodePorts200ResponseOneOf from a JSON string +get_compute_node_ports200_response_one_of_instance = GetComputeNodePorts200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetComputeNodePorts200ResponseOneOf.to_json()) + +# convert the object into a dict +get_compute_node_ports200_response_one_of_dict = get_compute_node_ports200_response_one_of_instance.to_dict() +# create an instance of GetComputeNodePorts200ResponseOneOf from a dict +get_compute_node_ports200_response_one_of_from_dict = GetComputeNodePorts200ResponseOneOf.from_dict(get_compute_node_ports200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetConsumers200Response.md b/docs/GetConsumers200Response.md deleted file mode 100644 index 07505ca..0000000 --- a/docs/GetConsumers200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetConsumers200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[Consumer]**](Consumer.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_consumers200_response import GetConsumers200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetConsumers200Response from a JSON string -get_consumers200_response_instance = GetConsumers200Response.from_json(json) -# print the JSON string representation of the object -print(GetConsumers200Response.to_json()) - -# convert the object into a dict -get_consumers200_response_dict = get_consumers200_response_instance.to_dict() -# create an instance of GetConsumers200Response from a dict -get_consumers200_response_from_dict = GetConsumers200Response.from_dict(get_consumers200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetConsumers200ResponseOneOf.md b/docs/GetConsumers200ResponseOneOf.md deleted file mode 100644 index 34f34b8..0000000 --- a/docs/GetConsumers200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetConsumers200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[Consumer]**](Consumer.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_consumers200_response_one_of import GetConsumers200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetConsumers200ResponseOneOf from a JSON string -get_consumers200_response_one_of_instance = GetConsumers200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetConsumers200ResponseOneOf.to_json()) - -# convert the object into a dict -get_consumers200_response_one_of_dict = get_consumers200_response_one_of_instance.to_dict() -# create an instance of GetConsumers200ResponseOneOf from a dict -get_consumers200_response_one_of_from_dict = GetConsumers200ResponseOneOf.from_dict(get_consumers200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetControllerComputeNodes200Response.md b/docs/GetControllerComputeNodes200Response.md new file mode 100644 index 0000000..c44863a --- /dev/null +++ b/docs/GetControllerComputeNodes200Response.md @@ -0,0 +1,30 @@ +# GetControllerComputeNodes200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ComputeNode]**](ComputeNode.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_controller_compute_nodes200_response import GetControllerComputeNodes200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetControllerComputeNodes200Response from a JSON string +get_controller_compute_nodes200_response_instance = GetControllerComputeNodes200Response.from_json(json) +# print the JSON string representation of the object +print(GetControllerComputeNodes200Response.to_json()) + +# convert the object into a dict +get_controller_compute_nodes200_response_dict = get_controller_compute_nodes200_response_instance.to_dict() +# create an instance of GetControllerComputeNodes200Response from a dict +get_controller_compute_nodes200_response_from_dict = GetControllerComputeNodes200Response.from_dict(get_controller_compute_nodes200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetControllerComputeNodes200ResponseOneOf.md b/docs/GetControllerComputeNodes200ResponseOneOf.md new file mode 100644 index 0000000..3a6a3c1 --- /dev/null +++ b/docs/GetControllerComputeNodes200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetControllerComputeNodes200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ComputeNode]**](ComputeNode.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_controller_compute_nodes200_response_one_of import GetControllerComputeNodes200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetControllerComputeNodes200ResponseOneOf from a JSON string +get_controller_compute_nodes200_response_one_of_instance = GetControllerComputeNodes200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetControllerComputeNodes200ResponseOneOf.to_json()) + +# convert the object into a dict +get_controller_compute_nodes200_response_one_of_dict = get_controller_compute_nodes200_response_one_of_instance.to_dict() +# create an instance of GetControllerComputeNodes200ResponseOneOf from a dict +get_controller_compute_nodes200_response_one_of_from_dict = GetControllerComputeNodes200ResponseOneOf.from_dict(get_controller_compute_nodes200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetControllerFrontPanels200Response.md b/docs/GetControllerFrontPanels200Response.md new file mode 100644 index 0000000..c61b21d --- /dev/null +++ b/docs/GetControllerFrontPanels200Response.md @@ -0,0 +1,30 @@ +# GetControllerFrontPanels200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[FrontPanel]**](FrontPanel.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_controller_front_panels200_response import GetControllerFrontPanels200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetControllerFrontPanels200Response from a JSON string +get_controller_front_panels200_response_instance = GetControllerFrontPanels200Response.from_json(json) +# print the JSON string representation of the object +print(GetControllerFrontPanels200Response.to_json()) + +# convert the object into a dict +get_controller_front_panels200_response_dict = get_controller_front_panels200_response_instance.to_dict() +# create an instance of GetControllerFrontPanels200Response from a dict +get_controller_front_panels200_response_from_dict = GetControllerFrontPanels200Response.from_dict(get_controller_front_panels200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetControllerFrontPanels200ResponseOneOf.md b/docs/GetControllerFrontPanels200ResponseOneOf.md new file mode 100644 index 0000000..880e03d --- /dev/null +++ b/docs/GetControllerFrontPanels200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetControllerFrontPanels200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[FrontPanel]**](FrontPanel.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_controller_front_panels200_response_one_of import GetControllerFrontPanels200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetControllerFrontPanels200ResponseOneOf from a JSON string +get_controller_front_panels200_response_one_of_instance = GetControllerFrontPanels200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetControllerFrontPanels200ResponseOneOf.to_json()) + +# convert the object into a dict +get_controller_front_panels200_response_one_of_dict = get_controller_front_panels200_response_one_of_instance.to_dict() +# create an instance of GetControllerFrontPanels200ResponseOneOf from a dict +get_controller_front_panels200_response_one_of_from_dict = GetControllerFrontPanels200ResponseOneOf.from_dict(get_controller_front_panels200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetCustomImportOperations200Response.md b/docs/GetCustomImportOperations200Response.md deleted file mode 100644 index 2aa8381..0000000 --- a/docs/GetCustomImportOperations200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetCustomImportOperations200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[CustomImportHandler]**](CustomImportHandler.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_custom_import_operations200_response import GetCustomImportOperations200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetCustomImportOperations200Response from a JSON string -get_custom_import_operations200_response_instance = GetCustomImportOperations200Response.from_json(json) -# print the JSON string representation of the object -print(GetCustomImportOperations200Response.to_json()) - -# convert the object into a dict -get_custom_import_operations200_response_dict = get_custom_import_operations200_response_instance.to_dict() -# create an instance of GetCustomImportOperations200Response from a dict -get_custom_import_operations200_response_from_dict = GetCustomImportOperations200Response.from_dict(get_custom_import_operations200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetCustomImportOperations200ResponseOneOf.md b/docs/GetCustomImportOperations200ResponseOneOf.md deleted file mode 100644 index 0a461cc..0000000 --- a/docs/GetCustomImportOperations200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetCustomImportOperations200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[CustomImportHandler]**](CustomImportHandler.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_custom_import_operations200_response_one_of import GetCustomImportOperations200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetCustomImportOperations200ResponseOneOf from a JSON string -get_custom_import_operations200_response_one_of_instance = GetCustomImportOperations200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetCustomImportOperations200ResponseOneOf.to_json()) - -# convert the object into a dict -get_custom_import_operations200_response_one_of_dict = get_custom_import_operations200_response_one_of_instance.to_dict() -# create an instance of GetCustomImportOperations200ResponseOneOf from a dict -get_custom_import_operations200_response_one_of_from_dict = GetCustomImportOperations200ResponseOneOf.from_dict(get_custom_import_operations200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetFiles200Response.md b/docs/GetFiles200Response.md deleted file mode 100644 index 0172b72..0000000 --- a/docs/GetFiles200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetFiles200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[ResultFileMetadata]**](ResultFileMetadata.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_files200_response import GetFiles200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetFiles200Response from a JSON string -get_files200_response_instance = GetFiles200Response.from_json(json) -# print the JSON string representation of the object -print(GetFiles200Response.to_json()) - -# convert the object into a dict -get_files200_response_dict = get_files200_response_instance.to_dict() -# create an instance of GetFiles200Response from a dict -get_files200_response_from_dict = GetFiles200Response.from_dict(get_files200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetFiles200ResponseOneOf.md b/docs/GetFiles200ResponseOneOf.md deleted file mode 100644 index e496180..0000000 --- a/docs/GetFiles200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetFiles200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[ResultFileMetadata]**](ResultFileMetadata.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_files200_response_one_of import GetFiles200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetFiles200ResponseOneOf from a JSON string -get_files200_response_one_of_instance = GetFiles200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetFiles200ResponseOneOf.to_json()) - -# convert the object into a dict -get_files200_response_one_of_dict = get_files200_response_one_of_instance.to_dict() -# create an instance of GetFiles200ResponseOneOf from a dict -get_files200_response_one_of_from_dict = GetFiles200ResponseOneOf.from_dict(get_files200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetHttpProfiles200Response.md b/docs/GetHttpProfiles200Response.md deleted file mode 100644 index c7787e6..0000000 --- a/docs/GetHttpProfiles200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetHttpProfiles200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[HTTPProfile]**](HTTPProfile.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_http_profiles200_response import GetHttpProfiles200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetHttpProfiles200Response from a JSON string -get_http_profiles200_response_instance = GetHttpProfiles200Response.from_json(json) -# print the JSON string representation of the object -print(GetHttpProfiles200Response.to_json()) - -# convert the object into a dict -get_http_profiles200_response_dict = get_http_profiles200_response_instance.to_dict() -# create an instance of GetHttpProfiles200Response from a dict -get_http_profiles200_response_from_dict = GetHttpProfiles200Response.from_dict(get_http_profiles200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetHttpProfiles200ResponseOneOf.md b/docs/GetHttpProfiles200ResponseOneOf.md deleted file mode 100644 index 7cbf9fa..0000000 --- a/docs/GetHttpProfiles200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetHttpProfiles200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[HTTPProfile]**](HTTPProfile.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_http_profiles200_response_one_of import GetHttpProfiles200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetHttpProfiles200ResponseOneOf from a JSON string -get_http_profiles200_response_one_of_instance = GetHttpProfiles200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetHttpProfiles200ResponseOneOf.to_json()) - -# convert the object into a dict -get_http_profiles200_response_one_of_dict = get_http_profiles200_response_one_of_instance.to_dict() -# create an instance of GetHttpProfiles200ResponseOneOf from a dict -get_http_profiles200_response_one_of_from_dict = GetHttpProfiles200ResponseOneOf.from_dict(get_http_profiles200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetMeta200Response.md b/docs/GetMeta200Response.md deleted file mode 100644 index fc6d7b1..0000000 --- a/docs/GetMeta200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetMeta200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[Pair]**](Pair.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_meta200_response import GetMeta200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetMeta200Response from a JSON string -get_meta200_response_instance = GetMeta200Response.from_json(json) -# print the JSON string representation of the object -print(GetMeta200Response.to_json()) - -# convert the object into a dict -get_meta200_response_dict = get_meta200_response_instance.to_dict() -# create an instance of GetMeta200Response from a dict -get_meta200_response_from_dict = GetMeta200Response.from_dict(get_meta200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetMeta200ResponseOneOf.md b/docs/GetMeta200ResponseOneOf.md deleted file mode 100644 index 4299233..0000000 --- a/docs/GetMeta200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetMeta200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[Pair]**](Pair.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_meta200_response_one_of import GetMeta200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetMeta200ResponseOneOf from a JSON string -get_meta200_response_one_of_instance = GetMeta200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetMeta200ResponseOneOf.to_json()) - -# convert the object into a dict -get_meta200_response_one_of_dict = get_meta200_response_one_of_instance.to_dict() -# create an instance of GetMeta200ResponseOneOf from a dict -get_meta200_response_one_of_from_dict = GetMeta200ResponseOneOf.from_dict(get_meta200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetPlugins200Response.md b/docs/GetPlugins200Response.md deleted file mode 100644 index 400f521..0000000 --- a/docs/GetPlugins200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetPlugins200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[Plugin]**](Plugin.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_plugins200_response import GetPlugins200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetPlugins200Response from a JSON string -get_plugins200_response_instance = GetPlugins200Response.from_json(json) -# print the JSON string representation of the object -print(GetPlugins200Response.to_json()) - -# convert the object into a dict -get_plugins200_response_dict = get_plugins200_response_instance.to_dict() -# create an instance of GetPlugins200Response from a dict -get_plugins200_response_from_dict = GetPlugins200Response.from_dict(get_plugins200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetPlugins200ResponseOneOf.md b/docs/GetPlugins200ResponseOneOf.md deleted file mode 100644 index 7a778cc..0000000 --- a/docs/GetPlugins200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetPlugins200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[Plugin]**](Plugin.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_plugins200_response_one_of import GetPlugins200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetPlugins200ResponseOneOf from a JSON string -get_plugins200_response_one_of_instance = GetPlugins200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetPlugins200ResponseOneOf.to_json()) - -# convert the object into a dict -get_plugins200_response_one_of_dict = get_plugins200_response_one_of_instance.to_dict() -# create an instance of GetPlugins200ResponseOneOf from a dict -get_plugins200_response_one_of_from_dict = GetPlugins200ResponseOneOf.from_dict(get_plugins200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetResourcesLlmApiProfiles200Response.md b/docs/GetResourcesLlmApiProfiles200Response.md new file mode 100644 index 0000000..cb21e3f --- /dev/null +++ b/docs/GetResourcesLlmApiProfiles200Response.md @@ -0,0 +1,30 @@ +# GetResourcesLlmApiProfiles200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[LLMAPIProfile]**](LLMAPIProfile.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_resources_llm_api_profiles200_response import GetResourcesLlmApiProfiles200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetResourcesLlmApiProfiles200Response from a JSON string +get_resources_llm_api_profiles200_response_instance = GetResourcesLlmApiProfiles200Response.from_json(json) +# print the JSON string representation of the object +print(GetResourcesLlmApiProfiles200Response.to_json()) + +# convert the object into a dict +get_resources_llm_api_profiles200_response_dict = get_resources_llm_api_profiles200_response_instance.to_dict() +# create an instance of GetResourcesLlmApiProfiles200Response from a dict +get_resources_llm_api_profiles200_response_from_dict = GetResourcesLlmApiProfiles200Response.from_dict(get_resources_llm_api_profiles200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetResourcesLlmApiProfiles200ResponseOneOf.md b/docs/GetResourcesLlmApiProfiles200ResponseOneOf.md new file mode 100644 index 0000000..fb2897f --- /dev/null +++ b/docs/GetResourcesLlmApiProfiles200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetResourcesLlmApiProfiles200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[LLMAPIProfile]**](LLMAPIProfile.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_resources_llm_api_profiles200_response_one_of import GetResourcesLlmApiProfiles200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetResourcesLlmApiProfiles200ResponseOneOf from a JSON string +get_resources_llm_api_profiles200_response_one_of_instance = GetResourcesLlmApiProfiles200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetResourcesLlmApiProfiles200ResponseOneOf.to_json()) + +# convert the object into a dict +get_resources_llm_api_profiles200_response_one_of_dict = get_resources_llm_api_profiles200_response_one_of_instance.to_dict() +# create an instance of GetResourcesLlmApiProfiles200ResponseOneOf from a dict +get_resources_llm_api_profiles200_response_one_of_from_dict = GetResourcesLlmApiProfiles200ResponseOneOf.from_dict(get_resources_llm_api_profiles200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetResultTags200Response.md b/docs/GetResultTags200Response.md deleted file mode 100644 index 8938c86..0000000 --- a/docs/GetResultTags200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetResultTags200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[ResultsGroup]**](ResultsGroup.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_result_tags200_response import GetResultTags200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetResultTags200Response from a JSON string -get_result_tags200_response_instance = GetResultTags200Response.from_json(json) -# print the JSON string representation of the object -print(GetResultTags200Response.to_json()) - -# convert the object into a dict -get_result_tags200_response_dict = get_result_tags200_response_instance.to_dict() -# create an instance of GetResultTags200Response from a dict -get_result_tags200_response_from_dict = GetResultTags200Response.from_dict(get_result_tags200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetResultTags200ResponseOneOf.md b/docs/GetResultTags200ResponseOneOf.md deleted file mode 100644 index 8efa3cf..0000000 --- a/docs/GetResultTags200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetResultTags200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[ResultsGroup]**](ResultsGroup.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_result_tags200_response_one_of import GetResultTags200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetResultTags200ResponseOneOf from a JSON string -get_result_tags200_response_one_of_instance = GetResultTags200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetResultTags200ResponseOneOf.to_json()) - -# convert the object into a dict -get_result_tags200_response_one_of_dict = get_result_tags200_response_one_of_instance.to_dict() -# create an instance of GetResultTags200ResponseOneOf from a dict -get_result_tags200_response_one_of_from_dict = GetResultTags200ResponseOneOf.from_dict(get_result_tags200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetAppsOperation.md b/docs/GetScenariosOperation.md similarity index 61% rename from docs/GetAppsOperation.md rename to docs/GetScenariosOperation.md index 8c8163f..65f7c5e 100644 --- a/docs/GetAppsOperation.md +++ b/docs/GetScenariosOperation.md @@ -1,4 +1,4 @@ -# GetAppsOperation +# GetScenariosOperation ## Properties @@ -16,19 +16,19 @@ Name | Type | Description | Notes ## Example ```python -from cyperf.models.get_apps_operation import GetAppsOperation +from cyperf.models.get_scenarios_operation import GetScenariosOperation # TODO update the JSON string below json = "{}" -# create an instance of GetAppsOperation from a JSON string -get_apps_operation_instance = GetAppsOperation.from_json(json) +# create an instance of GetScenariosOperation from a JSON string +get_scenarios_operation_instance = GetScenariosOperation.from_json(json) # print the JSON string representation of the object -print(GetAppsOperation.to_json()) +print(GetScenariosOperation.to_json()) # convert the object into a dict -get_apps_operation_dict = get_apps_operation_instance.to_dict() -# create an instance of GetAppsOperation from a dict -get_apps_operation_from_dict = GetAppsOperation.from_dict(get_apps_operation_dict) +get_scenarios_operation_dict = get_scenarios_operation_instance.to_dict() +# create an instance of GetScenariosOperation from a dict +get_scenarios_operation_from_dict = GetScenariosOperation.from_dict(get_scenarios_operation_dict) ``` [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetStats200Response.md b/docs/GetStats200Response.md deleted file mode 100644 index fb14927..0000000 --- a/docs/GetStats200Response.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetStats200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[StatsResult]**](StatsResult.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_stats200_response import GetStats200Response - -# TODO update the JSON string below -json = "{}" -# create an instance of GetStats200Response from a JSON string -get_stats200_response_instance = GetStats200Response.from_json(json) -# print the JSON string representation of the object -print(GetStats200Response.to_json()) - -# convert the object into a dict -get_stats200_response_dict = get_stats200_response_instance.to_dict() -# create an instance of GetStats200Response from a dict -get_stats200_response_from_dict = GetStats200Response.from_dict(get_stats200_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetStats200ResponseOneOf.md b/docs/GetStats200ResponseOneOf.md deleted file mode 100644 index 0f63bea..0000000 --- a/docs/GetStats200ResponseOneOf.md +++ /dev/null @@ -1,30 +0,0 @@ -# GetStats200ResponseOneOf - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**List[StatsResult]**](StatsResult.md) | | [optional] -**total_count** | **int** | | [optional] - -## Example - -```python -from cyperf.models.get_stats200_response_one_of import GetStats200ResponseOneOf - -# TODO update the JSON string below -json = "{}" -# create an instance of GetStats200ResponseOneOf from a JSON string -get_stats200_response_one_of_instance = GetStats200ResponseOneOf.from_json(json) -# print the JSON string representation of the object -print(GetStats200ResponseOneOf.to_json()) - -# convert the object into a dict -get_stats200_response_one_of_dict = get_stats200_response_one_of_instance.to_dict() -# create an instance of GetStats200ResponseOneOf from a dict -get_stats200_response_one_of_from_dict = GetStats200ResponseOneOf.from_dict(get_stats200_response_one_of_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/GetStatsDashboardChanges200Response.md b/docs/GetStatsDashboardChanges200Response.md new file mode 100644 index 0000000..dd5d542 --- /dev/null +++ b/docs/GetStatsDashboardChanges200Response.md @@ -0,0 +1,30 @@ +# GetStatsDashboardChanges200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ChangeEvent]**](ChangeEvent.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_stats_dashboard_changes200_response import GetStatsDashboardChanges200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetStatsDashboardChanges200Response from a JSON string +get_stats_dashboard_changes200_response_instance = GetStatsDashboardChanges200Response.from_json(json) +# print the JSON string representation of the object +print(GetStatsDashboardChanges200Response.to_json()) + +# convert the object into a dict +get_stats_dashboard_changes200_response_dict = get_stats_dashboard_changes200_response_instance.to_dict() +# create an instance of GetStatsDashboardChanges200Response from a dict +get_stats_dashboard_changes200_response_from_dict = GetStatsDashboardChanges200Response.from_dict(get_stats_dashboard_changes200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetStatsDashboardChanges200ResponseOneOf.md b/docs/GetStatsDashboardChanges200ResponseOneOf.md new file mode 100644 index 0000000..7183171 --- /dev/null +++ b/docs/GetStatsDashboardChanges200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetStatsDashboardChanges200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ChangeEvent]**](ChangeEvent.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_stats_dashboard_changes200_response_one_of import GetStatsDashboardChanges200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetStatsDashboardChanges200ResponseOneOf from a JSON string +get_stats_dashboard_changes200_response_one_of_instance = GetStatsDashboardChanges200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetStatsDashboardChanges200ResponseOneOf.to_json()) + +# convert the object into a dict +get_stats_dashboard_changes200_response_one_of_dict = get_stats_dashboard_changes200_response_one_of_instance.to_dict() +# create an instance of GetStatsDashboardChanges200ResponseOneOf from a dict +get_stats_dashboard_changes200_response_one_of_from_dict = GetStatsDashboardChanges200ResponseOneOf.from_dict(get_stats_dashboard_changes200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetStatsDashboards200Response.md b/docs/GetStatsDashboards200Response.md new file mode 100644 index 0000000..ea408ff --- /dev/null +++ b/docs/GetStatsDashboards200Response.md @@ -0,0 +1,30 @@ +# GetStatsDashboards200Response + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[StatsDashboard]**](StatsDashboard.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_stats_dashboards200_response import GetStatsDashboards200Response + +# TODO update the JSON string below +json = "{}" +# create an instance of GetStatsDashboards200Response from a JSON string +get_stats_dashboards200_response_instance = GetStatsDashboards200Response.from_json(json) +# print the JSON string representation of the object +print(GetStatsDashboards200Response.to_json()) + +# convert the object into a dict +get_stats_dashboards200_response_dict = get_stats_dashboards200_response_instance.to_dict() +# create an instance of GetStatsDashboards200Response from a dict +get_stats_dashboards200_response_from_dict = GetStatsDashboards200Response.from_dict(get_stats_dashboards200_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetStatsDashboards200ResponseOneOf.md b/docs/GetStatsDashboards200ResponseOneOf.md new file mode 100644 index 0000000..88ad754 --- /dev/null +++ b/docs/GetStatsDashboards200ResponseOneOf.md @@ -0,0 +1,30 @@ +# GetStatsDashboards200ResponseOneOf + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[StatsDashboard]**](StatsDashboard.md) | | [optional] +**total_count** | **int** | | [optional] + +## Example + +```python +from cyperf.models.get_stats_dashboards200_response_one_of import GetStatsDashboards200ResponseOneOf + +# TODO update the JSON string below +json = "{}" +# create an instance of GetStatsDashboards200ResponseOneOf from a JSON string +get_stats_dashboards200_response_one_of_instance = GetStatsDashboards200ResponseOneOf.from_json(json) +# print the JSON string representation of the object +print(GetStatsDashboards200ResponseOneOf.to_json()) + +# convert the object into a dict +get_stats_dashboards200_response_one_of_dict = get_stats_dashboards200_response_one_of_instance.to_dict() +# create an instance of GetStatsDashboards200ResponseOneOf from a dict +get_stats_dashboards200_response_one_of_from_dict = GetStatsDashboards200ResponseOneOf.from_dict(get_stats_dashboards200_response_one_of_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GridPosition.md b/docs/GridPosition.md new file mode 100644 index 0000000..3d58afa --- /dev/null +++ b/docs/GridPosition.md @@ -0,0 +1,32 @@ +# GridPosition + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**height** | **int** | The height of the panel. A unit is equal to 30 pixels | [optional] +**width** | **int** | The width of the panel. A unit is equal to 1/24 of the screen width | [optional] +**x_pos** | **int** | The x coordinate of the panel. A unit is equal to 1/24 of the screen width | [optional] +**y_pos** | **int** | The y coordinate of the panel. A unit is equal to 30 pixels | [optional] + +## Example + +```python +from cyperf.models.grid_position import GridPosition + +# TODO update the JSON string below +json = "{}" +# create an instance of GridPosition from a JSON string +grid_position_instance = GridPosition.from_json(json) +# print the JSON string representation of the object +print(GridPosition.to_json()) + +# convert the object into a dict +grid_position_dict = grid_position_instance.to_dict() +# create an instance of GridPosition from a dict +grid_position_from_dict = GridPosition.from_dict(grid_position_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IPNetwork.md b/docs/IPNetwork.md index dc15acf..6e00149 100644 --- a/docs/IPNetwork.md +++ b/docs/IPNetwork.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **ip_ranges** | [**List[IPRange]**](IPRange.md) | | [optional] **ip_sec_stacks** | [**List[IPSecStack]**](IPSecStack.md) | | [optional] **mac_dtls_stacks** | [**List[MacDtlsStack]**](MacDtlsStack.md) | | [optional] +**psp_stacks** | [**List[PSPStack]**](PSPStack.md) | | [optional] **tunnel_stacks** | [**List[TunnelStack]**](TunnelStack.md) | | [optional] **vx_lan_stacks** | [**List[VxLANStack]**](VxLANStack.md) | | [optional] **active** | **bool** | A flag indicating if the network segment is active.(default: true) | [optional] diff --git a/docs/IPRange.md b/docs/IPRange.md index f6fbf6b..9247453 100644 --- a/docs/IPRange.md +++ b/docs/IPRange.md @@ -8,20 +8,23 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **automatic_ip_type** | [**AutomaticIpType**](AutomaticIpType.md) | The automatic IP types, either 'ONLY_IPV4', 'ONLY_IPV6' or 'BOTH_IPV4_IPV6'. | [optional] **count** | **int** | The number of IPs generated (default: 1). | [optional] -**gw_auto** | **bool** | A flag indicating if the gateway settings for the IPRange should be determined automatically (default: true). | +**gw_auto** | **bool** | A flag indicating if the gateway settings for the IPRange should be determined automatically (default: true). | [optional] **gw_start** | **str** | The gateway start IP for the IPRange (default: 10.0.0.1). | [optional] **host_count** | **int** | The number of Host IPs generated (default: 1). | [optional] **inner_vlan_range** | [**VLANRange**](VLANRange.md) | The inner VLAN range assigned to the current IP range configuration | [optional] +**ip_address** | [**SequenceValue**](SequenceValue.md) | | [optional] **ip_auto** | **bool** | A flag indicating if IP settings for the IPRange should be determined automatically (default: true). | **ip_incr** | **str** | The IP incrementation rule (default: 0.0.0.1). | [optional] **ip_range_name** | **str** | | **ip_start** | **str** | The start IP for the IPRange (default: 10.0.0.10). | [optional] -**ip_ver** | [**IpVer**](IpVer.md) | The type of the IP. 'IPV4' and 'IPV6' are both supported currently. | +**ip_ver** | [**IpVer**](IpVer.md) | The type of the IP. 'IPV4' and 'IPV6' are both supported currently. | [optional] **is_emulated_router** | **bool** | | [optional] **mss** | **int** | The maximum segment size of the TCP header. | [optional] -**mss_auto** | **bool** | A flag indicating if Mss settings for the IPRange should be determined automatically (default: false). | +**mss_auto** | **bool** | A flag indicating if Mss settings for the IPRange should be determined automatically (default: false). | [optional] **net_mask** | **int** | The network mask of the IP Range (default: 16). | [optional] -**net_mask_auto** | **bool** | A flag indicating if the network mask of the IPRange should be determined automatically (default: true). | +**net_mask_auto** | **bool** | A flag indicating if the network mask of the IPRange should be determined automatically (default: true). | [optional] +**outer_vlan_range** | [**VLANRange**](VLANRange.md) | The outer VLAN range assigned to the current IP range configuration | [optional] +**vlan_type** | [**VLANType**](VLANType.md) | The type of VLAN used | [optional] **id** | **str** | | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] **max_count_per_agent** | **int** | The maximum number of IPs that should be assigned to each traffic agent for this IP range segment in a valid test (default: 1). | [optional] diff --git a/docs/IPSecRange.md b/docs/IPSecRange.md index 040c969..326c29c 100644 --- a/docs/IPSecRange.md +++ b/docs/IPSecRange.md @@ -9,7 +9,12 @@ Name | Type | Description | Notes **ike_phase1_config** | [**P1Config**](P1Config.md) | | [optional] **ike_phase2_config** | [**P2Config**](P2Config.md) | | [optional] **ip_sec_range_name** | **str** | | +**identification_config** | [**IdentificationConfig**](IdentificationConfig.md) | | [optional] +**inner_ip_sec** | **bool** | | [optional] +**inner_ip_sec_range** | [**InnerIPSecRange**](InnerIPSecRange.md) | | [optional] +**local_sub_config** | [**LocalSubnetConfig**](LocalSubnetConfig.md) | | [optional] **multi_p2_over_p1** | **bool** | | [optional] +**pqckem_enabled** | **bool** | | [optional] **protected_sub_config** | [**ProtectedSubnetConfig**](ProtectedSubnetConfig.md) | Deeprecated. Use RemoteSubConfig instead. | [optional] **public_peer** | **str** | | **public_peer_increment** | **str** | | diff --git a/docs/IPSecStack.md b/docs/IPSecStack.md index 31afcf2..283e0fa 100644 --- a/docs/IPSecStack.md +++ b/docs/IPSecStack.md @@ -10,11 +10,12 @@ Name | Type | Description | Notes **enable_rekey** | **bool** | | **ip_sec_range** | [**IPSecRange**](IPSecRange.md) | | [optional] **ip_sec_stack_name** | **str** | | -**local_sub_config** | [**LocalSubnetConfig**](LocalSubnetConfig.md) | | [optional] +**local_sub_config** | [**LocalSubnetConfig**](LocalSubnetConfig.md) | Deeprecated. Use IPSecRange.LocalSubConfig instead. | [optional] **log_keys** | **bool** | | **max_initiation_rate** | **int** | | **max_pending** | **int** | | **outer_ip_range** | [**IPRange**](IPRange.md) | | [optional] +**ppk_list** | [**List[PPKPair]**](PPKPair.md) | | [optional] **rekey_margin** | **int** | | **rekey_retry_count** | **int** | | **retransmission_timeout** | **int** | | diff --git a/docs/IdentificationConfig.md b/docs/IdentificationConfig.md new file mode 100644 index 0000000..398887d --- /dev/null +++ b/docs/IdentificationConfig.md @@ -0,0 +1,33 @@ +# IdentificationConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enable_initiator_idr** | **bool** | | +**initiator_id** | **str** | | +**initiator_id_type** | **str** | | +**responder_id** | **str** | | +**responder_id_type** | **str** | | + +## Example + +```python +from cyperf.models.identification_config import IdentificationConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of IdentificationConfig from a JSON string +identification_config_instance = IdentificationConfig.from_json(json) +# print the JSON string representation of the object +print(IdentificationConfig.to_json()) + +# convert the object into a dict +identification_config_dict = identification_config_instance.to_dict() +# create an instance of IdentificationConfig from a dict +identification_config_from_dict = IdentificationConfig.from_dict(identification_config_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/InnerIPSecRange.md b/docs/InnerIPSecRange.md new file mode 100644 index 0000000..46364aa --- /dev/null +++ b/docs/InnerIPSecRange.md @@ -0,0 +1,45 @@ +# InnerIPSecRange + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_auth_settings** | [**AuthenticationSettings**](AuthenticationSettings.md) | | [optional] +**ike_phase1_config** | [**P1Config**](P1Config.md) | | [optional] +**ike_phase2_config** | [**P2Config**](P2Config.md) | | [optional] +**ip_sec_range_name** | **str** | | +**identification_config** | [**IdentificationConfig**](IdentificationConfig.md) | | [optional] +**local_sub_config** | [**LocalSubnetConfig**](LocalSubnetConfig.md) | | [optional] +**multi_p2_over_p1** | **bool** | | +**pqckem_enabled** | **bool** | | +**public_peer** | **str** | | +**public_peer_increment** | **str** | | +**remote_access** | [**RemoteAccess**](RemoteAccess.md) | | [optional] +**remote_sub_config** | [**RemoteSubnetConfig**](RemoteSubnetConfig.md) | | [optional] +**test_scenario** | **str** | | +**timers** | [**Timers**](Timers.md) | | [optional] +**tunnel_count_per_outer_ip** | **int** | | +**id** | **str** | | +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.inner_ip_sec_range import InnerIPSecRange + +# TODO update the JSON string below +json = "{}" +# create an instance of InnerIPSecRange from a JSON string +inner_ip_sec_range_instance = InnerIPSecRange.from_json(json) +# print the JSON string representation of the object +print(InnerIPSecRange.to_json()) + +# convert the object into a dict +inner_ip_sec_range_dict = inner_ip_sec_range_instance.to_dict() +# create an instance of InnerIPSecRange from a dict +inner_ip_sec_range_from_dict = InnerIPSecRange.from_dict(inner_ip_sec_range_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Keyword.md b/docs/Keyword.md new file mode 100644 index 0000000..4c27b09 --- /dev/null +++ b/docs/Keyword.md @@ -0,0 +1,31 @@ +# Keyword + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category** | **str** | The keyword category | [optional] +**value** | **str** | The keyword value | [optional] +**index** | **int** | The index of the category | [optional] + +## Example + +```python +from cyperf.models.keyword import Keyword + +# TODO update the JSON string below +json = "{}" +# create an instance of Keyword from a JSON string +keyword_instance = Keyword.from_json(json) +# print the JSON string representation of the object +print(Keyword.to_json()) + +# convert the object into a dict +keyword_dict = keyword_instance.to_dict() +# create an instance of Keyword from a dict +keyword_from_dict = Keyword.from_dict(keyword_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LLMAPIProfile.md b/docs/LLMAPIProfile.md new file mode 100644 index 0000000..4cd1566 --- /dev/null +++ b/docs/LLMAPIProfile.md @@ -0,0 +1,35 @@ +# LLMAPIProfile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**connections** | [**List[Connection]**](Connection.md) | | [optional] +**id** | **str** | | +**is_enabled** | **bool** | | +**is_one_arm** | **bool** | Indicates whether the LLM API profile is one-arm | +**links** | [**List[APILink]**](APILink.md) | | [optional] +**model_name** | **str** | | +**params** | [**List[Params]**](Params.md) | | [optional] + +## Example + +```python +from cyperf.models.llmapi_profile import LLMAPIProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of LLMAPIProfile from a JSON string +llmapi_profile_instance = LLMAPIProfile.from_json(json) +# print the JSON string representation of the object +print(LLMAPIProfile.to_json()) + +# convert the object into a dict +llmapi_profile_dict = llmapi_profile_instance.to_dict() +# create an instance of LLMAPIProfile from a dict +llmapi_profile_from_dict = LLMAPIProfile.from_dict(llmapi_profile_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LayoutConfig.md b/docs/LayoutConfig.md new file mode 100644 index 0000000..c183c41 --- /dev/null +++ b/docs/LayoutConfig.md @@ -0,0 +1,29 @@ +# LayoutConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**columns** | **int** | The number of columns in the layout grid. | [optional] + +## Example + +```python +from cyperf.models.layout_config import LayoutConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of LayoutConfig from a JSON string +layout_config_instance = LayoutConfig.from_json(json) +# print the JSON string representation of the object +print(LayoutConfig.to_json()) + +# convert the object into a dict +layout_config_dict = layout_config_instance.to_dict() +# create an instance of LayoutConfig from a dict +layout_config_from_dict = LayoutConfig.from_dict(layout_config_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/LicenseServerMetadata.md b/docs/LicenseServerMetadata.md index a57d326..c3bbeb3 100644 --- a/docs/LicenseServerMetadata.md +++ b/docs/LicenseServerMetadata.md @@ -5,17 +5,17 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**connection_status** | **str** | The license server's connection status | [optional] [readonly] -**failure_reason** | **str** | The license server's connection failure reason | [optional] -**fingerprint** | **str** | The license server's fingerprint | [optional] -**host_name** | **str** | The hostname/IP of the server | [optional] -**id** | **int** | The unique identifier of the license server | [optional] [readonly] -**interactive_fingerprint_verification** | **bool** | Validate the license's server fingerprint interactively | [optional] -**password** | **str** | The license server's authentication password | [optional] -**pretty_conn_status** | **str** | The license server's connection status in a human-readable format | [optional] [readonly] -**trust_new** | **bool** | The flag used to skip license server's identity verifications | [optional] -**tunnel_host_name** | **str** | The hostname/IP of the license server tunnel | [optional] [readonly] -**user** | **str** | The license server's authentication user | [optional] +**connection_status** | **str** | | [optional] +**failure_reason** | **str** | | [optional] +**fingerprint** | **str** | | [optional] +**host_name** | **str** | | [optional] +**id** | **int** | | [optional] +**interactive_fingerprint_verification** | **bool** | | [optional] +**password** | **str** | | [optional] +**pretty_conn_status** | **str** | | [optional] +**trust_new** | **bool** | | [optional] +**tunnel_host_name** | **str** | | [optional] +**user** | **str** | | [optional] ## Example diff --git a/docs/LoadConfigOperation.md b/docs/LoadConfigOperation.md index 027b006..ba6d27c 100644 --- a/docs/LoadConfigOperation.md +++ b/docs/LoadConfigOperation.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**config_url** | **str** | The URL of the configuration that should be loaded | [optional] +**config_url** | **str** | The URL of the configuration that will be loaded when creating the session | [optional] ## Example diff --git a/docs/LocalSubnetConfig.md b/docs/LocalSubnetConfig.md index 52dc57e..2132b36 100644 --- a/docs/LocalSubnetConfig.md +++ b/docs/LocalSubnetConfig.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **prefix** | **int** | The network mask of the IP Range (default: 16). | **start** | **str** | The start IP for the IPRange (default: 10.0.0.10). | **total_host_count** | **str** | | +**wildcard_initiator_traffic** | **bool** | | **network_tags** | **List[str]** | A list of tags. | ## Example diff --git a/docs/MacDtlsStack.md b/docs/MacDtlsStack.md index 99ca325..da3d753 100644 --- a/docs/MacDtlsStack.md +++ b/docs/MacDtlsStack.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **dtls_enabled** | **bool** | | [optional] **dtls_range_name** | **str** | | -**epoch** | **int** | | +**epoch** | **int** | | [optional] **epoch_incr** | **int** | | [optional] **ip_range** | [**IPRange**](IPRange.md) | | [optional] **in_iv** | **str** | The in IV start for the DTLSRange (default: 0x22222222). | @@ -19,9 +19,11 @@ Name | Type | Description | Notes **out_iv_incr** | **str** | The out IV increment for the DTLSRange (default: 0x00000001). | **out_key** | **str** | The out key start for the DTLSRange (default: 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA). | **out_key_incr** | **str** | The out key start for the DTLSRange (default: 0x0000000000000000000000000000000000000000000000000000000000000001). | +**outer_vlan_range** | [**VLANRange**](VLANRange.md) | The inner VLAN range assigned to the current DTLS Range configuration | [optional] **tunnel_count** | **int** | | **tunnel_destination_mac_incr** | **str** | The MAC address increment rule for the DTLSRange (default: 00:00:00:00:00:01). | **tunnel_destination_mac_start** | **str** | The MAC start address for the DTLSRange (default: AA:BB:CC:DD:EE:FF). | +**vlan_type** | [**VLANType**](VLANType.md) | The type of VLAN used | [optional] **vlan_range** | [**VLANRange**](VLANRange.md) | The inner VLAN range assigned to the current DTLS Range configuration | [optional] **id** | **str** | | **links** | [**List[APILink]**](APILink.md) | | [optional] diff --git a/docs/Metadata.md b/docs/Metadata.md index d7fca70..eb74216 100644 --- a/docs/Metadata.md +++ b/docs/Metadata.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **direction** | **str** | The direction of the strike | [optional] **is_banner** | **bool** | Indicates that this is a command that is required, can only be add once and also must be the first | [optional] +**is_llm_strike** | **bool** | Indicates if the command is an LLM strike | [optional] **is_streaming** | **bool** | Indicates if the application's traffic is a UDP stream | [optional] **keywords** | [**List[AppsecAppMetadataKeywordsInner]**](AppsecAppMetadataKeywordsInner.md) | The keywords of the strike | [optional] **legacy_names** | **List[str]** | The names of the equivalent application/strike | [optional] @@ -20,6 +21,8 @@ Name | Type | Description | Notes **sort_severity** | **str** | The field by which the severity is sorted | [optional] **static** | **bool** | If true, the application/strike is managed directly by the controller | [optional] **supported_apps** | **List[str]** | The apps that this strike can be used with | [optional] +**supported_http_versions** | **List[str]** | The HTTP versions supported by the application | [optional] +**supports_http2** | **bool** | Indicates if the application supports HTTP2 multi-stream | [optional] **year** | **str** | The year of the strike | [optional] ## Example diff --git a/docs/MetricsList.md b/docs/MetricsList.md new file mode 100644 index 0000000..daab537 --- /dev/null +++ b/docs/MetricsList.md @@ -0,0 +1,30 @@ +# MetricsList + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dashboard_id** | **str** | The id of the dashboard with these metrics | [optional] +**metrics** | [**List[AdvancedMetric]**](AdvancedMetric.md) | The list of metrics in the specified dashboard | [optional] + +## Example + +```python +from cyperf.models.metrics_list import MetricsList + +# TODO update the JSON string below +json = "{}" +# create an instance of MetricsList from a JSON string +metrics_list_instance = MetricsList.from_json(json) +# print the JSON string representation of the object +print(MetricsList.to_json()) + +# convert the object into a dict +metrics_list_dict = metrics_list_instance.to_dict() +# create an instance of MetricsList from a dict +metrics_list_from_dict = MetricsList.from_dict(metrics_list_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/NotificationsApi.md b/docs/NotificationsApi.md index ef41a55..49435bc 100644 --- a/docs/NotificationsApi.md +++ b/docs/NotificationsApi.md @@ -450,7 +450,7 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **start_notifications_dismiss** -> AsyncContext start_notifications_dismiss() +> AsyncContext start_notifications_dismiss(dismiss_operation=dismiss_operation) @@ -464,6 +464,7 @@ Dismiss all notifications that match the specified filter. ```python import cyperf from cyperf.models.async_context import AsyncContext +from cyperf.models.dismiss_operation import DismissOperation from cyperf.rest import ApiException from pprint import pprint @@ -486,9 +487,10 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.NotificationsApi(api_client) + dismiss_operation = cyperf.DismissOperation() # DismissOperation | (optional) try: - api_response = api_instance.start_notifications_dismiss() + api_response = api_instance.start_notifications_dismiss(dismiss_operation=dismiss_operation) print("The response of NotificationsApi->start_notifications_dismiss:\n") pprint(api_response) except Exception as e: @@ -499,7 +501,10 @@ with cyperf.ApiClient(configuration) as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dismiss_operation** | [**DismissOperation**](DismissOperation.md)| | [optional] ### Return type @@ -511,7 +516,7 @@ This endpoint does not need any parameter. ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details diff --git a/docs/P1Config.md b/docs/P1Config.md index 4a5daa7..0eb663a 100644 --- a/docs/P1Config.md +++ b/docs/P1Config.md @@ -10,6 +10,10 @@ Name | Type | Description | Notes **hash_algorithm** | [**HashP1Algorithm**](HashP1Algorithm.md) | | **initial_contact** | **bool** | | **lifetime** | **int** | | +**ppk_enabled** | **bool** | | +**ppkid** | **str** | | +**ppk_mandatory** | **str** | | +**pqckem_round** | [**List[PqcKemGroup]**](PqcKemGroup.md) | | **prf_algorithm** | [**PrfP1Algorithm**](PrfP1Algorithm.md) | | ## Example diff --git a/docs/PANGPEncapsulation.md b/docs/PANGPEncapsulation.md index 5c6a530..54e807c 100644 --- a/docs/PANGPEncapsulation.md +++ b/docs/PANGPEncapsulation.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **esp_over_udp_enabled** | **bool** | | **esp_over_udp_settings** | [**ESPOverUDPSettings**](ESPOverUDPSettings.md) | | [optional] +**enable_ikev2** | **bool** | | **encapsulation_mode** | **str** | The encapsulation mode for inner traffic. | **udp_port** | **int** | | **links** | [**List[APILink]**](APILink.md) | | [optional] diff --git a/docs/Capture.md b/docs/PPKPair.md similarity index 51% rename from docs/Capture.md rename to docs/PPKPair.md index cf15bf9..5dbb565 100644 --- a/docs/Capture.md +++ b/docs/PPKPair.md @@ -1,29 +1,29 @@ -# Capture +# PPKPair ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**capture_id** | **str** | | [optional] -**flows** | [**List[AppFlow]**](AppFlow.md) | | [optional] +**ppkid** | **str** | | +**ppk_key** | **str** | | ## Example ```python -from cyperf.models.capture import Capture +from cyperf.models.ppk_pair import PPKPair # TODO update the JSON string below json = "{}" -# create an instance of Capture from a JSON string -capture_instance = Capture.from_json(json) +# create an instance of PPKPair from a JSON string +ppk_pair_instance = PPKPair.from_json(json) # print the JSON string representation of the object -print(Capture.to_json()) +print(PPKPair.to_json()) # convert the object into a dict -capture_dict = capture_instance.to_dict() -# create an instance of Capture from a dict -capture_from_dict = Capture.from_dict(capture_dict) +ppk_pair_dict = ppk_pair_instance.to_dict() +# create an instance of PPKPair from a dict +ppk_pair_from_dict = PPKPair.from_dict(ppk_pair_dict) ``` [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PSPRange.md b/docs/PSPRange.md new file mode 100644 index 0000000..cb5a4eb --- /dev/null +++ b/docs/PSPRange.md @@ -0,0 +1,44 @@ +# PSPRange + +The PSP tunnel range configuration for M×N tunnel mapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**master_key0** | **str** | Master key for phase 0 (256-bit hex string). | +**master_key1** | **str** | Master key for phase 1 (256-bit hex string). | +**psp_range_name** | **str** | | +**psp_version** | **str** | PSP version: AES-GCM-128, AES-GMAC-128 (default: AES-GCM-128). | +**remote_inner_ip_count** | **int** | Total Remote Inner IP Count: RemoteTunnelIpCount * RemoteTunnelToInnerIpCountRatio | +**remote_inner_ip_incr** | **str** | The remote inner IP increment (default: 0.0.0.1). | +**remote_inner_ip_start** | **str** | The start IP for remote inner IPs. | +**remote_tunnel_ip_count** | **int** | The number of remote tunnel IPs (default: 1). | +**remote_tunnel_ip_incr** | **str** | The remote tunnel IP increment (default: 0.0.0.1). | +**remote_tunnel_ip_start** | **str** | The start IP for the remote tunnel endpoint. | +**remote_tunnel_to_inner_ip_count_ratio** | **int** | The ratio between the number of remote Tunnel IPs and Remote Inner IPs - (default: 1). | +**spi_base** | **int** | Security Parameter Index base value (default: 256). | +**spi_incr** | **int** | SPI increment per tunnel (default: 1). | +**total_tunnel_count** | **int** | Total tunnel count: OuterIP.Count × RemoteTunnelIpCount (M×N). | +**id** | **str** | | + +## Example + +```python +from cyperf.models.psp_range import PSPRange + +# TODO update the JSON string below +json = "{}" +# create an instance of PSPRange from a JSON string +psp_range_instance = PSPRange.from_json(json) +# print the JSON string representation of the object +print(PSPRange.to_json()) + +# convert the object into a dict +psp_range_dict = psp_range_instance.to_dict() +# create an instance of PSPRange from a dict +psp_range_from_dict = PSPRange.from_dict(psp_range_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PSPStack.md b/docs/PSPStack.md new file mode 100644 index 0000000..06dea01 --- /dev/null +++ b/docs/PSPStack.md @@ -0,0 +1,35 @@ +# PSPStack + +The PSP (PSP Security Protocol) stack for M×N tunnel mapping + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**inner_ip_range** | [**IPRange**](IPRange.md) | | [optional] +**outer_ip_range** | [**IPRange**](IPRange.md) | | [optional] +**psp_range** | [**PSPRange**](PSPRange.md) | | [optional] +**psp_stack_name** | **str** | | +**id** | **str** | | +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.psp_stack import PSPStack + +# TODO update the JSON string below +json = "{}" +# create an instance of PSPStack from a JSON string +psp_stack_instance = PSPStack.from_json(json) +# print the JSON string representation of the object +print(PSPStack.to_json()) + +# convert the object into a dict +psp_stack_dict = psp_stack_instance.to_dict() +# create an instance of PSPStack from a dict +psp_stack_from_dict = PSPStack.from_dict(psp_stack_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Panel.md b/docs/Panel.md new file mode 100644 index 0000000..463ce3e --- /dev/null +++ b/docs/Panel.md @@ -0,0 +1,37 @@ +# Panel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filters** | **List[Dict[str, AppsecAppMetadataKeywordsInner]]** | The filters to be applied to the panel stats | [optional] +**group_by** | [**List[AdvancedMetric]**](AdvancedMetric.md) | The stats to be used as group by clauses | [optional] +**limit** | **int** | The maximum number of stats to be generated in a certain interval | [optional] +**metrics** | [**List[AdvancedMetric]**](AdvancedMetric.md) | The stats to be displayed in the panel | [optional] +**panel_data_source** | [**DataSourceDetails**](DataSourceDetails.md) | | [optional] +**panel_type** | **str** | The type of the panel | [optional] +**position** | [**GridPosition**](GridPosition.md) | | [optional] +**stats_sources** | **List[str]** | The sources of the statistics based on the panel configuration | [optional] +**title** | **str** | The title of the panel | [optional] + +## Example + +```python +from cyperf.models.panel import Panel + +# TODO update the JSON string below +json = "{}" +# create an instance of Panel from a JSON string +panel_instance = Panel.from_json(json) +# print the JSON string representation of the object +print(Panel.to_json()) + +# convert the object into a dict +panel_dict = panel_instance.to_dict() +# create an instance of Panel from a dict +panel_from_dict = Panel.from_dict(panel_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PlaylistSequencingMethod.md b/docs/PlaylistSequencingMethod.md new file mode 100644 index 0000000..d093436 --- /dev/null +++ b/docs/PlaylistSequencingMethod.md @@ -0,0 +1,17 @@ +# PlaylistSequencingMethod + +Use this property to switch between different playlist sequencing strategies + +## Enum + +* `SEQUENTIAL_PER_USER_PER_FLOW` (value: `'SEQUENTIAL_PER_USER_PER_FLOW'`) + +* `UNIQUE_OFFSET_SEQUENTIAL_PER_USER_PER_FLOW` (value: `'UNIQUE_OFFSET_SEQUENTIAL_PER_USER_PER_FLOW'`) + +* `SEQUENTIAL_GLOBAL_PER_FLOW` (value: `'SEQUENTIAL_GLOBAL_PER_FLOW'`) + +* `RANDOM_PER_USER_PER_FLOW` (value: `'RANDOM_PER_USER_PER_FLOW'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PortsByPanel.md b/docs/PortsByPanel.md new file mode 100644 index 0000000..d68b554 --- /dev/null +++ b/docs/PortsByPanel.md @@ -0,0 +1,30 @@ +# PortsByPanel + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**front_panel_id** | **str** | The id of the front panel that the ports are part of. | [optional] +**ports** | **List[str]** | The port ids. | [optional] + +## Example + +```python +from cyperf.models.ports_by_panel import PortsByPanel + +# TODO update the JSON string below +json = "{}" +# create an instance of PortsByPanel from a JSON string +ports_by_panel_instance = PortsByPanel.from_json(json) +# print the JSON string representation of the object +print(PortsByPanel.to_json()) + +# convert the object into a dict +ports_by_panel_dict = ports_by_panel_instance.to_dict() +# create an instance of PortsByPanel from a dict +ports_by_panel_from_dict = PortsByPanel.from_dict(ports_by_panel_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PqcKemGroup.md b/docs/PqcKemGroup.md new file mode 100644 index 0000000..9ba75e3 --- /dev/null +++ b/docs/PqcKemGroup.md @@ -0,0 +1,56 @@ +# PqcKemGroup + + +## Enum + +* `NONE` (value: `'NONE'`) + +* `MODP_768` (value: `'MODP 768'`) + +* `MODP_1024` (value: `'MODP 1024'`) + +* `MODP_1536` (value: `'MODP 1536'`) + +* `MODP_2048` (value: `'MODP 2048'`) + +* `MODP_3072` (value: `'MODP 3072'`) + +* `MODP_4096` (value: `'MODP 4096'`) + +* `MODP_6144` (value: `'MODP 6144'`) + +* `MODP_8192` (value: `'MODP 8192'`) + +* `MODP_1024_S160` (value: `'MODP 1024 S160'`) + +* `MODP_2048_S224` (value: `'MODP 2048 S224'`) + +* `MODP_2048_S256` (value: `'MODP 2048 S256'`) + +* `ECP_192` (value: `'ECP 192'`) + +* `ECP_224` (value: `'ECP 224'`) + +* `ECP_256` (value: `'ECP 256'`) + +* `ECP_384` (value: `'ECP 384'`) + +* `ECP_521` (value: `'ECP 521'`) + +* `ECP_224_BP` (value: `'ECP 224 BP'`) + +* `ECP_256_BP` (value: `'ECP 256 BP'`) + +* `ECP_384_BP` (value: `'ECP 384 BP'`) + +* `ECP_512_BP` (value: `'ECP 512 BP'`) + +* `MLKEM512` (value: `'MLKEM512'`) + +* `MLKEM768` (value: `'MLKEM768'`) + +* `MLKEM1024` (value: `'MLKEM1024'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PqcSignatureAlgorithmTLS13.md b/docs/PqcSignatureAlgorithmTLS13.md new file mode 100644 index 0000000..e9b5bff --- /dev/null +++ b/docs/PqcSignatureAlgorithmTLS13.md @@ -0,0 +1,15 @@ +# PqcSignatureAlgorithmTLS13 + +The TLSv1.3 supported PQC signature algorithms. + +## Enum + +* `MLDSA44` (value: `'mldsa44'`) + +* `MLDSA65` (value: `'mldsa65'`) + +* `MLDSA87` (value: `'mldsa87'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PrepareTestOperation.md b/docs/PrepareTestOperation.md deleted file mode 100644 index 06d87a6..0000000 --- a/docs/PrepareTestOperation.md +++ /dev/null @@ -1,37 +0,0 @@ -# PrepareTestOperation - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**options** | [**PreparedTestOptions**](PreparedTestOptions.md) | | [optional] -**message** | **str** | An optional message that describes the reason the test ended | [optional] -**new_state** | **str** | An optional enum that identifies the current state of the test | [optional] -**old_state** | **str** | An optional enum that identifies the previous state of the test | [optional] -**owner** | **str** | An optional friendly display name for the user which initiated the operation | [optional] -**owner_id** | **str** | An optional identifier that uniquely identifies the user which initiated the operation | [optional] -**reason** | **str** | An optional enum that identifies the underlying reason for the test's end | [optional] -**test_id** | **str** | The test to which the state change refers | [optional] -**timestamp** | **int** | An optional Unix timestamp that indicates when the test state was changed | [optional] - -## Example - -```python -from cyperf.models.prepare_test_operation import PrepareTestOperation - -# TODO update the JSON string below -json = "{}" -# create an instance of PrepareTestOperation from a JSON string -prepare_test_operation_instance = PrepareTestOperation.from_json(json) -# print the JSON string representation of the object -print(PrepareTestOperation.to_json()) - -# convert the object into a dict -prepare_test_operation_dict = prepare_test_operation_instance.to_dict() -# create an instance of PrepareTestOperation from a dict -prepare_test_operation_from_dict = PrepareTestOperation.from_dict(prepare_test_operation_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/PreparedTestOptions.md b/docs/PreparedTestOptions.md deleted file mode 100644 index 358654a..0000000 --- a/docs/PreparedTestOptions.md +++ /dev/null @@ -1,34 +0,0 @@ -# PreparedTestOptions - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**add_activity_meta** | **bool** | | [optional] -**datasource_for_ui_views** | **str** | | [optional] -**extra_tags** | **Dict[str, List[str]]** | | [optional] -**filter_by_properties** | **Dict[str, str]** | | [optional] -**format_protocol_name** | **bool** | | [optional] -**override_properties** | **Dict[str, str]** | | [optional] - -## Example - -```python -from cyperf.models.prepared_test_options import PreparedTestOptions - -# TODO update the JSON string below -json = "{}" -# create an instance of PreparedTestOptions from a JSON string -prepared_test_options_instance = PreparedTestOptions.from_json(json) -# print the JSON string representation of the object -print(PreparedTestOptions.to_json()) - -# convert the object into a dict -prepared_test_options_dict = prepared_test_options_instance.to_dict() -# create an instance of PreparedTestOptions from a dict -prepared_test_options_from_dict = PreparedTestOptions.from_dict(prepared_test_options_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/Profile.md b/docs/Profile.md new file mode 100644 index 0000000..0d0b19d --- /dev/null +++ b/docs/Profile.md @@ -0,0 +1,39 @@ +# Profile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category** | **str** | The category of the profile template. | [optional] +**config_id** | **str** | The config ID associated with this profile | [optional] +**description** | **str** | Description of the profile | [optional] +**display_name** | **str** | Display name of the profile | [optional] +**icon** | **str** | Profile icon (base64 encoded) | [optional] +**id** | **str** | | [optional] +**index** | **int** | The index of the profile in the list of profiles. This is used for ordering profiles. | [optional] [readonly] +**owner** | **str** | The friendly display name of the profile's owner | [optional] [readonly] +**owner_id** | **str** | The unique identifier of the profile's owner | [optional] [readonly] +**topology_img_dark** | **str** | Topology image (dark theme, base64 encoded) | [optional] +**topology_img_light** | **str** | Topology image (light theme, base64 encoded) | [optional] + +## Example + +```python +from cyperf.models.profile import Profile + +# TODO update the JSON string below +json = "{}" +# create an instance of Profile from a JSON string +profile_instance = Profile.from_json(json) +# print the JSON string representation of the object +print(Profile.to_json()) + +# convert the object into a dict +profile_dict = profile_instance.to_dict() +# create an instance of Profile from a dict +profile_from_dict = Profile.from_dict(profile_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RebootComputeResourcesOperation.md b/docs/RebootComputeResourcesOperation.md new file mode 100644 index 0000000..1ece768 --- /dev/null +++ b/docs/RebootComputeResourcesOperation.md @@ -0,0 +1,29 @@ +# RebootComputeResourcesOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controllers** | [**List[ComputeResourcesByController]**](ComputeResourcesByController.md) | The controllers that the compute resources are part of. | [optional] + +## Example + +```python +from cyperf.models.reboot_compute_resources_operation import RebootComputeResourcesOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of RebootComputeResourcesOperation from a JSON string +reboot_compute_resources_operation_instance = RebootComputeResourcesOperation.from_json(json) +# print the JSON string representation of the object +print(RebootComputeResourcesOperation.to_json()) + +# convert the object into a dict +reboot_compute_resources_operation_dict = reboot_compute_resources_operation_instance.to_dict() +# create an instance of RebootComputeResourcesOperation from a dict +reboot_compute_resources_operation_from_dict = RebootComputeResourcesOperation.from_dict(reboot_compute_resources_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/RemoteSubnetConfig.md b/docs/RemoteSubnetConfig.md index d21f07b..85b1aaa 100644 --- a/docs/RemoteSubnetConfig.md +++ b/docs/RemoteSubnetConfig.md @@ -12,6 +12,7 @@ Name | Type | Description | Notes **prefix** | **int** | The length (in bits) of the subnet mask to be applied to all the addresses created in the range. | **single_remote_subnet** | **bool** | | **start** | **str** | The base address for enumerating all the local subnets in the range | +**wildcard_responder_traffic** | **bool** | | ## Example diff --git a/docs/Section.md b/docs/Section.md new file mode 100644 index 0000000..141e324 --- /dev/null +++ b/docs/Section.md @@ -0,0 +1,30 @@ +# Section + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content** | [**List[ContentBlock]**](ContentBlock.md) | The content blocks that belong to this section. | [optional] +**title** | [**List[TextSegment]**](TextSegment.md) | The title of the section, as a rich text. | [optional] + +## Example + +```python +from cyperf.models.section import Section + +# TODO update the JSON string below +json = "{}" +# create an instance of Section from a JSON string +section_instance = Section.from_json(json) +# print the JSON string representation of the object +print(Section.to_json()) + +# convert the object into a dict +section_dict = section_instance.to_dict() +# create an instance of Section from a dict +section_from_dict = Section.from_dict(section_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SequenceDataTypes.md b/docs/SequenceDataTypes.md new file mode 100644 index 0000000..d35b74f --- /dev/null +++ b/docs/SequenceDataTypes.md @@ -0,0 +1,14 @@ +# SequenceDataTypes + + +## Enum + +* `IP_SEQ` (value: `'IP_SEQ'`) + +* `MAC_SEQ` (value: `'MAC_SEQ'`) + +* `INT32_SEQ` (value: `'INT32_SEQ'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SequenceValue.md b/docs/SequenceValue.md new file mode 100644 index 0000000..91c3562 --- /dev/null +++ b/docs/SequenceValue.md @@ -0,0 +1,35 @@ +# SequenceValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**custom** | [**CustomSequence**](CustomSequence.md) | | [optional] +**data_type** | [**SequenceDataTypes**](SequenceDataTypes.md) | | [optional] +**increment** | [**SimpleSequenceValue**](SimpleSequenceValue.md) | | [optional] +**preview** | **List[str]** | | [optional] +**sequence_type** | [**SequenceValueTypes**](SequenceValueTypes.md) | | [optional] +**id** | **str** | | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.sequence_value import SequenceValue + +# TODO update the JSON string below +json = "{}" +# create an instance of SequenceValue from a JSON string +sequence_value_instance = SequenceValue.from_json(json) +# print the JSON string representation of the object +print(SequenceValue.to_json()) + +# convert the object into a dict +sequence_value_dict = sequence_value_instance.to_dict() +# create an instance of SequenceValue from a dict +sequence_value_from_dict = SequenceValue.from_dict(sequence_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SequenceValueTypes.md b/docs/SequenceValueTypes.md new file mode 100644 index 0000000..9a0cb4c --- /dev/null +++ b/docs/SequenceValueTypes.md @@ -0,0 +1,12 @@ +# SequenceValueTypes + + +## Enum + +* `INCREMENT` (value: `'INCREMENT'`) + +* `CUSTOM` (value: `'CUSTOM'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SessionReuseMethodTLS12.md b/docs/SessionReuseMethodTLS12.md index bf7b994..c29a12d 100644 --- a/docs/SessionReuseMethodTLS12.md +++ b/docs/SessionReuseMethodTLS12.md @@ -1,6 +1,6 @@ # SessionReuseMethodTLS12 -The session reuse method. Must be one of: DISABLE, SESSION-TICKET or SESSION-ID (default: DISABLE). +TLS 1.2 session reuse method. Must be one of: DISABLE, SESSION-TICKET, SESSION-ID (default: DISABLE). ## Enum diff --git a/docs/SessionReuseMethodTLS13.md b/docs/SessionReuseMethodTLS13.md index a7114c3..074c28c 100644 --- a/docs/SessionReuseMethodTLS13.md +++ b/docs/SessionReuseMethodTLS13.md @@ -1,11 +1,13 @@ # SessionReuseMethodTLS13 -The session reuse method. Must be DISABLE (default: DISABLE). +TLS 1.3 session reuse method. Must be one of: DISABLE, PSK_ECDHE_REUSE (default: DISABLE). ## Enum * `DISABLE` (value: `'DISABLE'`) +* `PSK_ECDHE_REUSE` (value: `'PSK_ECDHE_REUSE'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/SessionsApi.md b/docs/SessionsApi.md index f34d6a3..b5378d4 100644 --- a/docs/SessionsApi.md +++ b/docs/SessionsApi.md @@ -24,7 +24,6 @@ Method | HTTP request | Description [**start_session_config_granular_stats_default_dashboards**](SessionsApi.md#start_session_config_granular_stats_default_dashboards) | **POST** /api/v2/sessions/{sessionId}/config/operations/granular-stats-default-dashboards | [**start_session_config_save**](SessionsApi.md#start_session_config_save) | **POST** /api/v2/sessions/{sessionId}/config/operations/save | [**start_session_load_config**](SessionsApi.md#start_session_load_config) | **POST** /api/v2/sessions/{sessionId}/operations/loadConfig | -[**start_session_prepare_test**](SessionsApi.md#start_session_prepare_test) | **POST** /api/v2/sessions/{sessionId}/operations/prepareTest | [**start_session_test_end**](SessionsApi.md#start_session_test_end) | **POST** /api/v2/sessions/{sessionId}/operations/testEnd | [**start_session_test_init**](SessionsApi.md#start_session_test_init) | **POST** /api/v2/sessions/{sessionId}/operations/testInit | [**start_session_touch**](SessionsApi.md#start_session_touch) | **POST** /api/v2/sessions/{sessionId}/operations/touch | @@ -1625,86 +1624,6 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **start_session_prepare_test** -> AsyncContext start_session_prepare_test(session_id, prepare_test_operation=prepare_test_operation) - - - -This operation returns the config processed as agent messages and any data necessary for UI and REST stats - -### Example - -* OAuth Authentication (OAuth2): -* OAuth Authentication (OAuth2): - -```python -import cyperf -from cyperf.models.async_context import AsyncContext -from cyperf.models.prepare_test_operation import PrepareTestOperation -from cyperf.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to http://localhost -# See configuration.py for a list of all supported configuration parameters. -configuration = cyperf.Configuration( - host = "http://localhost" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] - -configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] - -# Enter a context with an instance of the API client -with cyperf.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = cyperf.SessionsApi(api_client) - session_id = 'session_id_example' # str | The ID of the session. - prepare_test_operation = [cyperf.PrepareTestOperation()] # List[PrepareTestOperation] | (optional) - - try: - api_response = api_instance.start_session_prepare_test(session_id, prepare_test_operation=prepare_test_operation) - print("The response of SessionsApi->start_session_prepare_test:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling SessionsApi->start_session_prepare_test: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **session_id** | **str**| The ID of the session. | - **prepare_test_operation** | [**List[PrepareTestOperation]**](PrepareTestOperation.md)| | [optional] - -### Return type - -[**AsyncContext**](AsyncContext.md) - -### Authorization - -[OAuth2](../README.md#OAuth2), [OAuth2](../README.md#OAuth2) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**202** | Details about the operation that just started | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - # **start_session_test_end** > AsyncContext start_session_test_end(session_id, test_state_changed_operation=test_state_changed_operation) diff --git a/docs/SetAppOperation.md b/docs/SetAppOperation.md deleted file mode 100644 index 52fd548..0000000 --- a/docs/SetAppOperation.md +++ /dev/null @@ -1,31 +0,0 @@ -# SetAppOperation - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**app_id** | **str** | The id of the app to activate on the controllers. | [optional] -**controllers** | **List[str]** | The controller ids for which to activate the app. | [optional] -**force** | **bool** | Whether the ownership information will be cleared or not. | [optional] - -## Example - -```python -from cyperf.models.set_app_operation import SetAppOperation - -# TODO update the JSON string below -json = "{}" -# create an instance of SetAppOperation from a JSON string -set_app_operation_instance = SetAppOperation.from_json(json) -# print the JSON string representation of the object -print(SetAppOperation.to_json()) - -# convert the object into a dict -set_app_operation_dict = set_app_operation_instance.to_dict() -# create an instance of SetAppOperation from a dict -set_app_operation_from_dict = SetAppOperation.from_dict(set_app_operation_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/SetControllerAppOperation.md b/docs/SetControllerAppOperation.md index a30cc4e..e3d90ba 100644 --- a/docs/SetControllerAppOperation.md +++ b/docs/SetControllerAppOperation.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **app_id** | **str** | The id of the app to activate on the controllers. | [optional] **controllers** | **List[str]** | The controller ids for which to activate the app. | [optional] -**force** | **bool** | Whether the ownership information will be cleared or not. | [optional] +**force_clear_ownership** | **bool** | Whether the ownership information will be cleared or not. | [optional] ## Example diff --git a/docs/SetFanOutModeOperation.md b/docs/SetFanOutModeOperation.md new file mode 100644 index 0000000..d9f8ab3 --- /dev/null +++ b/docs/SetFanOutModeOperation.md @@ -0,0 +1,31 @@ +# SetFanOutModeOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controllers** | [**List[FrontPanelsByController]**](FrontPanelsByController.md) | The controllers that the front panels are part of. | [optional] +**fan_out_mode** | **str** | The desired fanOut mode. | [optional] +**force_clear_ownership** | **bool** | Whether the ownership information of reserved ports will be cleared before switching the fanOut mode. | [optional] + +## Example + +```python +from cyperf.models.set_fan_out_mode_operation import SetFanOutModeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of SetFanOutModeOperation from a JSON string +set_fan_out_mode_operation_instance = SetFanOutModeOperation.from_json(json) +# print the JSON string representation of the object +print(SetFanOutModeOperation.to_json()) + +# convert the object into a dict +set_fan_out_mode_operation_dict = set_fan_out_mode_operation_instance.to_dict() +# create an instance of SetFanOutModeOperation from a dict +set_fan_out_mode_operation_from_dict = SetFanOutModeOperation.from_dict(set_fan_out_mode_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SetFrontPanelPortsLinkStateOperation.md b/docs/SetFrontPanelPortsLinkStateOperation.md new file mode 100644 index 0000000..add8ff7 --- /dev/null +++ b/docs/SetFrontPanelPortsLinkStateOperation.md @@ -0,0 +1,30 @@ +# SetFrontPanelPortsLinkStateOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**controllers** | [**List[FrontPanelPortsByController]**](FrontPanelPortsByController.md) | The controllers that the front panel ports are part of. | [optional] +**link** | **str** | The desired link state. | [optional] + +## Example + +```python +from cyperf.models.set_front_panel_ports_link_state_operation import SetFrontPanelPortsLinkStateOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of SetFrontPanelPortsLinkStateOperation from a JSON string +set_front_panel_ports_link_state_operation_instance = SetFrontPanelPortsLinkStateOperation.from_json(json) +# print the JSON string representation of the object +print(SetFrontPanelPortsLinkStateOperation.to_json()) + +# convert the object into a dict +set_front_panel_ports_link_state_operation_dict = set_front_panel_ports_link_state_operation_instance.to_dict() +# create an instance of SetFrontPanelPortsLinkStateOperation from a dict +set_front_panel_ports_link_state_operation_from_dict = SetFrontPanelPortsLinkStateOperation.from_dict(set_front_panel_ports_link_state_operation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SetNodesAppOperation.md b/docs/SetNodesAppOperation.md index 21446da..793bfef 100644 --- a/docs/SetNodesAppOperation.md +++ b/docs/SetNodesAppOperation.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **app_id** | **str** | The id of the app to activate on the compute nodes. | [optional] **controllers** | [**List[NodesByController]**](NodesByController.md) | The controllers that the compute nodes are part of. | [optional] -**force** | **bool** | Whether the ownership information will be cleared or not. | [optional] +**force_clear_ownership** | **bool** | Whether the ownership information will be cleared or not. | [optional] ## Example diff --git a/docs/SetLinkStateOperation.md b/docs/SetPortsLinkStateOperation.md similarity index 51% rename from docs/SetLinkStateOperation.md rename to docs/SetPortsLinkStateOperation.md index 0a001b1..6354fc5 100644 --- a/docs/SetLinkStateOperation.md +++ b/docs/SetPortsLinkStateOperation.md @@ -1,4 +1,4 @@ -# SetLinkStateOperation +# SetPortsLinkStateOperation ## Properties @@ -11,19 +11,19 @@ Name | Type | Description | Notes ## Example ```python -from cyperf.models.set_link_state_operation import SetLinkStateOperation +from cyperf.models.set_ports_link_state_operation import SetPortsLinkStateOperation # TODO update the JSON string below json = "{}" -# create an instance of SetLinkStateOperation from a JSON string -set_link_state_operation_instance = SetLinkStateOperation.from_json(json) +# create an instance of SetPortsLinkStateOperation from a JSON string +set_ports_link_state_operation_instance = SetPortsLinkStateOperation.from_json(json) # print the JSON string representation of the object -print(SetLinkStateOperation.to_json()) +print(SetPortsLinkStateOperation.to_json()) # convert the object into a dict -set_link_state_operation_dict = set_link_state_operation_instance.to_dict() -# create an instance of SetLinkStateOperation from a dict -set_link_state_operation_from_dict = SetLinkStateOperation.from_dict(set_link_state_operation_dict) +set_ports_link_state_operation_dict = set_ports_link_state_operation_instance.to_dict() +# create an instance of SetPortsLinkStateOperation from a dict +set_ports_link_state_operation_from_dict = SetPortsLinkStateOperation.from_dict(set_ports_link_state_operation_dict) ``` [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/SimpleSequenceValue.md b/docs/SimpleSequenceValue.md new file mode 100644 index 0000000..9839406 --- /dev/null +++ b/docs/SimpleSequenceValue.md @@ -0,0 +1,31 @@ +# SimpleSequenceValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start** | [**SingleValue**](SingleValue.md) | | [optional] +**step** | [**SingleValue**](SingleValue.md) | | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.simple_sequence_value import SimpleSequenceValue + +# TODO update the JSON string below +json = "{}" +# create an instance of SimpleSequenceValue from a JSON string +simple_sequence_value_instance = SimpleSequenceValue.from_json(json) +# print the JSON string representation of the object +print(SimpleSequenceValue.to_json()) + +# convert the object into a dict +simple_sequence_value_dict = simple_sequence_value_instance.to_dict() +# create an instance of SimpleSequenceValue from a dict +simple_sequence_value_from_dict = SimpleSequenceValue.from_dict(simple_sequence_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SingleValue.md b/docs/SingleValue.md new file mode 100644 index 0000000..365313f --- /dev/null +++ b/docs/SingleValue.md @@ -0,0 +1,32 @@ +# SingleValue + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bool_value** | **bool** | | [optional] +**float_value** | **float** | | [optional] +**integer_value** | **int** | | [optional] +**string_value** | **str** | | [optional] + +## Example + +```python +from cyperf.models.single_value import SingleValue + +# TODO update the JSON string below +json = "{}" +# create an instance of SingleValue from a JSON string +single_value_instance = SingleValue.from_json(json) +# print the JSON string representation of the object +print(SingleValue.to_json()) + +# convert the object into a dict +single_value_dict = single_value_instance.to_dict() +# create an instance of SingleValue from a dict +single_value_from_dict = SingleValue.from_dict(single_value_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StartBatchDeleteRequestInner.md b/docs/StartBatchDeleteRequestInner.md deleted file mode 100644 index 4d74fef..0000000 --- a/docs/StartBatchDeleteRequestInner.md +++ /dev/null @@ -1,29 +0,0 @@ -# StartBatchDeleteRequestInner - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **str** | | [optional] - -## Example - -```python -from cyperf.models.start_batch_delete_request_inner import StartBatchDeleteRequestInner - -# TODO update the JSON string below -json = "{}" -# create an instance of StartBatchDeleteRequestInner from a JSON string -start_batch_delete_request_inner_instance = StartBatchDeleteRequestInner.from_json(json) -# print the JSON string representation of the object -print(StartBatchDeleteRequestInner.to_json()) - -# convert the object into a dict -start_batch_delete_request_inner_dict = start_batch_delete_request_inner_instance.to_dict() -# create an instance of StartBatchDeleteRequestInner from a dict -start_batch_delete_request_inner_from_dict = StartBatchDeleteRequestInner.from_dict(start_batch_delete_request_inner_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/StartRootBatchDeleteRequestInner.md b/docs/StartRootBatchDeleteRequestInner.md deleted file mode 100644 index b0f6a5e..0000000 --- a/docs/StartRootBatchDeleteRequestInner.md +++ /dev/null @@ -1,29 +0,0 @@ -# StartRootBatchDeleteRequestInner - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **str** | | [optional] - -## Example - -```python -from cyperf.models.start_root_batch_delete_request_inner import StartRootBatchDeleteRequestInner - -# TODO update the JSON string below -json = "{}" -# create an instance of StartRootBatchDeleteRequestInner from a JSON string -start_root_batch_delete_request_inner_instance = StartRootBatchDeleteRequestInner.from_json(json) -# print the JSON string representation of the object -print(StartRootBatchDeleteRequestInner.to_json()) - -# convert the object into a dict -start_root_batch_delete_request_inner_dict = start_root_batch_delete_request_inner_instance.to_dict() -# create an instance of StartRootBatchDeleteRequestInner from a dict -start_root_batch_delete_request_inner_from_dict = StartRootBatchDeleteRequestInner.from_dict(start_root_batch_delete_request_inner_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/StatsDashboard.md b/docs/StatsDashboard.md new file mode 100644 index 0000000..cf3d85f --- /dev/null +++ b/docs/StatsDashboard.md @@ -0,0 +1,39 @@ +# StatsDashboard + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**changes** | [**List[ChangeEvent]**](ChangeEvent.md) | The changes hook | [optional] +**group_id** | **str** | The group identifier of the dashboard | [optional] +**id** | **str** | The unique identifier of the dashboard | [optional] +**links** | [**List[APILink]**](APILink.md) | | [optional] +**metrics** | [**MetricsList**](MetricsList.md) | | [optional] +**name** | **str** | The name of the dashboard | [optional] +**owner** | **str** | The friendly display name of the entity that created the dashboard | [optional] [readonly] +**owner_id** | **str** | The unique identifier of the entity that created the dashboard | [optional] [readonly] +**panels** | [**List[Panel]**](Panel.md) | The list of panels in the dashboard | [optional] +**read_only** | **bool** | Is a read only dashboard | [optional] +**type** | **str** | The application type of the dashboard | [optional] + +## Example + +```python +from cyperf.models.stats_dashboard import StatsDashboard + +# TODO update the JSON string below +json = "{}" +# create an instance of StatsDashboard from a JSON string +stats_dashboard_instance = StatsDashboard.from_json(json) +# print the JSON string representation of the object +print(StatsDashboard.to_json()) + +# convert the object into a dict +stats_dashboard_dict = stats_dashboard_instance.to_dict() +# create an instance of StatsDashboard from a dict +stats_dashboard_from_dict = StatsDashboard.from_dict(stats_dashboard_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/StreamProfile.md b/docs/StreamProfile.md index 189344f..0281ab9 100644 --- a/docs/StreamProfile.md +++ b/docs/StreamProfile.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **total_estimated_throughput** | **str** | | [optional] **total_estimated_throughput_per_simulated_user** | **str** | | [optional] **unique_pool_size** | **int** | | [optional] +**unrestricted_packet_rate** | **bool** | | [optional] ## Example diff --git a/docs/SubStep.md b/docs/SubStep.md new file mode 100644 index 0000000..2796d06 --- /dev/null +++ b/docs/SubStep.md @@ -0,0 +1,32 @@ +# SubStep + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **int** | | +**step** | [**SingleValue**](SingleValue.md) | | [optional] +**sub_steps** | [**List[SubStep]**](SubStep.md) | | +**links** | [**List[APILink]**](APILink.md) | | [optional] + +## Example + +```python +from cyperf.models.sub_step import SubStep + +# TODO update the JSON string below +json = "{}" +# create an instance of SubStep from a JSON string +sub_step_instance = SubStep.from_json(json) +# print the JSON string representation of the object +print(SubStep.to_json()) + +# convert the object into a dict +sub_step_dict = sub_step_instance.to_dict() +# create an instance of SubStep from a dict +sub_step_from_dict = SubStep.from_dict(sub_step_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/SwitchAppOperation.md b/docs/SwitchAppOperation.md deleted file mode 100644 index a87d2fd..0000000 --- a/docs/SwitchAppOperation.md +++ /dev/null @@ -1,29 +0,0 @@ -# SwitchAppOperation - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**app_id** | **str** | The id of the app to activate on the controller. | [optional] - -## Example - -```python -from cyperf.models.switch_app_operation import SwitchAppOperation - -# TODO update the JSON string below -json = "{}" -# create an instance of SwitchAppOperation from a JSON string -switch_app_operation_instance = SwitchAppOperation.from_json(json) -# print the JSON string representation of the object -print(SwitchAppOperation.to_json()) - -# convert the object into a dict -switch_app_operation_dict = switch_app_operation_instance.to_dict() -# create an instance of SwitchAppOperation from a dict -switch_app_operation_from_dict = SwitchAppOperation.from_dict(switch_app_operation_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/TLSProfile.md b/docs/TLSProfile.md index 10f7701..2241ee4 100644 --- a/docs/TLSProfile.md +++ b/docs/TLSProfile.md @@ -11,7 +11,10 @@ Name | Type | Description | Notes **cipher13** | [**CipherTLS13**](CipherTLS13.md) | | [optional] **ciphers12** | [**List[CipherTLS12]**](CipherTLS12.md) | | [optional] **ciphers13** | [**List[CipherTLS13]**](CipherTLS13.md) | | [optional] +**classical_signature_algorithms13** | [**List[ClassicalSignatureAlgorithmTLS13]**](ClassicalSignatureAlgorithmTLS13.md) | | [optional] +**composite_pqc_signature_algorithms13** | [**List[CompositePqcSignatureAlgorithmTLS13]**](CompositePqcSignatureAlgorithmTLS13.md) | | [optional] **dh_file** | [**Params**](Params.md) | | [optional] +**early_data_enabled** | **bool** | If true, TLS 1.3 early data will be enabled. | [optional] **get_tls_conflicts** | **List[bytearray]** | | [optional] **groups13** | [**List[GroupTLS13]**](GroupTLS13.md) | | [optional] **immediate_close** | **bool** | The immediate FIN after close notify | [optional] @@ -19,10 +22,13 @@ Name | Type | Description | Notes **key_file_password** | **str** | The key file password of the TLS profile. | [optional] **links** | [**List[APILink]**](APILink.md) | | [optional] **middle_box_enabled** | **bool** | If true, the middle box compatibility will be enabled | [optional] +**pqc_signature_algorithms13** | [**List[PqcSignatureAlgorithmTLS13]**](PqcSignatureAlgorithmTLS13.md) | | [optional] **profile_id** | **str** | The ID of the TLS profile (default: TLSProfile). | **resolve_tls_conflicts** | [**List[Conflict]**](Conflict.md) | | [optional] **send_close_notify** | **bool** | If true, a TLS close-notify alert will be sent while closing the TLS session | [optional] -**session_reuse_count** | **int** | | [optional] +**session_reuse_count** | **int** | Deprecated: retained for backward compatibility. Represents the TLS 1.2 session reuse count - the number of times a TLS 1.2 client can reuse a previously established session before performing a full handshake (a value of 0 disables session reuse). Use sessionReuseCount12 instead. | [optional] +**session_reuse_count12** | **int** | The number of times a TLS 1.2 client can reuse a previously established session before performing a full handshake ( a value of 0 disables session reuse). | [optional] +**session_reuse_count13** | **int** | The number of times a TLS 1.3 client can reuse a previously established session before performing a full handshake ( a value of 0 disables session reuse). | [optional] **session_reuse_method** | [**SessionReuseMethodTLS12**](SessionReuseMethodTLS12.md) | | [optional] **session_reuse_method12** | [**SessionReuseMethodTLS12**](SessionReuseMethodTLS12.md) | | [optional] **session_reuse_method13** | [**SessionReuseMethodTLS13**](SessionReuseMethodTLS13.md) | | [optional] @@ -31,6 +37,7 @@ Name | Type | Description | Notes **supported_groups13** | [**List[SupportedGroupTLS13]**](SupportedGroupTLS13.md) | | [optional] **tls12_enabled** | **bool** | | **tls13_enabled** | **bool** | | [optional] +**use_default_signature_algorithms** | **bool** | If true, default signature algorithms will be used. | [optional] **use_tls_profile** | **bool** | When disabled, the connection is not TLS secured (default: true). | [optional] **version** | **str** | The version of the TLS profile (default: NONE). Must be one of: NONE or TLSv1.2 or TLSv1.3. | diff --git a/docs/TestInfo.md b/docs/TestInfo.md index 55b5c0e..36082a8 100644 --- a/docs/TestInfo.md +++ b/docs/TestInfo.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **test_initialized** | **int** | A Unix timestamp that indicates when the last test was initialized | [optional] **test_started** | **int** | A Unix timestamp that indicates when the test was started | [optional] **test_stopped** | **int** | A Unix timestamp that indicates when the test was stopped. May be null if the test is still running. | [optional] -**test_usage** | [**TestUsage**](TestUsage.md) | | [optional] +**used_licenses** | **Dict[str, int]** | Feature types used by the current test and their respective counts | [optional] ## Example diff --git a/docs/TestUsage.md b/docs/TestUsage.md deleted file mode 100644 index 332271a..0000000 --- a/docs/TestUsage.md +++ /dev/null @@ -1,30 +0,0 @@ -# TestUsage - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**used_agents** | **List[str]** | The agents used by the current test | [optional] -**used_licenses** | **Dict[str, int]** | Feature types used by the current test and their respective counts | [optional] - -## Example - -```python -from cyperf.models.test_usage import TestUsage - -# TODO update the JSON string below -json = "{}" -# create an instance of TestUsage from a JSON string -test_usage_instance = TestUsage.from_json(json) -# print the JSON string representation of the object -print(TestUsage.to_json()) - -# convert the object into a dict -test_usage_dict = test_usage_instance.to_dict() -# create an instance of TestUsage from a dict -test_usage_from_dict = TestUsage.from_dict(test_usage_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/TextSegment.md b/docs/TextSegment.md new file mode 100644 index 0000000..d04b042 --- /dev/null +++ b/docs/TextSegment.md @@ -0,0 +1,33 @@ +# TextSegment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bold** | **bool** | Whether the text is bold. | [optional] +**color** | **str** | The color of the text. | [optional] +**css_class** | **str** | A CSS class to apply to the text segment. | [optional] +**italic** | **bool** | Whether the text is italic. | [optional] +**text** | **str** | The text content of the segment. | [optional] + +## Example + +```python +from cyperf.models.text_segment import TextSegment + +# TODO update the JSON string below +json = "{}" +# create an instance of TextSegment from a JSON string +text_segment_instance = TextSegment.from_json(json) +# print the JSON string representation of the object +print(TextSegment.to_json()) + +# convert the object into a dict +text_segment_dict = text_segment_instance.to_dict() +# create an instance of TextSegment from a dict +text_segment_from_dict = TextSegment.from_dict(text_segment_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/TrafficProfileBase.md b/docs/TrafficProfileBase.md index 31f48b9..a8e538a 100644 --- a/docs/TrafficProfileBase.md +++ b/docs/TrafficProfileBase.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **active** | **bool** | Indicates whether the profile is enabled or not. | [optional] +**playlist_sequencing_method** | [**PlaylistSequencingMethod**](PlaylistSequencingMethod.md) | | [optional] **traffic_settings** | [**TrafficSettings**](TrafficSettings.md) | | [optional] **use_all_source_ips_per_user** | **bool** | Indicates whether one or all source IPs are used for each simulated user. | [optional] **id** | **str** | | [optional] diff --git a/docs/TransportProfile.md b/docs/TransportProfile.md index c774900..7d684cd 100644 --- a/docs/TransportProfile.md +++ b/docs/TransportProfile.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **client_tls_profile** | [**TLSProfile**](TLSProfile.md) | | [optional] **client_tcp_profile** | [**TcpProfile**](TcpProfile.md) | | [optional] **ip_tos** | **int** | | [optional] +**llmapi_profiles** | [**List[LLMAPIProfile]**](LLMAPIProfile.md) | | [optional] **rtp_profile** | [**RTPProfile**](RTPProfile.md) | | [optional] **server_http_profile** | [**HTTPProfile**](HTTPProfile.md) | The server HTTP profile used in the Scenario. | [optional] **server_quic_profile** | [**QUICProfile**](QUICProfile.md) | | [optional] diff --git a/docs/TransportProfileBase.md b/docs/TransportProfileBase.md index 7f9a509..59791bc 100644 --- a/docs/TransportProfileBase.md +++ b/docs/TransportProfileBase.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **client_tls_profile** | [**TLSProfile**](TLSProfile.md) | | [optional] **client_tcp_profile** | [**TcpProfile**](TcpProfile.md) | | [optional] **ip_tos** | **int** | | [optional] +**llmapi_profiles** | [**List[LLMAPIProfile]**](LLMAPIProfile.md) | | [optional] **rtp_profile** | [**RTPProfile**](RTPProfile.md) | | [optional] **server_http_profile** | [**HTTPProfile**](HTTPProfile.md) | The server HTTP profile used in the Scenario. | [optional] **server_quic_profile** | [**QUICProfile**](QUICProfile.md) | | [optional] diff --git a/docs/TunnelRange.md b/docs/TunnelRange.md index d1ce0b0..3d63715 100644 --- a/docs/TunnelRange.md +++ b/docs/TunnelRange.md @@ -7,13 +7,14 @@ The Tunnel Range assigned to the current test configuration Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **cisco_any_connect_settings** | [**CiscoAnyConnectSettings**](CiscoAnyConnectSettings.md) | | [optional] -**dcp_request_timeout** | **int** | | [optional] +**dcp_request_timeout** | **int** | | **dns_resolver** | [**DNSResolver**](DNSResolver.md) | | [optional] **f5_settings** | [**F5Settings**](F5Settings.md) | | [optional] **fortinet_settings** | [**FortinetSettings**](FortinetSettings.md) | | [optional] **pangp_settings** | [**PANGPSettings**](PANGPSettings.md) | | [optional] **tcp_dst_port** | **int** | | **tunnel_count_per_outer_ip** | **int** | | +**tunnel_establishment_reattempts** | **int** | | [optional] **tunnel_establishment_timeout** | **int** | | [optional] **vendor_type** | **str** | | **links** | [**List[APILink]**](APILink.md) | | [optional] diff --git a/docs/UtilsApi.md b/docs/UtilsApi.md index 22033a9..5aa4f88 100644 --- a/docs/UtilsApi.md +++ b/docs/UtilsApi.md @@ -12,11 +12,11 @@ Method | HTTP request | Description [**get_docs**](UtilsApi.md#get_docs) | **GET** /api/v2/docs | [**get_docs_json**](UtilsApi.md#get_docs_json) | **GET** /api/v2/docs.json | [**get_docs_yaml**](UtilsApi.md#get_docs_yaml) | **GET** /api/v2/docs.yaml | -[**get_eula**](UtilsApi.md#get_eula) | **GET** /eula/v1/eula/CyPerf | Retrieve EULA detail +[**get_eula**](UtilsApi.md#get_eula) | **GET** /eula/v1/eula/{id} | Retrieve EULA detail [**get_log_config**](UtilsApi.md#get_log_config) | **GET** /api/v2/log-config | [**get_time**](UtilsApi.md#get_time) | **GET** /api/v2/time | [**list_eulas**](UtilsApi.md#list_eulas) | **GET** /eula/v1/eula | list of EULAs -[**post_eula**](UtilsApi.md#post_eula) | **POST** /eula/v1/eula/CyPerf | Update properties an EULA +[**post_eula**](UtilsApi.md#post_eula) | **POST** /eula/v1/eula/{id} | Update properties an EULA [**start_cert_manager_generate**](UtilsApi.md#start_cert_manager_generate) | **POST** /api/v2/cert-manager/operations/generate | [**start_cert_manager_upload**](UtilsApi.md#start_cert_manager_upload) | **POST** /api/v2/cert-manager/operations/upload | [**start_disk_usage_cleanup_diagnostics**](UtilsApi.md#start_disk_usage_cleanup_diagnostics) | **POST** /api/v2/disk-usage/operations/cleanup-diagnostics | @@ -624,7 +624,7 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_eula** -> EulaDetails get_eula() +> EulaDetails get_eula(id) Retrieve EULA detail @@ -658,10 +658,11 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.UtilsApi(api_client) + id = 'id_example' # str | The ID of the EULA. try: # Retrieve EULA detail - api_response = api_instance.get_eula() + api_response = api_instance.get_eula(id) print("The response of UtilsApi->get_eula:\n") pprint(api_response) except Exception as e: @@ -672,7 +673,10 @@ with cyperf.ApiClient(configuration) as api_client: ### Parameters -This endpoint does not need any parameter. + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the EULA. | ### Return type @@ -916,7 +920,7 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **post_eula** -> str post_eula(eula_summary=eula_summary) +> str post_eula(id, eula_summary=eula_summary) Update properties an EULA @@ -950,11 +954,12 @@ configuration.refresh_token = os.environ["OFFLINE_TOKEN_FROM_CYPERF_UI"] with cyperf.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = cyperf.UtilsApi(api_client) + id = 'id_example' # str | The ID of the EULA. eula_summary = cyperf.EulaSummary() # EulaSummary | (optional) try: # Update properties an EULA - api_response = api_instance.post_eula(eula_summary=eula_summary) + api_response = api_instance.post_eula(id, eula_summary=eula_summary) print("The response of UtilsApi->post_eula:\n") pprint(api_response) except Exception as e: @@ -968,6 +973,7 @@ with cyperf.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- + **id** | **str**| The ID of the EULA. | **eula_summary** | [**EulaSummary**](EulaSummary.md)| | [optional] ### Return type diff --git a/docs/VLANRange.md b/docs/VLANRange.md index 9895f33..66871bc 100644 --- a/docs/VLANRange.md +++ b/docs/VLANRange.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **count** | **int** | The number of VLANs generated (default: 1). | [optional] **count_per_agent** | **int** | The number of VLANs that should be assigned to each traffic agent for this VLAN range segment in a valid test (default: 1). | [optional] +**increment_every_no_of_ips** | **int** | Sets that number of IPs from the IP Range after which the VLAN is incremented. | [optional] **max_count_per_agent** | **int** | The maximum number of VLANs that should be assigned to each traffic agent for this VLAN range segment in a valid test (default: 1). | [optional] **priority** | **int** | The priority code point value (default: 0). | [optional] **static_arp_table** | [**List[StaticARPEntry]**](StaticARPEntry.md) | | [optional] diff --git a/docs/VLANType.md b/docs/VLANType.md new file mode 100644 index 0000000..bb74898 --- /dev/null +++ b/docs/VLANType.md @@ -0,0 +1,14 @@ +# VLANType + + +## Enum + +* `VLAN_NONE` (value: `'VLAN_NONE'`) + +* `VLAN` (value: `'VLAN'`) + +* `VLAN_IN_VLAN` (value: `'VLAN_IN_VLAN'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/git_push.sh b/git_push.sh deleted file mode 100644 index f53a75d..0000000 --- a/git_push.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=$(git remote) -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' diff --git a/jenkins/JenkinsFile b/jenkins/JenkinsFile deleted file mode 100644 index 3f7e4e3..0000000 --- a/jenkins/JenkinsFile +++ /dev/null @@ -1,117 +0,0 @@ -import jenkins.branch.* -import java.util.regex.Pattern - -def job_name_split = env.JOB_NAME.split('/')[-2] -env.job_name_split = env.JOB_NAME.split('/')[-2] -def branch = env.JOB_NAME.split('/')[-1] -env.branch = env.JOB_NAME.split('/')[-1] -def jenkins_cwd_lin = '/home/jenkins/build' + '/' + job_name_split + '/' + job_name_split + '-' + env.BUILD_NUMBER -env.jenkins_cwd_lin = '/home/jenkins/build' + '/' + job_name_split + '/' + job_name_split + '-' + env.BUILD_NUMBER - -pipeline_triggers=[ - [ - $class: 'BitBucketPPRTrigger', - triggers : [ - [ - $class: 'BitBucketPPRPullRequestTriggerFilter', - actionFilter: [ - $class: 'BitBucketPPRPullRequestCreatedActionFilter' - ] - ] - ] - ] - ] - -def projectProperties = [ - pipelineTriggers(pipeline_triggers), - [$class: 'BuildDiscarderProperty',strategy: [$class: 'LogRotator', numToKeepStr: '50']], - parameters ([ - string(name:'BASE_IMAGE', defaultValue:'docker-virtual-wap.artifactorylbj.it.keysight.com/wap-base-debian:12.8-slim', description: 'docker-virtual-wap.artifactorylbj.it.keysight.com/wap-base-debian:12.8-slim'), - booleanParam(name:'publish_pypi', defaultValue:false, description: 'If true, the build will be published to the public PyPI repos. Only works on release/ branches.') - ]), -] - -properties(projectProperties) - -def do_publish = params.publish_pypi - -@NonCPS -boolean setDisplayVersion(publish) { - branch_sanitized = branch.replaceAll('-', '.').replaceAll('_', '.').replaceAll('%2F', '-') - def matcher = Pattern.compile("^release%2F([0-9]+)\\.([0-9]+)\\.([0-9]+)\$").matcher(branch) - if (matcher.matches()) { - build_number = "dev${env.BUILD_NUMBER}+${branch_sanitized}" - if (publish) { - build_number = "${env.BUILD_NUMBER}" - } - env.PIP_VERSION = "${matcher.group(1).toString()}.${matcher.group(2).toString()}.${build_number}" - env.DOCKER_VERSION = env.PIP_VERSION.replaceAll('\\+', '-') - } else if (branch.startsWith("release%2F")) { - throw new Exception("Unexpected release branch format ${branch}, expected 'release%2fNUMBER.NUMBER.NUMBER'") - } else { - env.PIP_VERSION = "0.0.dev${env.BUILD_NUMBER}+${branch_sanitized}" - env.DOCKER_VERSION = env.PIP_VERSION.replaceAll('\\+', '-') - publish = false - } - currentBuild.displayName = env.PIP_VERSION - return publish -} - -node('wap') { - dir (jenkins_cwd_lin) { - stage('GitCheckout') { - commit = checkout([$class: 'GitSCM', - branches: scm.branches, - extensions: scm.extensions, - userRemoteConfigs: [[ - credentialsId: 'e7e3fcc3-4f5f-4e68-b68c-76f40b75a3c7', - url: 'https://bitbucket.it.keysight.com/scm/isgappsec/cyperf-api-wrapper.git']] - ]) - do_publish = setDisplayVersion(do_publish) - } - stage('Build base') { - env.BASE_IMAGE = params.BASE_IMAGE - sh(''' - docker build -f docker/Dockerfile \ - --build-arg base_image="$BASE_IMAGE" \ - --build-arg VERSION="$PIP_VERSION" \ - -t cyperf-api-wrapper-build:$DOCKER_VERSION \ - . - ''') - } - stage('Build and publish to internal repo') { - withCredentials([[$class: 'UsernamePasswordMultiBinding', - credentialsId: 'e7e3fcc3-4f5f-4e68-b68c-76f40b75a3c7', - usernameVariable: 'ARTIFACTORY_USERNAME', - passwordVariable: 'ARTIFACTORY_PASSWORD']]) { - sh(''' - docker run --rm \ - --env TWINE_USERNAME="$ARTIFACTORY_USERNAME" \ - --env TWINE_PASSWORD="$ARTIFACTORY_PASSWORD" \ - cyperf-api-wrapper-build:$DOCKER_VERSION \ - /cyperf-api-wrapper-build/publish.sh /build/py3 "--repository artifactory" - ''') - } - } - stage('Build and publish to public repo') { - if (do_publish) { - withCredentials([ - string(credentialsId: 'PYPI_API_TOKEN', variable: 'PYPI_API_TOKEN') - ]) { - sh(''' - docker run --rm \ - --env TWINE_USERNAME="__token__" \ - --env TWINE_PASSWORD="$PYPI_API_TOKEN" \ - cyperf-api-wrapper-build:$DOCKER_VERSION \ - /cyperf-api-wrapper-build/publish.sh /build/py3 - ''') - } - } - } - stage('Cleanup') { - sh(''' - docker rmi cyperf-api-wrapper-build:$DOCKER_VERSION - ''') - } - } -} diff --git a/pyproject.toml b/pyproject.toml index c498ef5..dcedd56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,12 @@ [tool.poetry] name = "cyperf" version = "1.0.0" -description = "CyPerf Application API" +description = "Keysight CyPerf Application API" authors = ["Keysight CyPerf "] license = "NoLicense" readme = "README.md" repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" -keywords = ["OpenAPI", "OpenAPI-Generator", "CyPerf Application API"] +keywords = ["OpenAPI", "OpenAPI-Generator", "Keysight CyPerf Application API"] include = ["cyperf/py.typed"] [tool.poetry.dependencies] diff --git a/samples/appbuilder/claude.pcap b/samples/appbuilder/claude.pcap new file mode 100644 index 0000000..e4b0f42 Binary files /dev/null and b/samples/appbuilder/claude.pcap differ diff --git a/samples/appbuilder/sample_appbuilder_examples.py b/samples/appbuilder/sample_appbuilder_examples.py new file mode 100644 index 0000000..42c1bfd --- /dev/null +++ b/samples/appbuilder/sample_appbuilder_examples.py @@ -0,0 +1,163 @@ +import cyperf, random, string +from cyperf import CreateAppOperation, ParameterMeta, ParameterMatch, RegexMatch, ActionInput, CaptureInput, \ + AppFlowInput +from cyperf.utils import parse_cli_options + + +def _create_api_client_from_cli(): + args, offline_token = parse_cli_options() + + configuration = cyperf.Configuration( + host=f"https://{args.controller}", + refresh_token=offline_token, + username=args.user, + password=args.password, + ) + configuration.verify_ssl = False + api_client = cyperf.ApiClient(configuration) + + return api_client + +def random_string(length=8): + letters = string.ascii_lowercase + return ''.join(random.choice(letters) for i in range(length)) + +def get_capture_id(capture_upload_result): + return capture_upload_result['resourceURL'].split('/')[-1] + +def app_params(param_name: str, patterns: list[str], match_location: list[str]): + regex_match = RegexMatch( + Patterns=patterns + ) + param_match = ParameterMatch( + MatchLocation=match_location, # URL, REQ_HEADERS, RES_HEADERS, REQ_BODY, RES_BODY + MatchType="REGEX", + RegexMatch=regex_match + ) + param_anthropic_version = ParameterMeta( + Name=param_name, + Matches=[param_match] + ) + return [param_anthropic_version] + +def action_get_models(capture_id): + get_models_flow = AppFlowInput( + AppFlowId="2", + Exchanges=["1"] + ) + get_models_content = CaptureInput( + CaptureId=capture_id, + Flows=[get_models_flow] + ) + return ActionInput( + Name="Get Models", + Captures=[get_models_content], + Parameters=app_params("Claude Model", ["claude-opus-4-6|claude-sonnet-5"], ["REQ_BODY", "RES_BODY"]) + ) + +def action_ask_claude(capture_id): + get_models_flow = AppFlowInput( + AppFlowId="2", + Exchanges=["2"] + ) + get_models_content = CaptureInput( + CaptureId=capture_id, + Flows=[get_models_flow] + ) + return ActionInput( + Name="Ask Claude", + Captures=[get_models_content], + Parameters=app_params("Claude Model", ["claude-opus-4-6|claude-sonnet-5"], ["REQ_BODY", "RES_BODY"]) + ) + +def actions(capture_id): + return [action_get_models(capture_id), action_ask_claude(capture_id)] + +def new_action(action_name: str, capture_id: str, flow_id: str, exchanges: list[str]): + return ActionInput( + Name=action_name, + Captures=[CaptureInput( + CaptureId=capture_id, + Flows=[AppFlowInput( + AppFlowId=flow_id, + Exchanges=exchanges + )] + )] + ) + +def one_action_per_exchange(client, capture_id): + flows = client.get_capture_flows(capture_id=capture_id) + actions = [] + for flow in flows: + exchanges = client.get_flow_exchanges(capture_id=capture_id, flow_id=flow.id) + for exchange in exchanges: + actions.append(new_action(exchange.name, capture_id, flow.id, [exchange.id])) + + return actions + +def one_action_all_exchanges(client, action_name, capture_id): + flows = client.get_capture_flows(capture_id=capture_id) + actions = [] + for flow in flows: + actions.append(new_action(action_name, capture_id, flow.id, ["all"])) + + return actions + + +def create_claude_app(client): + new_claude_app = CreateAppOperation( + AppName=f"Anthropic Claude ({random_string(8)})", + Description="This is a dummy implementation of Anthropic Claude Application", + Actions=actions(capture_id), + Parameters=app_params("Anthropic Version", ["Anthropic-Version.*"], ["REQ_HEADERS"]) + ) + + create_app_op = client.start_resources_create_app(new_claude_app) + create_app_op.await_completion() + +def create_app_with_one_action_for_each_exch(client, capture_id): + new_action_per_exch_app = CreateAppOperation( + AppName=f"Generic app ({random_string(8)})", + Description="This is a sample application generated from a capture, there is one action for each exchange in the original capture", + Actions=one_action_per_exchange(client, capture_id), + ) + + create_app_op = client.start_resources_create_app(new_action_per_exch_app) + create_app_op.await_completion() + +def create_app_with_one_action_all_exchanges(client, capture_id): + new_action_per_exch_app = CreateAppOperation( + AppName=f"Generic app ({random_string(8)})", + Description="This is a sample application generated from a capture, there is one action for each exchange in the original capture", + Actions=one_action_all_exchanges(client, "Generic Action", capture_id), + ) + + create_app_op = client.start_resources_create_app(new_action_per_exch_app) + create_app_op.await_completion() + + +if __name__ == "__main__": + import urllib3 + + urllib3.disable_warnings() + + api_client = _create_api_client_from_cli() + + with api_client: + resource_api = cyperf.ApplicationResourcesApi(api_client) + upload_op = resource_api.start_resources_captures_encrypted_upload_file(file="claude.pcap", ssl_key_log_file="tls_key.log") + + #use this method instead if the capture is not encrypted or you do not have the decryption keys(TCP flows will be parsed instead) + #upload_op = resource_api.start_resources_captures_upload_file(file="claude.pcap") + + capture_upload_result = upload_op.await_completion() + capture_id = get_capture_id(capture_upload_result) + + # creates one application, starting from the uploaded capture, creates a single action with all the exchanges from all the flows + create_app_with_one_action_all_exchanges(resource_api, capture_id) + + # creates one application, starting from the uploaded capture, creates a single action for each exchange in each flow + create_app_with_one_action_for_each_exch(resource_api, capture_id) + + # creates one application with some specific logic(choose specific exchanges from specific flows) and add parameters to the application + create_claude_app(resource_api) diff --git a/samples/appbuilder/tls_key.log b/samples/appbuilder/tls_key.log new file mode 100644 index 0000000..12d7323 --- /dev/null +++ b/samples/appbuilder/tls_key.log @@ -0,0 +1,5 @@ +SERVER_HANDSHAKE_TRAFFIC_SECRET e7473a000a0a200073602900bd923e004b37380062032900e02d11001cce1d00 43aabac76ed9db15178c5b9c2f33bcccf1fefc11915d76e32fbfb4cb0b11b4f5cd4e28e57d24cf40c209d9d7640d5db6 +EXPORTER_SECRET e7473a000a0a200073602900bd923e004b37380062032900e02d11001cce1d00 6a2a60c3d0ff18a0bbef088d4173bb33b134437446434f6d168f55eddb63607065a96468a5a796186e2cf80b02e342ad +SERVER_TRAFFIC_SECRET_0 e7473a000a0a200073602900bd923e004b37380062032900e02d11001cce1d00 fa0a3629a6e1dfa3551cb2a0e09e1922192d319011065d1f726bc9f185a3247e8d65f82028bff02557f3be65a6e4ac64 +CLIENT_HANDSHAKE_TRAFFIC_SECRET e7473a000a0a200073602900bd923e004b37380062032900e02d11001cce1d00 a544da63a713d4393506fe7138fbc9204356efcd81c69b7f2c4a37a9459b3ae034c69a0e193cc36072515badb8173a8c +CLIENT_TRAFFIC_SECRET_0 e7473a000a0a200073602900bd923e004b37380062032900e02d11001cce1d00 8ecdbcb8e7d7faf9e090bae36ca745509a1089fc76cc1b42fa44ff41fbe0caeec030c8e35e58241bdd31dfaee961858b diff --git a/samples/sample_attacks_load_and_run.py b/samples/sample_attacks_load_and_run.py index 2172de4..f4cf1df 100644 --- a/samples/sample_attacks_load_and_run.py +++ b/samples/sample_attacks_load_and_run.py @@ -101,7 +101,7 @@ def _print_attack_stats(self, test, time_from, time_to): def _wait_until_stopped(self): self.last_recorded_time_stamp = 0 - self.utils.wait_for_test_stop(self.session, self._print_attack_stats) + self.utils.wait_for_test_end(self.session, self._print_attack_stats) print('Stopped test ...') def run(self): diff --git a/samples/sample_load_and_run_precanned_config_hw.py b/samples/sample_load_and_run_precanned_config_hw.py new file mode 100644 index 0000000..ffb5821 --- /dev/null +++ b/samples/sample_load_and_run_precanned_config_hw.py @@ -0,0 +1,222 @@ +from time import sleep + +import cyperf +from cyperf.utils import create_api_client_cli, require_ports, validate_ports + + +def assign_M8400_ports(api_client, config, controller_id): + """Assign front panel ports on an M8400 chassis to the session's network segments.""" + api_agents_instance = cyperf.AgentsApi(api_client) + front_panels = api_agents_instance.get_controller_front_panels(controller_id=controller_id) + + if len(front_panels) < 2: + raise ValueError("Expected at least 2 available front panels") + + for front_panel in front_panels[:2]: + require_ports(front_panel, min_count=1) + + validate_ports([front_panels[0].ports[0], front_panels[1].ports[0]]) + + # Create a front panel port map (each network segment can be assigned one or more front panel ports) + port_map = { + 'IP Network 1': [front_panels[0].ports[0].id], + 'IP Network 2': [front_panels[1].ports[0].id] + } + + # Assign the front panel ports + print("Assigning front panel ports ...") + for net_profile in config.config.network_profiles: + for ip_net in net_profile.ip_network_segment: + if ip_net.name in port_map: + front_panel_port_ids = port_map[ip_net.name] + print(f"Front panel port(s) {', '.join(front_panel_port_ids)} assigned to {ip_net.name}.") + capture_settings = None # CaptureSettings | The capture settings of the front panel port that is assigned (optional) + compute_resources_by_type = {"APS-ONE-400:non-aggregated":2} # Dict[str, int] | The number of compute resources to assign per compute node type & aggregation (necessary) + links = None # List[APILink] | (optional) + port_details = [cyperf.AgentAssignmentByFrontPanelPort(capture_settings=capture_settings, + compute_resources_by_type=compute_resources_by_type, + front_panel_port_id=front_panel_port_id, + id=front_panel_port_id, + links=links) + for front_panel_port_id in front_panel_port_ids] + if not ip_net.agent_assignments: + by_front_panel_port = None # List[AgentAssignmentByFrontPanelPort] | The front panel ports assigned to the current test configuration (necessary) + by_id = None # List[AgentAssignmentDetails] | The agents statically assigned to the current test configuration (optional) + by_port = None # List[AgentAssignmentByPort] | The ports assigned to the current test configuration (incompatible with M8400) + by_tag = None # List[str] | The tags according to which the agents are dynamically assigned (incompatible with M8400) + ip_net.agent_assignments = cyperf.AgentAssignments(by_front_panel_port=by_front_panel_port, + by_id=by_id, + by_port=by_port, + by_tag=by_tag, + links=links) + ip_net.agent_assignments.by_front_panel_port = port_details + ip_net.update() + print("Assigning front panel ports completed.\n") + + +def _assign_by_port_ids(config, port_map): + """Assign the given port_map (network segment name -> list of port IDs) to the session's network segments.""" + print("Assigning ports ...") + for net_profile in config.config.network_profiles: + for ip_net in net_profile.ip_network_segment: + if ip_net.name in port_map: + port_ids = port_map[ip_net.name] + print(f"Port(s) {', '.join(port_ids)} assigned to {ip_net.name}.") + capture_settings = None # CaptureSettings | The capture settings of the port that is assigned (optional) + links = None # List[APILink] | (optional) + port_details = [cyperf.AgentAssignmentByPort(capture_settings=capture_settings, + port_id=port_id, + id=port_id, + links=links) + for port_id in port_ids] + if not ip_net.agent_assignments: + by_front_panel_port = None # List[AgentAssignmentByFrontPanelPort] | The front panel ports assigned to the current test configuration (compatible with M8400) + by_id = None # List[AgentAssignmentDetails] | The agents statically assigned to the current test configuration (optional) + by_port = None # List[AgentAssignmentByPort] | The ports assigned to the current test configuration (optional) + by_tag = None # List[str] | The tags according to which the agents are dynamically assigned + ip_net.agent_assignments = cyperf.AgentAssignments(by_front_panel_port=by_front_panel_port, + by_id=by_id, + by_port=by_port, + by_tag=by_tag, + links=links) + ip_net.agent_assignments.by_port = port_details + ip_net.update() + print("Assigning ports completed.\n") + + +def assign_M1010_ports(api_client, config, controller_id): + """Assign ports from a single M1010 compute node to the session's network segments.""" + api_agents_instance = cyperf.AgentsApi(api_client) + compute_nodes = api_agents_instance.get_controller_compute_nodes(controller_id=controller_id) + + if len(compute_nodes) == 0: + raise ValueError("Expected at least one available compute node") + + compute_node_ports = require_ports(compute_nodes[0], min_count=4) + + validate_ports(compute_node_ports[:4]) + + # Ports are wired as loopback pairs (0<->2, 1<->3) + port_map = { + 'IP Network 1': [compute_node_ports[0].id, compute_node_ports[1].id], + 'IP Network 2': [compute_node_ports[2].id, compute_node_ports[3].id] + } + + _assign_by_port_ids(config, port_map) + + +def assign_novusminipro_ports(api_client, config, controller_id): + """Assign ports from a NovusMiniPro's 'mgmt' compute node to the session's network segments.""" + api_agents_instance = cyperf.AgentsApi(api_client) + compute_node_mgmt = api_agents_instance.get_controller_compute_node_by_id(controller_id=controller_id, compute_node_id="mgmt") + ports = require_ports(compute_node_mgmt, min_count=4) + + validate_ports(ports[:4]) + + # Ports are assumed to be wired as loopback pairs (0<->1, 2<->3) + port_map = { + 'IP Network 1': [ports[0].id, ports[1].id], + 'IP Network 2': [ports[2].id, ports[3].id] + } + + _assign_by_port_ids(config, port_map) + + +# Maps a platform name to its port assignment function and default controller ID. +# Add a new entry here (and a corresponding assign_*_ports function above) to support another platform. +PLATFORMS = { + 'M8400': (assign_M8400_ports, "chs-001"), + 'M1010': (assign_M1010_ports, "chs-001"), + 'novusminipro': (assign_novusminipro_ports, "nvm1"), +} + + +if __name__ == "__main__": + import urllib3; urllib3.disable_warnings() + + # Select which hardware platform to run against, then replace that platform's + # controller ID in PLATFORMS above with your own (see AgentsApi.get_controllers()) + platform = 'M1010' # one of: 'M8400', 'M1010', 'novusminipro' + if platform not in PLATFORMS: + raise ValueError(f"Unknown platform '{platform}', expected one of {list(PLATFORMS)}") + assign_ports, controller_id = PLATFORMS[platform] + + # Enter a context with an instance of the API client + with create_api_client_cli(verify_ssl=False) as api_client: + # Find the pre-canned config + api_config_instance = cyperf.ConfigurationsApi(api_client) + take = 1 # int | The number of search results to return (optional) + skip = None # int | The number of search results to skip (optional) + search_col = 'displayName' # str | A list of comma-separated columns used to search for the supplied values (optional) + search_val = 'Not Working From Home Traffic Mix' # str | The keywords used to filter the items (optional) + filter_mode = None # str | The operator applied to the supplied values (optional) + sort = None # str | A list of comma-separated field:direction pairs used to sort the items where direction must be asc or dsc (optional) + config = api_config_instance.get_configs(take=1, + skip=skip, + search_col=search_col, + search_val=search_val, + filter_mode=filter_mode, + sort=sort) + + if len(config.data) == 0: + raise ValueError("Couldn't find the specified configuration.") + + # Load a pre-canned config + api_session_instance = cyperf.SessionsApi(api_client) + application = None # str | The user-friendly name for the application that controls this session (optional) + config_name = None # str | The display name of the configuration loaded in the session (optional) + config_url = config.data[0].config_url # str | The external URL of the configuration loaded in the session (optional) + index = None # int | The session's index (optional) (readonly) + name = None # str | The user-visible name of the session (optional) + owner = None # str | The user-visible name of the session's owner (optional) (readonly) + sessions = [cyperf.Session(application=application, + config_name=config_name, + configUrl=config_url, + index=index, + name=name, + owner=owner)] + + # Create a session + session = None + print(f"Creating session from config called {search_val} ...") + api_session_response = api_session_instance.create_sessions(sessions=sessions) + session = api_session_response[0] + print("Session created.\n") + + # Get the configuration of the created session + include = 'Config, TrafficProfiles' # str | Specifies if the sub-fields that are objects should be included (eg. 'Config'). (optional) + config = api_session_instance.get_session_config(session_id=session.id, include=include) + + # Modify test duration + config.config.traffic_profiles[0].objectives_and_timeline.primary_objective.timeline[1].duration = 30 + config.config.traffic_profiles[0].objectives_and_timeline.primary_objective.update() + + # Assign the ports/front panels for the selected platform + assign_ports(api_client, config, controller_id) + + # Start traffic + print("Starting the test ...") + api_test_operation_instance = cyperf.TestOperationsApi(api_client) + api_test_operation_response = api_test_operation_instance.start_test_run_start(session_id=session.id) + api_test_operation_response.await_completion() + + # Wait for the test to be finished + print("Test running ...") + session.refresh() + while session.test.status != 'STOPPED': + sleep(5) + session.refresh() + print("Test finished successfully.\n") + + # Download the test results + print("Downloading test results ...") + api_test_results_instance = cyperf.TestResultsApi(api_client) + generate_all_operation = cyperf.GenerateAllOperation() + api_test_results_response = api_test_results_instance.start_result_generate_all(result_id=session.test.test_id, generate_all_operation=generate_all_operation) + file_path = api_test_results_response.await_completion() + + last_separator_index = file_path.rfind("\\") + directory = file_path[:last_separator_index] + file_name = file_path[last_separator_index + 1:] + + print(f"Saved as: '{file_name}' at {directory}\n") diff --git a/samples/sample_sequences_examples.py b/samples/sample_sequences_examples.py new file mode 100644 index 0000000..0db2fee --- /dev/null +++ b/samples/sample_sequences_examples.py @@ -0,0 +1,445 @@ +from dataclasses import dataclass, field + +import cyperf +from cyperf import AgentAssignments, IPNetwork, DUTNetwork, Address, DUTRange +from cyperf.utils import parse_cli_options + +BASE_CONFIG_NAME = "Cyperf Empty Config" + +OUTER_VLAN_ID = 200 +OUTER_VLAN_INCR = 1 +OUTER_VLAN_COUNT = 1 +OUTER_TPID = 0x88A8 +OUTER_INCREMENT_EVERY_NO_OF_IPS = 1 +OUTER_PRIORITY = 0 + +INNER_VLAN_ID = 100 +INNER_VLAN_INCR = 1 +INNER_VLAN_COUNT = 1 +INNER_TPID = 0x8100 +INNER_INCREMENT_EVERY_NO_OF_IPS = 1 +INNER_PRIORITY = 0 +HTTP_APP_SEARCH = "HTTP App" +DEFAULT_MSS = 1460 + +DEFAULT_COUNT = 18 +DEFAULT_SUB_STEP_COUNT = 3 +DEFAULT_CLIENT_START_IP="10.0.0.10" +DEFAULT_SERVER_START_IP="10.0.0.40" +DEFAULT_IP_INCREMENT="0.1.0.0" + +DEFAULT_CLIENT_START_MAC="10:00:00:00:00:10" +DEFAULT_SERVER_START_MAC="20:00:00:00:00:00" +DEFAULT_MAC_INCREMENT="00:00:00:01:00:00" + +@dataclass +class StepNode: + step: str + count: int = field(default=DEFAULT_SUB_STEP_COUNT) + sub_steps: list["StepNode"] = field(default_factory=list) + + def to_substep(self): + return _step_s( + step=self.step, + count=self.count, + sub_steps=[c.to_substep() for c in self.sub_steps], + ) + +IP_SUBSTEPS=[ + StepNode(step="0.0.1.0", sub_steps=[StepNode("0.0.0.1")]), + StepNode(step="0.0.2.0", sub_steps=[StepNode("0.0.0.2")]), +] + +MAC_SUBSTEPS=[ + StepNode(step="00:00:00:00:01:00", sub_steps=[StepNode("00:00:00:00:00:01")]), + StepNode(step="00:00:00:00:02:00", sub_steps=[StepNode("00:00:00:00:00:02")]), +] + +def _create_api_client_from_cli(): + args, offline_token = parse_cli_options( + extra_options=[ + ("--client-agent-ip", "Agent IP to assign to IP Network 1", True), + ("--server-agent-ip", "Agent IP to assign to IP Network 2", True), + ] + ) + + configuration = cyperf.Configuration( + host=f"https://{args.controller}", + refresh_token=offline_token, + username=args.user, + password=args.password, + ) + configuration.verify_ssl = False + api_client = cyperf.ApiClient(configuration) + + return api_client, args.client_agent_ip, args.server_agent_ip + +def _find_config_url(api_client, config_name: str) -> str: + configs_api = cyperf.ConfigurationsApi(api_client) + configs = configs_api.get_configs( + take=1, + search_col="displayName", + search_val=config_name, + ) + + if not configs.data: + raise ValueError(f"Configuration '{config_name}' was not found.") + + return configs.data[0].config_url + +def _create_session(api_client, config_url: str): + sessions_api = cyperf.SessionsApi(api_client) + sessions = sessions_api.create_sessions([cyperf.Session(config_url=config_url)]) + if not sessions: + raise RuntimeError("Failed to create session.") + return sessions[0] + +def _add_application_profile_with_http_app(api_client, session): + sessions_api = cyperf.SessionsApi(api_client) + app_resources_api = cyperf.ApplicationResourcesApi(api_client) + + traffic_profiles = session.config.config.traffic_profiles + existing_profiles = len(traffic_profiles) if traffic_profiles else 0 + traffic_profiles.append(cyperf.ApplicationProfile(Name="Application Profile")) + traffic_profiles.update() + + apps = app_resources_api.get_resources_apps( + take=1, + skip=0, + search_col="Name", + search_val=HTTP_APP_SEARCH, + sort="Name:asc", + ) + if not apps.data: + raise ValueError(f"No application found for search value '{HTTP_APP_SEARCH}'.") + + app = apps.data[0] + traffic_profile_id = str(existing_profiles + 1) + operation = sessions_api.start_config_add_applications( + session.id, + traffic_profile_id, + external_resource_info=[ + cyperf.ExternalResourceInfo(externalResourceURL=str(app.id)) + ], + ) + operation.await_completion() + +def _ip_range(name: str, count: int): + return cyperf.IPRange( + GwAuto=False, + IpAuto=False, + IpRangeName=name, + MssAuto=True, + Mss=DEFAULT_MSS, + NetMaskAuto=False, + NetMask=16, + VLANType=cyperf.VLANType.VLAN_NONE, + HostCount=1, + IpVer=cyperf.IpVer.IPV4, + Count=count, + GwStart="10.0.0.1", + ) + +def _create_ip_range(ip_net, count, ip_address_seq: cyperf.SequenceValue, inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + default_ip_range = _ip_range(f"{ip_net.name} Range 1", count) + ip_net.ip_ranges = [default_ip_range] + ip_net.ip_ranges.update() + ip_range = ip_net.ip_ranges[0] + ip_range.ip_auto = False + ip_range.gw_auto = False + ip_range.count = count + ip_range.max_count_per_agent = count + ip_range.gw_start = "10.0.0.0" + ip_range.mss = DEFAULT_MSS + ip_range.ip_address = ip_address_seq + if inner_vlan is not None: + ip_range.vlan_type = cyperf.VLANType.VLAN + ip_range.inner_vlan_range = inner_vlan + if outer_vlan is not None: + ip_range.vlan_type = cyperf.VLANType.VLAN_IN_VLAN + ip_range.outer_vlan_range = outer_vlan + + ip_range.update() + +def _ip_seq(seq_type: cyperf.SequenceValueTypes, ip_start: str, increment: str, sub_steps: list[cyperf.SubStep] | None = None): + return _sequence(seq_type, ip_start, increment, cyperf.SequenceDataTypes.IP_SEQ, *(sub_steps or [])) + +def _mac_seq(seq_type: cyperf.SequenceValueTypes, ip_start: str, increment: str, sub_steps: list[cyperf.SubStep] | None = None): + return _sequence(seq_type, ip_start, increment, cyperf.SequenceDataTypes.MAC_SEQ, *(sub_steps or [])) + +def _step_s(step: str, count: int, sub_steps: list[cyperf.SubStep] | None = None): + return cyperf.SubStep( + Step=cyperf.SingleValue( + StringValue=step, + ), + Count=count, + SubSteps=sub_steps or [] + ) + +def _dut_address(count: int, ip_seq: cyperf.SequenceValue, inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + address = Address( + UseRange=True, + Range=DUTRange( + Count=count, + Ip=ip_seq, + VLANType=cyperf.VLANType.VLAN_NONE + ) + ) + if inner_vlan is not None: + address.range.vlan_type = cyperf.VLANType.VLAN + address.range.inner_vlan_range = inner_vlan + if outer_vlan is not None: + address.range.vlan_type = cyperf.VLANType.VLAN_IN_VLAN + address.range.outer_vlan_range = outer_vlan + return address + +def _dut(inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + dut_seq = _ip_seq( + seq_type=cyperf.SequenceValueTypes.CUSTOM, + ip_start=DEFAULT_SERVER_START_IP, + increment=DEFAULT_IP_INCREMENT, + sub_steps=[n.to_substep() for n in IP_SUBSTEPS] + ) + return DUTNetwork( + id="1", + Name="DUT Network 1", + ConfigSettings="ADVANCED_MODE", + ServerDUTAddress=_dut_address( + count=DEFAULT_COUNT, + ip_seq=dut_seq, + inner_vlan=inner_vlan, + outer_vlan=outer_vlan), + active=True, + ServerDUTActive=True, + ) + +def _sequence(seq_type: cyperf.SequenceValueTypes, ip_start: str, increment: str, seq_data_type: cyperf.SequenceDataTypes, *sub_steps: cyperf.SubStep): + return cyperf.SequenceValue( + SequenceType=seq_type, + Custom=cyperf.CustomSequence( + Start=cyperf.SingleValue( + StringValue=ip_start + ), + Step=cyperf.SingleValue( + StringValue=increment + ), + SubSteps=list(sub_steps), + ), + Increment=cyperf.SimpleSequenceValue( + Start=cyperf.SingleValue( + StringValue=ip_start + ), + Step=cyperf.SingleValue( + StringValue=increment + ), + ), + DataType=seq_data_type, + ) + +def _vlan_range(vlan_range_name: str, vlan_id: int, vlan_incr: int, vlan_count: int, tpid: int, increment_every_no_of_ips: int = 1, priority: int = 0, +): + vlan_range = cyperf.VLANRange(VlanAuto=False, VlanRangeName=vlan_range_name, VlanId=vlan_id) + vlan_range.vlan_auto = False + vlan_range.vlan_id = vlan_id + vlan_range.vlan_incr = vlan_incr + vlan_range.count = vlan_count + vlan_range.priority = priority + vlan_range.tag_protocol_id = tpid + vlan_range.count_per_agent = 1 + vlan_range.increment_every_no_of_ips = increment_every_no_of_ips + return vlan_range + +def configure_networks(session, dut_id: str | None = None): + if not session.config.config.network_profiles: + raise ValueError("Session configuration has no network profiles.") + + dut_connections: list[str] = ["1"] + if dut_id is not None: + dut_connections = [dut_id] + client_net = IPNetwork(Name="IP Network 1", id="1", agentAssignments=AgentAssignments(ByID=[], ByTag=[]), minAgents=1, IPRanges=[], DUTConnections=dut_connections) + server_net = IPNetwork(Name="IP Network 2", id="2", agentAssignments=AgentAssignments(ByID=[], ByTag=[]), minAgents=1, IPRanges=[], DUTConnections=dut_connections) + session.config.config.network_profiles[0].ip_network_segment = [client_net, server_net] + session.config.config.network_profiles[0].ip_network_segment.update() + +def configure_dut(session, inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + if not session.config.config.network_profiles: + raise ValueError("Session configuration has no network profiles.") + + session.config.config.network_profiles[0].dut_network_segment = [_dut(inner_vlan, outer_vlan)] + session.config.config.network_profiles[0].dut_network_segment.update() + + return session.config.config.network_profiles[0].dut_network_segment[0].id + +def configure_ip_ranges(session, inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + client_net = session.config.config.network_profiles[0].ip_network_segment[0] + server_net = session.config.config.network_profiles[0].ip_network_segment[1] + _create_ip_range(client_net, DEFAULT_COUNT, _ip_seq( + seq_type=cyperf.SequenceValueTypes.INCREMENT, + ip_start=DEFAULT_CLIENT_START_IP, + increment=DEFAULT_IP_INCREMENT + ), inner_vlan, outer_vlan) + _create_ip_range(server_net, DEFAULT_COUNT, _ip_seq( + seq_type=cyperf.SequenceValueTypes.CUSTOM, + ip_start=DEFAULT_SERVER_START_IP, + increment=DEFAULT_IP_INCREMENT, + sub_steps=[n.to_substep() for n in IP_SUBSTEPS] + ), inner_vlan, outer_vlan) + +def _mac_dtls(name: str, inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + mac_dtls_stack = cyperf.MacDtlsStack( + id="1", + DTLSRangeName=name, + TunnelDestinationMacStart="AA:BB:CC:DD:EE:FF", + TunnelDestinationMacIncr="00:00:00:00:00:01", + InIV="0x22222222", + InIVIncr="0x00000001", + InKey="0xBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", + InKeyIncr="0x0000000000000000000000000000000000000000000000000000000000000001", + OutIV="0x11111111", + OutIVIncr="0x00000001", + OutKey="0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + OutKeyIncr="0x0000000000000000000000000000000000000000000000000000000000000001", + TunnelCount=1 + ) + mac_dtls_stack.ip_range = _ip_range(f"{name} IP Range 1", DEFAULT_COUNT) + if inner_vlan is not None: + mac_dtls_stack.vlan_type = cyperf.VLANType.VLAN + mac_dtls_stack.vlan_range = inner_vlan + if outer_vlan is not None: + mac_dtls_stack.vlan_type = cyperf.VLANType.VLAN_IN_VLAN + mac_dtls_stack.outer_vlan_range = outer_vlan + return mac_dtls_stack + +def configure_mac_dtls(session, inner_vlan: cyperf.VLANRange | None = None, outer_vlan: cyperf.VLANRange | None = None): + client_net = session.config.config.network_profiles[0].ip_network_segment[0] + server_net = session.config.config.network_profiles[0].ip_network_segment[1] + client_net.mac_dtls_stacks = [_mac_dtls("Client MAC-DTLS 1", inner_vlan, outer_vlan)] + server_net.mac_dtls_stacks = [_mac_dtls("Server MAC-DTLS 1", inner_vlan, outer_vlan)] + client_net.mac_dtls_stacks.update() + server_net.mac_dtls_stacks.update() + + client_mac_dtls = client_net.mac_dtls_stacks[0] + client_mac_dtls.dtls_enabled = False + client_mac_dtls.update() + + client_ip_range = client_mac_dtls.ip_range + client_ip_range.ip_address = _ip_seq( + seq_type=cyperf.SequenceValueTypes.INCREMENT, + ip_start=DEFAULT_CLIENT_START_IP, + increment=DEFAULT_IP_INCREMENT + ) + client_ip_range.update() + + server_mac_dtls = server_net.mac_dtls_stacks[0] + server_mac_dtls.dtls_enabled = False + server_mac_dtls.update() + + server_ip_range = server_mac_dtls.ip_range + server_ip_range.ip_address = _ip_seq( + seq_type=cyperf.SequenceValueTypes.CUSTOM, + ip_start=DEFAULT_SERVER_START_IP, + increment=DEFAULT_IP_INCREMENT, + sub_steps=[n.to_substep() for n in IP_SUBSTEPS] + ) + server_ip_range.update() + + +def configure_ethernet(session): + client_net = session.config.config.network_profiles[0].ip_network_segment[0] + server_net = session.config.config.network_profiles[0].ip_network_segment[1] + + client_net.eth_range.mac_auto = False + client_net.eth_range.one_mac_per_ip = False + client_net.eth_range.mac_address = _mac_seq( + seq_type=cyperf.SequenceValueTypes.INCREMENT, + ip_start=DEFAULT_CLIENT_START_MAC, + increment=DEFAULT_MAC_INCREMENT, + ) + client_net.eth_range.update() + server_net.eth_range.mac_auto = False + server_net.eth_range.one_mac_per_ip = False + server_net.eth_range.mac_address = _mac_seq( + seq_type=cyperf.SequenceValueTypes.CUSTOM, + ip_start=DEFAULT_SERVER_START_MAC, + increment=DEFAULT_MAC_INCREMENT, + sub_steps=[n.to_substep() for n in MAC_SUBSTEPS] + ) + server_net.eth_range.update() + +def assign_agents_by_ip(api_client, session, network_to_agent_ip): + agents_api = cyperf.AgentsApi(api_client) + available_agents = agents_api.get_agents(exclude_offline="true") + available_by_ip = {agent.ip: agent for agent in available_agents} + + net_profile = session.config.config.network_profiles[0] + + for idx, ip_net in enumerate(net_profile.ip_network_segment): + if ip_net.name not in network_to_agent_ip: + continue + + agent_ip = network_to_agent_ip[ip_net.name] + if agent_ip not in available_by_ip: + raise ValueError( + f"Agent IP '{agent_ip}' is not connected or is offline." + ) + + agent = available_by_ip[agent_ip] + agent_details = [cyperf.AgentAssignmentDetails(agentId=agent.id, id = str(idx))] + ip_net.agent_assignments.by_id = agent_details + ip_net.agent_assignments.update() + +if __name__ == "__main__": + import urllib3 + + urllib3.disable_warnings() + + api_client, client_agent_ip, server_agent_ip = _create_api_client_from_cli() + + with api_client: + config_url = _find_config_url(api_client, BASE_CONFIG_NAME) + session = _create_session(api_client, config_url) + + print(f"Session created: {session.id}") + print("Creating application profile with HTTP app...") + _add_application_profile_with_http_app(api_client, session) + + + print("Applying Network settings...") + + #without VLAN + inner_vlan = None + outer_vlan = None + + #with VLAN + inner_vlan = _vlan_range('inner_vlan', INNER_VLAN_ID, INNER_VLAN_INCR, INNER_VLAN_COUNT, INNER_TPID, 1, INNER_PRIORITY) + outer_vlan = _vlan_range('outer_vlan', OUTER_VLAN_ID, OUTER_VLAN_INCR, OUTER_VLAN_COUNT, OUTER_TPID, 1, OUTER_PRIORITY) + + print("Configuring DUT") + dut_id = None + + #uncomment this line for plain IP, comment it for MAC DTLS + dut_id = configure_dut(session, inner_vlan, outer_vlan) + print("Configuring Networks") + configure_networks(session, dut_id) + print("Configuring ethernet for networks") + configure_ethernet(session) + print("Configuring IP ranges for networks") + + #uncomment this line for plain IP, comment it for MAC DTLS + configure_ip_ranges(session, inner_vlan, outer_vlan) + + #uncomment this line for MAC DTLS, comment it for plain IP + # configure_mac_dtls(session, inner_vlan, outer_vlan) + print("Network configured successfully.") + + print("Assigning agents by IP...") + assign_agents_by_ip( + api_client, + session, + { + "IP Network 1": client_agent_ip, + "IP Network 2": server_agent_ip, + }, + ) + + print("Test is now configured!") diff --git a/samples/sample_udp_streaming_run.py b/samples/sample_udp_streaming_run.py index a36caff..f58efc3 100644 --- a/samples/sample_udp_streaming_run.py +++ b/samples/sample_udp_streaming_run.py @@ -122,7 +122,7 @@ def print_run_time_stats(self, test, time_from, time_to, stat_names): def _wait_until_stopped(self): self.last_recorded_time_stamps = {} - self.utils.wait_for_test_stop(self.session, self._print_run_time_stats) + self.utils.wait_for_test_end(self.session, self._print_run_time_stats) print('Stopped test ...') def run(self): diff --git a/setup.py b/setup.py index 175cb33..f2b0684 100644 --- a/setup.py +++ b/setup.py @@ -1,9 +1,9 @@ # coding: utf-8 """ - CyPerf Application API + Keysight CyPerf Application API - CyPerf REST API + Keysight CyPerf REST API The version of the OpenAPI document: 1.0.0 Contact: support@keysight.com diff --git a/test/test_parameter_meta.py b/test/test_parameter_meta.py new file mode 100644 index 0000000..1052ca1 --- /dev/null +++ b/test/test_parameter_meta.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + CyPerf Application API + + CyPerf REST API + + The version of the OpenAPI document: 1.0.0 + Contact: support@keysight.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from cyperf.models.parameter_meta import ParameterMeta + +class TestParameterMeta(unittest.TestCase): + """ParameterMeta unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ParameterMeta: + """Test ParameterMeta + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ParameterMeta` + """ + model = ParameterMeta() + if include_optional: + return ParameterMeta( + matches = [ + cyperf.models.parameter_match.ParameterMatch( + match_location = [ + '' + ], + match_type = '', + regex_match = cyperf.models.regex_match.RegexMatch( + patterns = [ + '' + ], ), ) + ], + name = '' + ) + else: + return ParameterMeta( + ) + """ + + def testParameterMeta(self): + """Test ParameterMeta""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + + +if __name__ == '__main__': + unittest.main()