From 964296e2b885419fe126c0d971ff9ec1711af59b Mon Sep 17 00:00:00 2001 From: Niyatha V S Date: Tue, 18 Aug 2026 17:33:16 +0530 Subject: [PATCH] Added files for publishing to pypi --- .gitignore | 2 +- .gitlab-ci.yml | 6 +- .openapi-generator/FILES | 102 + .openapi-generator/VERSION | 2 +- .travis.yml | 4 +- README.md | 113 +- docs/AIManagementApi.md | 153 +- docs/ActionConfiguration.md | 1 + docs/ActionInstance.md | 2 + docs/AdvancedCustomBlueprintIndicator.md | 30 + docs/AdvancedFilter.md | 32 + docs/ApdexConfigWithRBACTag.md | 35 + docs/ApdexSettingsApi.md | 40 +- docs/ApiLogItem.md | 58 + docs/ApiLogTag.md | 31 + docs/ApiPermissionSet.md | 1 + docs/ApiTeamScope.md | 2 + docs/ApiToken.md | 6 + docs/Application.md | 1 + docs/ApplicationAlertConfigurationApi.md | 3 + docs/ApplicationAnalyzeApi.md | 77 + docs/ApplicationConfig.md | 5 + docs/AvailabilityBlueprintIndicator.md | 1 + docs/CreateEvaluationRequest.md | 38 + docs/CreateEvaluationResponse.md | 30 + docs/CustomEventMobileAppAlertRule.md | 1 + docs/CustomEventWebsiteAlertRule.md | 1 + docs/CustomerEmail.md | 30 + docs/DefaultApi.md | 1537 +- docs/EmailIntegration.md | 1 + docs/EntityMetric.md | 30 + docs/EntityMetricScope.md | 30 + docs/ErrorsApplicationAlertRule.md | 1 + docs/EvaluationDetailResponse.md | 42 + docs/EvaluationListItem.md | 42 + docs/EvaluationListResponse.md | 30 + docs/Evaluator.md | 36 + docs/EventResult.md | 1 + docs/EventSettingsApi.md | 18 +- docs/EventsApi.md | 18 +- docs/FilterInterface.md | 30 + docs/FleetConfiguration.md | 35 + docs/FleetConfigurationAssignment.md | 36 + docs/FleetConfigurationAssignmentResponse.md | 30 + docs/FleetConfigurationResponse.md | 33 + docs/FleetManagementApi.md | 807 + docs/GatewayStatusResponse.md | 34 + docs/GetInfrastructureGroupsQuery.md | 2 +- docs/GitHubConfiguration.md | 2 +- .../GlobalApplicationAlertConfigurationApi.md | 7 +- docs/InfraEventResult.md | 1 + docs/InfrastructureAlertConfigurationApi.md | 6 +- docs/InfrastructureAnalyzeApi.md | 2 +- docs/InfrastructureGroup.md | 1 + docs/InfrastructureMetricsApi.md | 68 + docs/LLMEgressGateway.md | 2 +- docs/LLMEvaluationApi.md | 1027 + docs/LatencyBlueprintIndicator.md | 1 + docs/LogAlertConfigurationApi.md | 15 +- docs/LoggingAnalyzeApi.md | 205 + docs/LogsApiResponse.md | 32 + docs/LogsQuery.md | 35 + docs/MobileApp.md | 1 + docs/MobileAppAnalyzeApi.md | 2 +- docs/MobileAppCatalogApi.md | 236 - docs/MobileAppConfigurationApi.md | 4 +- docs/MobileAppSessionReplayApi.md | 244 + docs/MobileSloEntity.md | 29 + docs/NS1Integration.md | 1 + docs/NewApplicationConfig.md | 1 + docs/Notification.md | 31 + docs/RbacRestrictions.md | 43 + docs/RunEvaluationResponse.md | 32 + docs/SamplingMetadata.md | 34 + docs/SaturationBlueprintIndicator.md | 1 + docs/ServiceLevelsAlertConfigurationApi.md | 6 +- docs/SpanExcerpt.md | 1 + docs/StaticThreshold.md | 2 + docs/StaticThresholdRule.md | 2 + docs/StatusCodeApplicationAlertRule.md | 1 + docs/StatusCodeMobileAppAlertRule.md | 1 + docs/SyntheticAlertConfig.md | 3 + docs/SyntheticAlertConfigWithMetadata.md | 3 + docs/SyntheticAlertConfigWithRBACTag.md | 3 + docs/SyntheticAlertConfigurationApi.md | 9 +- docs/SyntheticPlaybackCapabilities.md | 1 + docs/SyntheticTypeConfiguration.md | 2 +- docs/TeamsApi.md | 4 +- docs/TestResultCommonProperties.md | 6 + docs/TestResultDetailData.md | 4 +- docs/TimeConfig.md | 32 + docs/TraceSamplingConfig.md | 38 + docs/TrafficBlueprintIndicator.md | 1 + docs/TypeConfiguration.md | 1 + docs/UpdateEvaluationRequest.md | 39 + docs/UpdateFleetConfigurationRequest.md | 31 + docs/UserApi.md | 82 + docs/Website.md | 1 + docs/WebsiteConfigurationApi.md | 4 +- instana_client/__init__.py | 1928 +- instana_client/api/__init__.py | 3 + instana_client/api/action_catalog_api.py | 5 +- instana_client/api/action_history_api.py | 5 +- instana_client/api/ai_management_api.py | 403 +- instana_client/api/apdex_report_api.py | 5 +- instana_client/api/apdex_settings_api.py | 109 +- instana_client/api/api_token_api.py | 5 +- .../application_alert_configuration_api.py | 20 +- instana_client/api/application_analyze_api.py | 262 +- instana_client/api/application_catalog_api.py | 5 +- instana_client/api/application_metrics_api.py | 5 +- .../api/application_resources_api.py | 5 +- .../api/application_settings_api.py | 5 +- .../api/application_topology_api.py | 5 +- instana_client/api/audit_log_api.py | 5 +- instana_client/api/authentication_api.py | 5 +- instana_client/api/business_monitoring_api.py | 5 +- instana_client/api/custom_dashboards_api.py | 5 +- instana_client/api/custom_entities_api.py | 5 +- instana_client/api/default_api.py | 6167 ++- instana_client/api/end_user_monitoring_api.py | 5 +- instana_client/api/event_settings_api.py | 35 +- instana_client/api/events_api.py | 56 +- instana_client/api/fleet_management_api.py | 2704 + ...bal_application_alert_configuration_api.py | 14 +- instana_client/api/groups_api.py | 5 +- instana_client/api/health_api.py | 5 +- instana_client/api/host_agent_api.py | 5 +- .../infrastructure_alert_configuration_api.py | 5 +- .../api/infrastructure_analyze_api.py | 11 +- .../api/infrastructure_catalog_api.py | 5 +- .../api/infrastructure_metrics_api.py | 275 +- .../api/infrastructure_resources_api.py | 5 +- .../api/infrastructure_topology_api.py | 5 +- instana_client/api/ip_filtering_api.py | 5 +- instana_client/api/llm_evaluation_api.py | 3467 ++ .../api/llm_price_configuration_api.py | 5 +- .../api/log_alert_configuration_api.py | 14 +- instana_client/api/logging_analyze_api.py | 287 +- .../api/maintenance_configuration_api.py | 5 +- instana_client/api/mobile_app_analyze_api.py | 5 +- instana_client/api/mobile_app_catalog_api.py | 950 +- .../api/mobile_app_configuration_api.py | 11 +- instana_client/api/mobile_app_metrics_api.py | 5 +- .../api/mobile_app_session_replay_api.py | 979 + instana_client/api/policies_api.py | 5 +- instana_client/api/releases_api.py | 5 +- instana_client/api/roles_api.py | 5 +- .../service_levels_alert_configuration_api.py | 5 +- ...service_levels_objective_slo_report_api.py | 5 +- instana_client/api/session_settings_api.py | 5 +- instana_client/api/sli_report_api.py | 5 +- instana_client/api/sli_settings_api.py | 5 +- .../api/slo_catalog_for_mobile_app_api.py | 5 +- instana_client/api/slo_configurations_api.py | 5 +- .../api/slo_correction_configurations_api.py | 5 +- .../api/slo_correction_windows_api.py | 5 +- .../api/synthetic_alert_configuration_api.py | 14 +- instana_client/api/synthetic_calls_api.py | 5 +- instana_client/api/synthetic_catalog_api.py | 5 +- instana_client/api/synthetic_metrics_api.py | 5 +- instana_client/api/synthetic_settings_api.py | 5 +- .../synthetic_test_playback_results_api.py | 5 +- instana_client/api/teams_api.py | 17 +- instana_client/api/usage_api.py | 5 +- instana_client/api/user_api.py | 273 +- instana_client/api/website_analyze_api.py | 5 +- instana_client/api/website_catalog_api.py | 5 +- .../api/website_configuration_api.py | 11 +- instana_client/api/website_metrics_api.py | 5 +- instana_client/api_client.py | 82 +- instana_client/configuration.py | 109 +- instana_client/exceptions.py | 14 +- instana_client/models/__init__.py | 35 +- instana_client/models/abstract_integration.py | 9 +- instana_client/models/abstract_rule.py | 9 +- instana_client/models/access_rule.py | 14 +- instana_client/models/action.py | 9 +- instana_client/models/action_beacon.py | 37 +- instana_client/models/action_configuration.py | 23 +- instana_client/models/action_instance.py | 19 +- .../models/action_instance_metadata_entry.py | 9 +- .../models/action_instance_parameter.py | 9 +- .../models/action_instance_request.py | 9 +- .../action_instance_request_parameters.py | 9 +- instana_client/models/action_match.py | 9 +- instana_client/models/action_search_space.py | 9 +- instana_client/models/adaptive_baseline.py | 11 +- .../models/adaptive_threshold_rule.py | 11 +- instana_client/models/adjusted_timeframe.py | 9 +- .../advanced_custom_blueprint_indicator.py | 105 + instana_client/models/advanced_filter.py | 113 + .../models/agent_configuration_update.py | 9 +- instana_client/models/agent_mode_update.py | 13 +- .../models/alerting_configuration.py | 9 +- ...lerting_configuration_with_last_updated.py | 9 +- instana_client/models/alerting_time_window.py | 9 +- instana_client/models/apdex_alert_rule.py | 9 +- .../models/apdex_config_with_rbac_tag.py | 114 + instana_client/models/apdex_configuration.py | 9 +- .../models/apdex_configuration_input.py | 9 +- instana_client/models/apdex_entity.py | 16 +- instana_client/models/apdex_level.py | 17 +- instana_client/models/apdex_report.py | 9 +- instana_client/models/api_create_group.py | 14 +- instana_client/models/api_create_role.py | 24 +- instana_client/models/api_group.py | 14 +- instana_client/models/api_log_item.py | 156 + instana_client/models/api_log_tag.py | 93 + instana_client/models/api_member.py | 9 +- instana_client/models/api_permission_set.py | 50 +- .../api_restricted_application_filter.py | 14 +- instana_client/models/api_role.py | 14 +- instana_client/models/api_tag.py | 9 +- instana_client/models/api_team.py | 9 +- instana_client/models/api_team_info.py | 9 +- instana_client/models/api_team_member.py | 9 +- instana_client/models/api_team_role.py | 9 +- instana_client/models/api_team_scope.py | 19 +- instana_client/models/api_token.py | 43 +- .../models/app_data_metric_configuration.py | 19 +- instana_client/models/application.py | 23 +- .../models/application_alert_config.py | 36 +- .../application_alert_config_with_metadata.py | 36 +- .../models/application_alert_rule.py | 9 +- .../models/application_apdex_entity.py | 14 +- instana_client/models/application_config.py | 43 +- .../models/application_event_result.py | 12 +- instana_client/models/application_item.py | 9 +- .../models/application_metric_result.py | 14 +- instana_client/models/application_node.py | 9 +- instana_client/models/application_result.py | 9 +- instana_client/models/application_scope.py | 9 +- .../models/application_scope_with_metadata.py | 14 +- .../models/application_sli_entity.py | 29 +- .../models/application_slo_entity.py | 24 +- .../models/application_time_threshold.py | 9 +- .../models/audit_log_ui_response.py | 9 +- instana_client/models/author.py | 14 +- .../availability_blueprint_indicator.py | 21 +- .../models/availability_sli_entity.py | 49 +- instana_client/models/available_metrics.py | 9 +- instana_client/models/available_plugins.py | 9 +- .../models/backend_trace_reference.py | 9 +- .../bidirectional_ms_teams_app_integration.py | 9 +- .../bidirectional_slack_app_integration.py | 9 +- instana_client/models/binary_operator_dto.py | 9 +- .../models/browser_script_configuration.py | 9 +- .../browser_script_configuration_update.py | 9 +- .../models/built_in_event_specification.py | 9 +- ...n_event_specification_with_last_updated.py | 9 +- .../models/bulk_alert_config_request.py | 9 +- instana_client/models/business_activity.py | 28 +- .../models/business_perspective_config.py | 14 +- instana_client/models/call_groups_item.py | 9 +- instana_client/models/call_groups_result.py | 14 +- instana_client/models/call_relation.py | 9 +- instana_client/models/change_summary.py | 9 +- .../models/cloudfoundry_physical_context.py | 29 +- instana_client/models/condition.py | 9 +- instana_client/models/config_version.py | 9 +- instana_client/models/correction.py | 9 +- .../models/correction_configuration.py | 14 +- .../models/correction_scheduling.py | 9 +- instana_client/models/correction_window.py | 9 +- .../models/crash_mobile_app_alert_rule.py | 9 +- .../models/create_evaluation_request.py | 108 + .../models/create_evaluation_response.py | 91 + .../models/create_website_request_inner.py | 9 +- ...cursor_paginated_business_activity_item.py | 9 +- instana_client/models/cursor_pagination.py | 9 +- ...ion_with_ui_cursor_infra_explore_cursor.py | 9 +- .../models/custom_blueprint_indicator.py | 21 +- instana_client/models/custom_dashboard.py | 9 +- .../models/custom_dashboard_preview.py | 9 +- ...ashboard_with_user_specific_information.py | 9 +- instana_client/models/custom_dependency.py | 19 +- .../models/custom_email_subject_prefix.py | 17 +- instana_client/models/custom_entity_model.py | 41 +- .../models/custom_entity_with_metadata.py | 9 +- .../custom_event_mobile_app_alert_rule.py | 17 +- .../models/custom_event_specification.py | 29 +- ...m_event_specification_with_last_updated.py | 39 +- .../models/custom_event_website_alert_rule.py | 17 +- instana_client/models/custom_metric.py | 14 +- .../models/custom_payload_configuration.py | 9 +- instana_client/models/custom_payload_field.py | 9 +- .../custom_payload_with_last_updated.py | 9 +- .../models/custom_payload_with_version.py | 9 +- instana_client/models/custom_tag.py | 14 +- instana_client/models/customer_email.py | 91 + instana_client/models/dashboard_api_token.py | 9 +- instana_client/models/database_integration.py | 9 +- .../models/deprecated_tag_filter.py | 9 +- instana_client/models/dns_configuration.py | 9 +- .../models/dns_configuration_update.py | 9 +- .../models/dns_filter_query_time.py | 9 +- .../models/dns_filter_target_value.py | 9 +- instana_client/models/duration.py | 9 +- instana_client/models/dynamic_field.py | 9 +- instana_client/models/dynamic_field_value.py | 14 +- instana_client/models/dynamic_parameter.py | 9 +- instana_client/models/dynamic_tag.py | 14 +- instana_client/models/edit_user.py | 9 +- instana_client/models/email_integration.py | 17 +- instana_client/models/empty_configuration.py | 9 +- instana_client/models/endpoint.py | 13 +- instana_client/models/endpoint_config.py | 9 +- .../models/endpoint_event_result.py | 12 +- instana_client/models/endpoint_item.py | 9 +- .../models/endpoint_metric_result.py | 14 +- instana_client/models/endpoint_node.py | 9 +- instana_client/models/endpoint_result.py | 9 +- instana_client/models/endpoint_simple.py | 13 +- instana_client/models/entity_count_rule.py | 9 +- .../models/entity_count_verification_rule.py | 13 +- instana_client/models/entity_health_info.py | 9 +- instana_client/models/entity_id.py | 25 +- instana_client/models/entity_metric.py | 95 + instana_client/models/entity_metric_scope.py | 100 + .../models/entity_verification_rule.py | 9 +- .../models/error_budget_alert_rule.py | 9 +- .../models/errors_application_alert_rule.py | 20 +- .../models/evaluation_detail_response.py | 113 + instana_client/models/evaluation_list_item.py | 115 + .../models/evaluation_list_response.py | 99 + instana_client/models/evaluator.py | 103 + instana_client/models/event.py | 29 +- .../models/event_filtering_configuration.py | 24 +- instana_client/models/event_result.py | 14 +- .../models/event_specification_info.py | 9 +- instana_client/models/extended_service.py | 13 +- .../models/failure_synthetic_alert_rule.py | 9 +- instana_client/models/filter_interface.py | 99 + .../fixed_http_path_segment_matching_rule.py | 9 +- instana_client/models/fixed_time_window.py | 9 +- instana_client/models/fleet_configuration.py | 118 + .../models/fleet_configuration_assignment.py | 125 + ...fleet_configuration_assignment_response.py | 92 + .../models/fleet_configuration_response.py | 112 + .../models/gateway_status_response.py | 97 + .../models/generic_infra_alert_rule.py | 14 +- .../models/geo_location_configuration.py | 9 +- instana_client/models/geo_mapping_rule.py | 34 +- instana_client/models/geo_subdivision.py | 9 +- .../models/get_action_beacons_result.py | 13 +- instana_client/models/get_activities.py | 14 +- .../models/get_application_metrics.py | 14 +- instana_client/models/get_applications.py | 13 +- .../models/get_available_metrics_query.py | 26 +- .../models/get_available_plugins_query.py | 18 +- instana_client/models/get_call_groups.py | 19 +- instana_client/models/get_combined_metrics.py | 15 +- .../models/get_dynamic_parameter_values.py | 9 +- instana_client/models/get_endpoints.py | 13 +- .../models/get_infrastructure_groups_query.py | 33 +- .../models/get_infrastructure_query.py | 31 +- instana_client/models/get_metrics_result.py | 14 +- .../models/get_mobile_app_beacon_groups.py | 19 +- .../models/get_mobile_app_beacons.py | 9 +- .../models/get_mobile_app_metrics.py | 9 +- .../models/get_mobile_app_metrics_v2.py | 14 +- .../models/get_payload_keys_result.py | 14 +- instana_client/models/get_services.py | 9 +- .../get_session_replay_metadata_result.py | 13 +- instana_client/models/get_snapshots_query.py | 9 +- instana_client/models/get_test_result.py | 14 +- .../models/get_test_result_analytic.py | 14 +- instana_client/models/get_test_result_base.py | 14 +- instana_client/models/get_test_result_list.py | 14 +- .../models/get_test_summary_result.py | 14 +- .../models/get_trace_download_result_item.py | 9 +- instana_client/models/get_trace_groups.py | 19 +- instana_client/models/get_traces.py | 19 +- .../models/get_website_beacon_groups.py | 19 +- instana_client/models/get_website_beacons.py | 9 +- instana_client/models/get_website_metrics.py | 9 +- .../models/get_website_metrics_v2.py | 14 +- .../models/git_hub_configuration.py | 15 +- ..._application_alert_config_with_metadata.py | 36 +- .../global_applications_alert_config.py | 36 +- .../models/google_chat_integration.py | 9 +- instana_client/models/graph_edge.py | 9 +- instana_client/models/graph_node.py | 9 +- instana_client/models/group.py | 14 +- instana_client/models/group_by_tag.py | 14 +- instana_client/models/group_mapping.py | 19 +- .../models/group_mapping_overview.py | 9 +- instana_client/models/health_state.py | 9 +- instana_client/models/historic_baseline.py | 16 +- .../models/host_availability_rule.py | 9 +- .../models/http_action_configuration.py | 9 +- .../http_action_configuration_update.py | 9 +- instana_client/models/http_endpoint_config.py | 9 +- instana_client/models/http_endpoint_rule.py | 9 +- .../models/http_path_segment_matching_rule.py | 9 +- .../models/http_script_configuration.py | 9 +- .../http_script_configuration_update.py | 9 +- instana_client/models/hyper_param.py | 9 +- instana_client/models/icmp_configuration.py | 9 +- .../models/icmp_configuration_update.py | 9 +- instana_client/models/icmp_validation.py | 9 +- .../models/identity_provider_patch.py | 9 +- instana_client/models/idp_status_update.py | 9 +- instana_client/models/impacted_beacon_info.py | 9 +- instana_client/models/infra_alert_config.py | 61 +- .../infra_alert_config_with_metadata.py | 46 +- instana_client/models/infra_alert_rule.py | 14 +- instana_client/models/infra_event_result.py | 16 +- instana_client/models/infra_slo_entity.py | 14 +- instana_client/models/infra_time_threshold.py | 9 +- .../models/infrastructure_entities_result.py | 14 +- instana_client/models/infrastructure_group.py | 22 +- .../models/infrastructure_groups_result.py | 14 +- instana_client/models/infrastructure_item.py | 9 +- .../models/infrastructure_metric_result.py | 9 +- instana_client/models/instana_version_info.py | 9 +- instana_client/models/integration_overview.py | 19 +- instana_client/models/invitation.py | 14 +- instana_client/models/invitation_response.py | 9 +- instana_client/models/invitation_result.py | 9 +- instana_client/models/ip_filtering.py | 9 +- .../models/ip_filtering_rule_dto.py | 9 +- instana_client/models/ip_filtering_upsert.py | 9 +- .../models/ip_masking_configuration.py | 9 +- instana_client/models/js_stack_trace_line.py | 19 +- .../models/kubernetes_physical_context.py | 29 +- .../models/latency_blueprint_indicator.py | 21 +- instana_client/models/llm_egress_gateway.py | 12 +- .../models/llm_gateway_capability.py | 9 +- instana_client/models/llm_gateway_model.py | 9 +- instana_client/models/llm_gateway_service.py | 9 +- .../llm_gateway_test_connection_request.py | 9 +- instana_client/models/llm_model_price.py | 9 +- .../models/llm_model_price_metadata.py | 9 +- instana_client/models/location_status.py | 9 +- instana_client/models/log_alert_config.py | 46 +- .../models/log_alert_config_with_metadata.py | 41 +- instana_client/models/log_alert_rule.py | 9 +- instana_client/models/log_count_alert_rule.py | 9 +- instana_client/models/log_event_result.py | 12 +- instana_client/models/log_time_threshold.py | 9 +- instana_client/models/log_volume_group.py | 9 +- .../models/log_volume_usage_item.py | 9 +- .../models/log_volume_usage_result.py | 9 +- instana_client/models/logs_api_response.py | 103 + .../models/logs_application_alert_rule.py | 14 +- instana_client/models/logs_query.py | 134 + instana_client/models/maintenance_config.py | 9 +- .../models/maintenance_config_scheduling.py | 9 +- .../models/maintenance_config_v2.py | 14 +- ...nce_config_v2_with_state_and_occurrence.py | 14 +- .../maintenance_config_with_last_updated.py | 9 +- instana_client/models/maintenance_window.py | 9 +- .../manual_alerting_channel_configuration.py | 9 +- instana_client/models/manual_close_info.py | 9 +- .../models/manual_service_config.py | 31 +- ...tch_all_http_path_segment_matching_rule.py | 9 +- instana_client/models/match_expression_dto.py | 9 +- instana_client/models/meta_data.py | 9 +- instana_client/models/metric_api_result.py | 14 +- instana_client/models/metric_config.py | 14 +- instana_client/models/metric_configuration.py | 16 +- instana_client/models/metric_description.py | 9 +- instana_client/models/metric_field.py | 13 +- instana_client/models/metric_field_value.py | 13 +- instana_client/models/metric_instance.py | 9 +- instana_client/models/metric_item.py | 9 +- instana_client/models/metric_metadata.py | 9 +- instana_client/models/metric_pattern.py | 19 +- instana_client/models/metrics_result.py | 9 +- instana_client/models/metrics_result_item.py | 14 +- .../models/metrics_test_result_item.py | 9 +- instana_client/models/mobile_app.py | 17 +- .../models/mobile_app_alert_config.py | 46 +- .../mobile_app_alert_config_with_rbac_tag.py | 46 +- .../models/mobile_app_alert_rule.py | 9 +- .../models/mobile_app_beacon_groups_item.py | 9 +- .../models/mobile_app_beacon_groups_result.py | 14 +- .../models/mobile_app_beacon_result.py | 14 +- .../models/mobile_app_beacon_tag_group.py | 14 +- .../models/mobile_app_beacons_item.py | 9 +- .../models/mobile_app_event_result.py | 12 +- .../models/mobile_app_metric_result.py | 9 +- .../models/mobile_app_monitoring_beacon.py | 254 +- ...obile_app_monitoring_metric_description.py | 24 +- ...le_app_monitoring_metrics_configuration.py | 19 +- .../models/mobile_app_time_threshold.py | 9 +- instana_client/models/mobile_slo_entity.py | 106 + instana_client/models/model_field.py | 9 +- .../models/monitored_entities_stats.py | 9 +- instana_client/models/monitoring_state.py | 9 +- .../models/multiple_scripts_configuration.py | 9 +- .../models/new_application_config.py | 33 +- .../models/new_business_perspective_config.py | 14 +- .../models/new_manual_service_config.py | 31 +- instana_client/models/notification.py | 99 + instana_client/models/ns1_integration.py | 15 +- instana_client/models/o_auth_config.py | 9 +- instana_client/models/o_auth_integration.py | 9 +- instana_client/models/o_auth_token.py | 9 +- instana_client/models/occurrence.py | 9 +- .../models/office365_integration.py | 9 +- .../models/one_time_maintenance_window.py | 9 +- instana_client/models/opsgenie_integration.py | 19 +- instana_client/models/order.py | 14 +- .../models/pagerduty_integration.py | 9 +- instana_client/models/paginated_result.py | 9 +- instana_client/models/pagination.py | 9 +- instana_client/models/parameter.py | 24 +- instana_client/models/parameter_value.py | 9 +- ...rameter_http_path_segment_matching_rule.py | 9 +- instana_client/models/physical_context.py | 39 +- instana_client/models/plugin_result.py | 9 +- instana_client/models/policy.py | 9 +- instana_client/models/policy_runnable.py | 9 +- instana_client/models/policy_scheduling.py | 9 +- ...st_mobile_app_source_map_config_request.py | 9 +- .../models/post_snapshots_result.py | 19 +- instana_client/models/prefix_object.py | 13 +- instana_client/models/problem.py | 9 +- .../models/prometheus_webhook_integration.py | 14 +- instana_client/models/rbac_restrictions.py | 117 + .../models/recurrent_maintenance_window.py | 9 +- instana_client/models/release.py | 19 +- instana_client/models/release_scope.py | 9 +- .../models/release_with_metadata.py | 19 +- instana_client/models/retention_period.py | 14 +- .../models/role_mapping_overview.py | 19 +- instana_client/models/rolling_time_window.py | 9 +- instana_client/models/rule_input.py | 14 +- ...e_with_threshold_application_alert_rule.py | 13 +- .../rule_with_threshold_infra_alert_rule.py | 13 +- .../rule_with_threshold_log_alert_rule.py | 13 +- ...le_with_threshold_mobile_app_alert_rule.py | 13 +- .../rule_with_threshold_website_alert_rule.py | 13 +- instana_client/models/run_configuration.py | 9 +- .../models/run_evaluation_response.py | 93 + .../models/salesforce_integration.py | 28 +- instana_client/models/sampling_metadata.py | 102 + .../models/saturation_blueprint_indicator.py | 19 +- instana_client/models/scope_binding.py | 14 +- instana_client/models/search_field_result.py | 11 +- instana_client/models/service.py | 13 +- instana_client/models/service_config.py | 9 +- instana_client/models/service_event_result.py | 12 +- instana_client/models/service_item.py | 9 +- .../models/service_level_indicator.py | 22 +- .../service_level_objective_alert_rule.py | 9 +- .../models/service_levels_alert_config.py | 19 +- ...rvice_levels_alert_config_with_rbac_tag.py | 19 +- .../models/service_levels_alert_rule.py | 9 +- .../models/service_levels_burn_rate_config.py | 9 +- .../service_levels_burn_rate_time_windows.py | 9 +- .../service_levels_static_threshold_config.py | 13 +- .../models/service_levels_time_threshold.py | 9 +- ...vice_levelse_alert_config_with_metadata.py | 19 +- instana_client/models/service_map.py | 9 +- .../models/service_map_connection.py | 9 +- .../models/service_matching_rule.py | 9 +- .../models/service_metric_result.py | 14 +- instana_client/models/service_node.py | 9 +- .../service_now_enhanced_integration.py | 9 +- .../models/service_now_integration.py | 9 +- instana_client/models/service_result.py | 9 +- instana_client/models/service_scope.py | 14 +- .../models/service_scope_with_metadata.py | 19 +- instana_client/models/service_scoped_to.py | 9 +- .../models/service_scoped_to_with_metadata.py | 9 +- instana_client/models/service_simple.py | 9 +- .../models/session_replay_metadata.py | 23 +- .../models/session_replay_timestamps.py | 23 +- instana_client/models/session_settings.py | 9 +- .../models/simple_metric_configuration.py | 24 +- instana_client/models/slack_integration.py | 19 +- instana_client/models/sli_configuration.py | 9 +- .../sli_configuration_with_last_updated.py | 9 +- instana_client/models/sli_entity.py | 9 +- instana_client/models/sli_report.py | 9 +- .../models/slo_config_with_rbac_tag.py | 11 +- instana_client/models/slo_entity.py | 23 +- instana_client/models/slo_report.py | 9 +- .../models/slowness_application_alert_rule.py | 9 +- .../models/slowness_mobile_app_alert_rule.py | 9 +- .../models/slowness_website_alert_rule.py | 9 +- instana_client/models/snapshot_item.py | 11 +- instana_client/models/snapshot_preview.py | 14 +- instana_client/models/snapshot_result.py | 9 +- instana_client/models/software_user.py | 29 +- instana_client/models/software_version.py | 9 +- instana_client/models/source_map_file_blob.py | 9 +- instana_client/models/source_map_file_meta.py | 9 +- .../models/source_map_upload_config.py | 14 +- .../models/source_map_upload_configs.py | 9 +- instana_client/models/span_excerpt.py | 32 +- instana_client/models/span_relation.py | 14 +- .../specific_js_errors_website_alert_rule.py | 14 +- instana_client/models/splunk_integration.py | 9 +- .../models/ssl_certificate_configuration.py | 9 +- .../ssl_certificate_configuration_update.py | 9 +- .../models/ssl_certificate_validation.py | 9 +- instana_client/models/stack_trace_item.py | 24 +- instana_client/models/stack_trace_line.py | 19 +- .../models/static_baseline_threshold_rule.py | 16 +- instana_client/models/static_string_field.py | 9 +- instana_client/models/static_threshold.py | 30 +- .../models/static_threshold_rule.py | 30 +- .../status_code_application_alert_rule.py | 15 +- .../status_code_mobile_app_alert_rule.py | 17 +- .../models/status_code_website_alert_rule.py | 9 +- .../models/synthetic_alert_config.py | 56 +- .../synthetic_alert_config_with_metadata.py | 56 +- .../synthetic_alert_config_with_rbac_tag.py | 56 +- instana_client/models/synthetic_alert_rule.py | 9 +- .../models/synthetic_bulk_response.py | 9 +- .../models/synthetic_call_config.py | 9 +- instana_client/models/synthetic_call_rule.py | 9 +- .../synthetic_call_with_defaults_config.py | 9 +- .../models/synthetic_configuration.py | 9 +- .../models/synthetic_configuration_update.py | 9 +- instana_client/models/synthetic_credential.py | 9 +- instana_client/models/synthetic_datacenter.py | 9 +- .../synthetic_datacenter_configuration.py | 9 +- instana_client/models/synthetic_geo_point.py | 9 +- instana_client/models/synthetic_location.py | 9 +- .../synthetic_location_configuration.py | 9 +- .../models/synthetic_metric_configuration.py | 14 +- .../models/synthetic_metric_tag_group.py | 14 +- .../models/synthetic_playback_capabilities.py | 24 +- ...rget_value_list_dns_filter_target_value.py | 9 +- ...st_icmp_validation_list_icmp_validation.py | 9 +- ...idation_list_ssl_certificate_validation.py | 9 +- ...resource_update_list_string_list_string.py | 9 +- ...ce_update_map_string_string_list_string.py | 9 +- instana_client/models/synthetic_slo_entity.py | 19 +- instana_client/models/synthetic_test.py | 9 +- instana_client/models/synthetic_test_cicd.py | 9 +- .../synthetic_test_cicd_customization.py | 9 +- .../models/synthetic_test_cicd_item.py | 9 +- .../models/synthetic_test_cicd_response.py | 9 +- .../models/synthetic_test_deep_update.py | 9 +- .../models/synthetic_test_shallow_update.py | 9 +- .../models/synthetic_test_update.py | 9 +- .../models/synthetic_time_threshold.py | 9 +- .../models/synthetic_type_configuration.py | 11 +- .../synthetic_type_configuration_update.py | 9 +- .../models/synthetics_event_result.py | 12 +- instana_client/models/system_rule.py | 9 +- instana_client/models/system_rule_label.py | 9 +- instana_client/models/tag.py | 24 +- instana_client/models/tag_catalog.py | 9 +- .../models/tag_filter_expression.py | 13 +- .../models/tag_filter_expression_element.py | 9 +- instana_client/models/tag_matcher_dto.py | 24 +- instana_client/models/tag_tree_level.py | 24 +- instana_client/models/tag_tree_node.py | 9 +- instana_client/models/tag_tree_tag.py | 34 +- .../models/test_common_properties.py | 14 +- .../models/test_connection_response.py | 15 +- instana_client/models/test_last_error.py | 9 +- instana_client/models/test_result.py | 9 +- .../models/test_result_common_properties.py | 50 +- .../models/test_result_detail_data.py | 9 +- instana_client/models/test_result_item.py | 9 +- .../models/test_result_list_item.py | 9 +- .../models/test_result_list_result.py | 9 +- instana_client/models/test_result_metadata.py | 9 +- .../models/test_result_subtransaction.py | 9 +- instana_client/models/threshold.py | 13 +- .../models/threshold_config_rule.py | 9 +- instana_client/models/threshold_rule.py | 24 +- .../throughput_application_alert_rule.py | 9 +- .../throughput_mobile_app_alert_rule.py | 9 +- .../models/throughput_website_alert_rule.py | 9 +- instana_client/models/time_config.py | 105 + instana_client/models/time_frame.py | 14 +- instana_client/models/time_window.py | 9 +- instana_client/models/topology.py | 9 +- instana_client/models/trace.py | 9 +- .../trace_activity_tree_node_details.py | 34 +- .../models/trace_download_result.py | 14 +- instana_client/models/trace_groups_item.py | 9 +- instana_client/models/trace_groups_result.py | 14 +- ...trace_impact_application_time_threshold.py | 9 +- instana_client/models/trace_item.py | 9 +- instana_client/models/trace_result.py | 14 +- .../models/trace_sampling_config.py | 108 + .../models/traffic_blueprint_indicator.py | 19 +- instana_client/models/trigger.py | 9 +- instana_client/models/type_configuration.py | 13 +- ...pported_http_path_segment_matching_rule.py | 9 +- .../models/update_evaluation_request.py | 110 + .../update_fleet_configuration_request.py | 94 + .../updated_business_perspective_config.py | 14 +- instana_client/models/usage_result.py | 9 +- instana_client/models/usage_result_items.py | 9 +- instana_client/models/user_basic_result.py | 9 +- .../user_impact_mobile_app_time_threshold.py | 11 +- .../user_impact_website_time_threshold.py | 11 +- instana_client/models/user_result.py | 29 +- instana_client/models/users_result.py | 9 +- .../validated_alerting_channel_input_info.py | 24 +- .../validated_alerting_configuration.py | 9 +- ...nce_config_v2_with_state_and_occurrence.py | 14 +- ...alidated_maintenance_config_with_status.py | 9 +- .../models/victor_ops_integration.py | 9 +- ...ns_in_period_application_time_threshold.py | 9 +- ...ons_in_period_mobile_app_time_threshold.py | 9 +- ...ations_in_period_website_time_threshold.py | 9 +- ..._in_sequence_application_time_threshold.py | 9 +- ...ations_in_sequence_infra_time_threshold.py | 9 +- ...olations_in_sequence_log_time_threshold.py | 9 +- ...s_in_sequence_mobile_app_time_threshold.py | 9 +- ...ns_in_sequence_synthetic_time_threshold.py | 9 +- ...ions_in_sequence_website_time_threshold.py | 9 +- .../watson_ai_ops_webhook_integration.py | 14 +- .../models/webex_teams_webhook_integration.py | 9 +- instana_client/models/webhook_integration.py | 9 +- .../models/webpage_action_configuration.py | 9 +- .../webpage_action_configuration_update.py | 9 +- .../models/webpage_script_configuration.py | 9 +- .../webpage_script_configuration_update.py | 9 +- instana_client/models/website.py | 15 +- instana_client/models/website_alert_config.py | 46 +- .../website_alert_config_with_metadata.py | 46 +- .../website_alert_config_with_rbac_tag.py | 46 +- instana_client/models/website_alert_rule.py | 9 +- instana_client/models/website_apdex_entity.py | 14 +- .../models/website_beacon_groups_item.py | 9 +- .../models/website_beacon_groups_result.py | 14 +- .../models/website_beacon_result.py | 14 +- .../models/website_beacon_tag_group.py | 14 +- instana_client/models/website_beacons_item.py | 9 +- .../models/website_event_based_sli_entity.py | 23 +- instana_client/models/website_event_result.py | 12 +- .../models/website_metric_result.py | 9 +- .../models/website_monitoring_beacon.py | 224 +- .../website_monitoring_metric_description.py | 19 +- ...ebsite_monitoring_metrics_configuration.py | 14 +- instana_client/models/website_slo_entity.py | 14 +- .../models/website_time_based_sli_entity.py | 14 +- .../models/website_time_threshold.py | 9 +- instana_client/models/widget.py | 9 +- instana_client/models/with_meta_data.py | 46 +- instana_client/models/with_resolved_name.py | 14 +- .../models/z_chat_ops_integration.py | 14 +- instana_client/rest.py | 69 +- openapi-generator-config.json | 2 +- openapi.yaml | 42887 +++++++++------- openapitools.json | 7 + pyproject.toml | 2 +- requirements.txt | 4 +- setup.py | 14 +- test-requirements.txt | 2 +- ...est_advanced_custom_blueprint_indicator.py | 81 + test/test_advanced_filter.py | 69 + test/test_apdex_config_with_rbac_tag.py | 77 + test/test_api_log_item.py | 88 + test/test_api_log_tag.py | 54 + test/test_create_evaluation_request.py | 75 + test/test_create_evaluation_response.py | 53 + test/test_customer_email.py | 53 + test/test_entity_metric.py | 57 + test/test_entity_metric_scope.py | 55 + test/test_evaluation_detail_response.py | 72 + test/test_evaluation_list_item.py | 75 + test/test_evaluation_list_response.py | 79 + test/test_evaluator.py | 62 + test/test_filter_interface.py | 102 + test/test_fleet_configuration.py | 62 + test/test_fleet_configuration_assignment.py | 63 + ...fleet_configuration_assignment_response.py | 55 + test/test_fleet_configuration_response.py | 66 + test/test_fleet_management_api.py | 102 + test/test_gateway_status_response.py | 56 + test/test_llm_evaluation_api.py | 123 + test/test_logs_api_response.py | 94 + test/test_logs_query.py | 116 + test/test_mobile_app_session_replay_api.py | 53 + test/test_mobile_slo_entity.py | 54 + test/test_notification.py | 59 + test/test_rbac_restrictions.py | 96 + test/test_run_evaluation_response.py | 54 + test/test_sampling_metadata.py | 56 + test/test_time_config.py | 55 + test/test_trace_sampling_config.py | 64 + test/test_update_evaluation_request.py | 77 + ...test_update_fleet_configuration_request.py | 57 + 788 files changed, 57055 insertions(+), 24110 deletions(-) create mode 100644 docs/AdvancedCustomBlueprintIndicator.md create mode 100644 docs/AdvancedFilter.md create mode 100644 docs/ApdexConfigWithRBACTag.md create mode 100644 docs/ApiLogItem.md create mode 100644 docs/ApiLogTag.md create mode 100644 docs/CreateEvaluationRequest.md create mode 100644 docs/CreateEvaluationResponse.md create mode 100644 docs/CustomerEmail.md create mode 100644 docs/EntityMetric.md create mode 100644 docs/EntityMetricScope.md create mode 100644 docs/EvaluationDetailResponse.md create mode 100644 docs/EvaluationListItem.md create mode 100644 docs/EvaluationListResponse.md create mode 100644 docs/Evaluator.md create mode 100644 docs/FilterInterface.md create mode 100644 docs/FleetConfiguration.md create mode 100644 docs/FleetConfigurationAssignment.md create mode 100644 docs/FleetConfigurationAssignmentResponse.md create mode 100644 docs/FleetConfigurationResponse.md create mode 100644 docs/FleetManagementApi.md create mode 100644 docs/GatewayStatusResponse.md create mode 100644 docs/LLMEvaluationApi.md create mode 100644 docs/LogsApiResponse.md create mode 100644 docs/LogsQuery.md create mode 100644 docs/MobileAppSessionReplayApi.md create mode 100644 docs/MobileSloEntity.md create mode 100644 docs/Notification.md create mode 100644 docs/RbacRestrictions.md create mode 100644 docs/RunEvaluationResponse.md create mode 100644 docs/SamplingMetadata.md create mode 100644 docs/TimeConfig.md create mode 100644 docs/TraceSamplingConfig.md create mode 100644 docs/UpdateEvaluationRequest.md create mode 100644 docs/UpdateFleetConfigurationRequest.md create mode 100644 instana_client/api/fleet_management_api.py create mode 100644 instana_client/api/llm_evaluation_api.py create mode 100644 instana_client/api/mobile_app_session_replay_api.py create mode 100644 instana_client/models/advanced_custom_blueprint_indicator.py create mode 100644 instana_client/models/advanced_filter.py create mode 100644 instana_client/models/apdex_config_with_rbac_tag.py create mode 100644 instana_client/models/api_log_item.py create mode 100644 instana_client/models/api_log_tag.py create mode 100644 instana_client/models/create_evaluation_request.py create mode 100644 instana_client/models/create_evaluation_response.py create mode 100644 instana_client/models/customer_email.py create mode 100644 instana_client/models/entity_metric.py create mode 100644 instana_client/models/entity_metric_scope.py create mode 100644 instana_client/models/evaluation_detail_response.py create mode 100644 instana_client/models/evaluation_list_item.py create mode 100644 instana_client/models/evaluation_list_response.py create mode 100644 instana_client/models/evaluator.py create mode 100644 instana_client/models/filter_interface.py create mode 100644 instana_client/models/fleet_configuration.py create mode 100644 instana_client/models/fleet_configuration_assignment.py create mode 100644 instana_client/models/fleet_configuration_assignment_response.py create mode 100644 instana_client/models/fleet_configuration_response.py create mode 100644 instana_client/models/gateway_status_response.py create mode 100644 instana_client/models/logs_api_response.py create mode 100644 instana_client/models/logs_query.py create mode 100644 instana_client/models/mobile_slo_entity.py create mode 100644 instana_client/models/notification.py create mode 100644 instana_client/models/rbac_restrictions.py create mode 100644 instana_client/models/run_evaluation_response.py create mode 100644 instana_client/models/sampling_metadata.py create mode 100644 instana_client/models/time_config.py create mode 100644 instana_client/models/trace_sampling_config.py create mode 100644 instana_client/models/update_evaluation_request.py create mode 100644 instana_client/models/update_fleet_configuration_request.py create mode 100644 openapitools.json create mode 100644 test/test_advanced_custom_blueprint_indicator.py create mode 100644 test/test_advanced_filter.py create mode 100644 test/test_apdex_config_with_rbac_tag.py create mode 100644 test/test_api_log_item.py create mode 100644 test/test_api_log_tag.py create mode 100644 test/test_create_evaluation_request.py create mode 100644 test/test_create_evaluation_response.py create mode 100644 test/test_customer_email.py create mode 100644 test/test_entity_metric.py create mode 100644 test/test_entity_metric_scope.py create mode 100644 test/test_evaluation_detail_response.py create mode 100644 test/test_evaluation_list_item.py create mode 100644 test/test_evaluation_list_response.py create mode 100644 test/test_evaluator.py create mode 100644 test/test_filter_interface.py create mode 100644 test/test_fleet_configuration.py create mode 100644 test/test_fleet_configuration_assignment.py create mode 100644 test/test_fleet_configuration_assignment_response.py create mode 100644 test/test_fleet_configuration_response.py create mode 100644 test/test_fleet_management_api.py create mode 100644 test/test_gateway_status_response.py create mode 100644 test/test_llm_evaluation_api.py create mode 100644 test/test_logs_api_response.py create mode 100644 test/test_logs_query.py create mode 100644 test/test_mobile_app_session_replay_api.py create mode 100644 test/test_mobile_slo_entity.py create mode 100644 test/test_notification.py create mode 100644 test/test_rbac_restrictions.py create mode 100644 test/test_run_evaluation_response.py create mode 100644 test/test_sampling_metadata.py create mode 100644 test/test_time_config.py create mode 100644 test/test_trace_sampling_config.py create mode 100644 test/test_update_evaluation_request.py create mode 100644 test/test_update_fleet_configuration_request.py diff --git a/.gitignore b/.gitignore index 43995bd4..65b06b95 100644 --- a/.gitignore +++ b/.gitignore @@ -62,5 +62,5 @@ docs/_build/ # PyBuilder target/ -#Ipython Notebook +# Ipython Notebook .ipynb_checkpoints diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 672534dd..15c0253d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=instana_client -pytest-3.9: - extends: .pytest - image: python:3.9-alpine pytest-3.10: extends: .pytest image: python:3.10-alpine @@ -29,3 +26,6 @@ pytest-3.12: pytest-3.13: extends: .pytest image: python:3.13-alpine +pytest-3.14: + extends: .pytest + image: python:3.14-alpine diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 3cb7e32e..cdc9e4bb 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -22,12 +22,15 @@ docs/ActionSearchSpace.md docs/AdaptiveBaseline.md docs/AdaptiveThresholdRule.md docs/AdjustedTimeframe.md +docs/AdvancedCustomBlueprintIndicator.md +docs/AdvancedFilter.md docs/AgentConfigurationUpdate.md docs/AgentModeUpdate.md docs/AlertingConfiguration.md docs/AlertingConfigurationWithLastUpdated.md docs/AlertingTimeWindow.md docs/ApdexAlertRule.md +docs/ApdexConfigWithRBACTag.md docs/ApdexConfiguration.md docs/ApdexConfigurationInput.md docs/ApdexEntity.md @@ -38,6 +41,8 @@ docs/ApdexSettingsApi.md docs/ApiCreateGroup.md docs/ApiCreateRole.md docs/ApiGroup.md +docs/ApiLogItem.md +docs/ApiLogTag.md docs/ApiMember.md docs/ApiPermissionSet.md docs/ApiRestrictedApplicationFilter.md @@ -105,6 +110,8 @@ docs/CorrectionConfiguration.md docs/CorrectionScheduling.md docs/CorrectionWindow.md docs/CrashMobileAppAlertRule.md +docs/CreateEvaluationRequest.md +docs/CreateEvaluationResponse.md docs/CreateWebsiteRequestInner.md docs/CursorPaginatedBusinessActivityItem.md docs/CursorPagination.md @@ -129,6 +136,7 @@ docs/CustomPayloadField.md docs/CustomPayloadWithLastUpdated.md docs/CustomPayloadWithVersion.md docs/CustomTag.md +docs/CustomerEmail.md docs/DNSConfiguration.md docs/DNSConfigurationUpdate.md docs/DNSFilterQueryTime.md @@ -158,9 +166,15 @@ docs/EntityCountRule.md docs/EntityCountVerificationRule.md docs/EntityHealthInfo.md docs/EntityId.md +docs/EntityMetric.md +docs/EntityMetricScope.md docs/EntityVerificationRule.md docs/ErrorBudgetAlertRule.md docs/ErrorsApplicationAlertRule.md +docs/EvaluationDetailResponse.md +docs/EvaluationListItem.md +docs/EvaluationListResponse.md +docs/Evaluator.md docs/Event.md docs/EventFilteringConfiguration.md docs/EventResult.md @@ -169,8 +183,15 @@ docs/EventSpecificationInfo.md docs/EventsApi.md docs/ExtendedService.md docs/FailureSyntheticAlertRule.md +docs/FilterInterface.md docs/FixedHttpPathSegmentMatchingRule.md docs/FixedTimeWindow.md +docs/FleetConfiguration.md +docs/FleetConfigurationAssignment.md +docs/FleetConfigurationAssignmentResponse.md +docs/FleetConfigurationResponse.md +docs/FleetManagementApi.md +docs/GatewayStatusResponse.md docs/GenericInfraAlertRule.md docs/GeoLocationConfiguration.md docs/GeoMappingRule.md @@ -269,6 +290,7 @@ docs/IpMaskingConfiguration.md docs/JsStackTraceLine.md docs/KubernetesPhysicalContext.md docs/LLMEgressGateway.md +docs/LLMEvaluationApi.md docs/LLMGatewayCapability.md docs/LLMGatewayModel.md docs/LLMGatewayService.md @@ -289,7 +311,9 @@ docs/LogVolumeGroup.md docs/LogVolumeUsageItem.md docs/LogVolumeUsageResult.md docs/LoggingAnalyzeApi.md +docs/LogsApiResponse.md docs/LogsApplicationAlertRule.md +docs/LogsQuery.md docs/MaintenanceConfig.md docs/MaintenanceConfigScheduling.md docs/MaintenanceConfigV2.md @@ -334,7 +358,9 @@ docs/MobileAppMetricsApi.md docs/MobileAppMonitoringBeacon.md docs/MobileAppMonitoringMetricDescription.md docs/MobileAppMonitoringMetricsConfiguration.md +docs/MobileAppSessionReplayApi.md docs/MobileAppTimeThreshold.md +docs/MobileSloEntity.md docs/ModelField.md docs/MonitoredEntitiesStats.md docs/MonitoringState.md @@ -343,6 +369,7 @@ docs/NS1Integration.md docs/NewApplicationConfig.md docs/NewBusinessPerspectiveConfig.md docs/NewManualServiceConfig.md +docs/Notification.md docs/OAuthConfig.md docs/OAuthIntegration.md docs/OAuthToken.md @@ -368,6 +395,7 @@ docs/PostSnapshotsResult.md docs/PrefixObject.md docs/Problem.md docs/PrometheusWebhookIntegration.md +docs/RbacRestrictions.md docs/RecurrentMaintenanceWindow.md docs/Release.md docs/ReleaseScope.md @@ -384,6 +412,7 @@ docs/RuleWithThresholdLogAlertRule.md docs/RuleWithThresholdMobileAppAlertRule.md docs/RuleWithThresholdWebsiteAlertRule.md docs/RunConfiguration.md +docs/RunEvaluationResponse.md docs/SLIReportApi.md docs/SLISettingsApi.md docs/SLOCatalogForMobileAppApi.md @@ -395,6 +424,7 @@ docs/SSLCertificateConfiguration.md docs/SSLCertificateConfigurationUpdate.md docs/SSLCertificateValidation.md docs/SalesforceIntegration.md +docs/SamplingMetadata.md docs/SaturationBlueprintIndicator.md docs/ScopeBinding.md docs/SearchFieldResult.md @@ -536,6 +566,7 @@ docs/ThresholdRule.md docs/ThroughputApplicationAlertRule.md docs/ThroughputMobileAppAlertRule.md docs/ThroughputWebsiteAlertRule.md +docs/TimeConfig.md docs/TimeFrame.md docs/TimeWindow.md docs/Topology.md @@ -547,10 +578,13 @@ docs/TraceGroupsResult.md docs/TraceImpactApplicationTimeThreshold.md docs/TraceItem.md docs/TraceResult.md +docs/TraceSamplingConfig.md docs/TrafficBlueprintIndicator.md docs/Trigger.md docs/TypeConfiguration.md docs/UnsupportedHttpPathSegmentMatchingRule.md +docs/UpdateEvaluationRequest.md +docs/UpdateFleetConfigurationRequest.md docs/UpdatedBusinessPerspectiveConfig.md docs/UsageApi.md docs/UsageResult.md @@ -635,6 +669,7 @@ instana_client/api/default_api.py instana_client/api/end_user_monitoring_api.py instana_client/api/event_settings_api.py instana_client/api/events_api.py +instana_client/api/fleet_management_api.py instana_client/api/global_application_alert_configuration_api.py instana_client/api/groups_api.py instana_client/api/health_api.py @@ -646,6 +681,7 @@ instana_client/api/infrastructure_metrics_api.py instana_client/api/infrastructure_resources_api.py instana_client/api/infrastructure_topology_api.py instana_client/api/ip_filtering_api.py +instana_client/api/llm_evaluation_api.py instana_client/api/llm_price_configuration_api.py instana_client/api/log_alert_configuration_api.py instana_client/api/logging_analyze_api.py @@ -654,6 +690,7 @@ instana_client/api/mobile_app_analyze_api.py instana_client/api/mobile_app_catalog_api.py instana_client/api/mobile_app_configuration_api.py instana_client/api/mobile_app_metrics_api.py +instana_client/api/mobile_app_session_replay_api.py instana_client/api/policies_api.py instana_client/api/releases_api.py instana_client/api/roles_api.py @@ -700,12 +737,15 @@ instana_client/models/action_search_space.py instana_client/models/adaptive_baseline.py instana_client/models/adaptive_threshold_rule.py instana_client/models/adjusted_timeframe.py +instana_client/models/advanced_custom_blueprint_indicator.py +instana_client/models/advanced_filter.py instana_client/models/agent_configuration_update.py instana_client/models/agent_mode_update.py instana_client/models/alerting_configuration.py instana_client/models/alerting_configuration_with_last_updated.py instana_client/models/alerting_time_window.py instana_client/models/apdex_alert_rule.py +instana_client/models/apdex_config_with_rbac_tag.py instana_client/models/apdex_configuration.py instana_client/models/apdex_configuration_input.py instana_client/models/apdex_entity.py @@ -714,6 +754,8 @@ instana_client/models/apdex_report.py instana_client/models/api_create_group.py instana_client/models/api_create_role.py instana_client/models/api_group.py +instana_client/models/api_log_item.py +instana_client/models/api_log_tag.py instana_client/models/api_member.py instana_client/models/api_permission_set.py instana_client/models/api_restricted_application_filter.py @@ -771,6 +813,8 @@ instana_client/models/correction_configuration.py instana_client/models/correction_scheduling.py instana_client/models/correction_window.py instana_client/models/crash_mobile_app_alert_rule.py +instana_client/models/create_evaluation_request.py +instana_client/models/create_evaluation_response.py instana_client/models/create_website_request_inner.py instana_client/models/cursor_paginated_business_activity_item.py instana_client/models/cursor_pagination.py @@ -793,6 +837,7 @@ instana_client/models/custom_payload_field.py instana_client/models/custom_payload_with_last_updated.py instana_client/models/custom_payload_with_version.py instana_client/models/custom_tag.py +instana_client/models/customer_email.py instana_client/models/dashboard_api_token.py instana_client/models/database_integration.py instana_client/models/deprecated_tag_filter.py @@ -820,17 +865,29 @@ instana_client/models/entity_count_rule.py instana_client/models/entity_count_verification_rule.py instana_client/models/entity_health_info.py instana_client/models/entity_id.py +instana_client/models/entity_metric.py +instana_client/models/entity_metric_scope.py instana_client/models/entity_verification_rule.py instana_client/models/error_budget_alert_rule.py instana_client/models/errors_application_alert_rule.py +instana_client/models/evaluation_detail_response.py +instana_client/models/evaluation_list_item.py +instana_client/models/evaluation_list_response.py +instana_client/models/evaluator.py instana_client/models/event.py instana_client/models/event_filtering_configuration.py instana_client/models/event_result.py instana_client/models/event_specification_info.py instana_client/models/extended_service.py instana_client/models/failure_synthetic_alert_rule.py +instana_client/models/filter_interface.py instana_client/models/fixed_http_path_segment_matching_rule.py instana_client/models/fixed_time_window.py +instana_client/models/fleet_configuration.py +instana_client/models/fleet_configuration_assignment.py +instana_client/models/fleet_configuration_assignment_response.py +instana_client/models/fleet_configuration_response.py +instana_client/models/gateway_status_response.py instana_client/models/generic_infra_alert_rule.py instana_client/models/geo_location_configuration.py instana_client/models/geo_mapping_rule.py @@ -935,7 +992,9 @@ instana_client/models/log_time_threshold.py instana_client/models/log_volume_group.py instana_client/models/log_volume_usage_item.py instana_client/models/log_volume_usage_result.py +instana_client/models/logs_api_response.py instana_client/models/logs_application_alert_rule.py +instana_client/models/logs_query.py instana_client/models/maintenance_config.py instana_client/models/maintenance_config_scheduling.py instana_client/models/maintenance_config_v2.py @@ -976,6 +1035,7 @@ instana_client/models/mobile_app_monitoring_beacon.py instana_client/models/mobile_app_monitoring_metric_description.py instana_client/models/mobile_app_monitoring_metrics_configuration.py instana_client/models/mobile_app_time_threshold.py +instana_client/models/mobile_slo_entity.py instana_client/models/model_field.py instana_client/models/monitored_entities_stats.py instana_client/models/monitoring_state.py @@ -983,6 +1043,7 @@ instana_client/models/multiple_scripts_configuration.py instana_client/models/new_application_config.py instana_client/models/new_business_perspective_config.py instana_client/models/new_manual_service_config.py +instana_client/models/notification.py instana_client/models/ns1_integration.py instana_client/models/o_auth_config.py instana_client/models/o_auth_integration.py @@ -1008,6 +1069,7 @@ instana_client/models/post_snapshots_result.py instana_client/models/prefix_object.py instana_client/models/problem.py instana_client/models/prometheus_webhook_integration.py +instana_client/models/rbac_restrictions.py instana_client/models/recurrent_maintenance_window.py instana_client/models/release.py instana_client/models/release_scope.py @@ -1022,7 +1084,9 @@ instana_client/models/rule_with_threshold_log_alert_rule.py instana_client/models/rule_with_threshold_mobile_app_alert_rule.py instana_client/models/rule_with_threshold_website_alert_rule.py instana_client/models/run_configuration.py +instana_client/models/run_evaluation_response.py instana_client/models/salesforce_integration.py +instana_client/models/sampling_metadata.py instana_client/models/saturation_blueprint_indicator.py instana_client/models/scope_binding.py instana_client/models/search_field_result.py @@ -1157,6 +1221,7 @@ instana_client/models/threshold_rule.py instana_client/models/throughput_application_alert_rule.py instana_client/models/throughput_mobile_app_alert_rule.py instana_client/models/throughput_website_alert_rule.py +instana_client/models/time_config.py instana_client/models/time_frame.py instana_client/models/time_window.py instana_client/models/topology.py @@ -1168,10 +1233,13 @@ instana_client/models/trace_groups_result.py instana_client/models/trace_impact_application_time_threshold.py instana_client/models/trace_item.py instana_client/models/trace_result.py +instana_client/models/trace_sampling_config.py instana_client/models/traffic_blueprint_indicator.py instana_client/models/trigger.py instana_client/models/type_configuration.py instana_client/models/unsupported_http_path_segment_matching_rule.py +instana_client/models/update_evaluation_request.py +instana_client/models/update_fleet_configuration_request.py instana_client/models/updated_business_perspective_config.py instana_client/models/usage_result.py instana_client/models/usage_result_items.py @@ -1232,4 +1300,38 @@ setup.cfg setup.py test-requirements.txt test/__init__.py +test/test_advanced_custom_blueprint_indicator.py +test/test_advanced_filter.py +test/test_apdex_config_with_rbac_tag.py +test/test_api_log_item.py +test/test_api_log_tag.py +test/test_create_evaluation_request.py +test/test_create_evaluation_response.py +test/test_customer_email.py +test/test_entity_metric.py +test/test_entity_metric_scope.py +test/test_evaluation_detail_response.py +test/test_evaluation_list_item.py +test/test_evaluation_list_response.py +test/test_evaluator.py +test/test_filter_interface.py +test/test_fleet_configuration.py +test/test_fleet_configuration_assignment.py +test/test_fleet_configuration_assignment_response.py +test/test_fleet_configuration_response.py +test/test_fleet_management_api.py +test/test_gateway_status_response.py +test/test_llm_evaluation_api.py +test/test_logs_api_response.py +test/test_logs_query.py +test/test_mobile_app_session_replay_api.py +test/test_mobile_slo_entity.py +test/test_notification.py +test/test_rbac_restrictions.py +test/test_run_evaluation_response.py +test/test_sampling_metadata.py +test/test_time_config.py +test/test_trace_sampling_config.py +test/test_update_evaluation_request.py +test/test_update_fleet_configuration_request.py tox.ini diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION index eb1dc6a5..07832195 100644 --- a/.openapi-generator/VERSION +++ b/.openapi-generator/VERSION @@ -1 +1 @@ -7.13.0 +7.24.0 diff --git a/.travis.yml b/.travis.yml index cd6cdd4d..6db03b5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,13 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.9" - "3.10" - "3.11" - "3.12" - "3.13" + - "3.14" # uncomment the following if needed - #- "3.13-dev" # 3.13 development branch + #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build # command to install dependencies install: diff --git a/README.md b/README.md index 819c8272..43c224d7 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ Documentation for INSTANA REST API This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 1.320.1414 -- Package version: 1.0.9 -- Generator version: 7.13.0 +- API version: 1.323.989 +- Package version: 1.1.0 +- Generator version: 7.24.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit [http://instana.com](http://instana.com) ## Requirements. -Python 3.9+ +Python 3.10+ ## Installation & Usage ### pip install @@ -81,7 +81,7 @@ with instana_client.ApiClient(configuration) as api_client: llm_egress_gateway = {"name":"Example LLM egress Handler","description":"This is a sample custom handler used for testing.","aiModel":"watsonx-gpt-4","supports":{"capabilities":["anomaly-detection","remediation"]},"metadata":{"source":"user","version":"1.0.0"},"endpointUrl":"https://example.com/handler","endpointApiKey":"secret-api-key","watsonxKey":"watsonx-123","watsonxProject":"project-xyz","watsonxUrl":"https://watsonx.example.com","instanaAgents":{"agents":["agent-1","agent-2"]}} # LLMEgressGateway | try: - # Create a new LLM gateway + # Create a new AI connection api_response = api_instance.add_llm_egress_gateway(llm_egress_gateway) print("The response of AIManagementApi->add_llm_egress_gateway:\n") pprint(api_response) @@ -96,14 +96,15 @@ All URIs are relative to *https://unit-tenant.instana.io* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*AIManagementApi* | [**add_llm_egress_gateway**](docs/AIManagementApi.md#add_llm_egress_gateway) | **POST** /api/llm/gateways | Create a new LLM gateway -*AIManagementApi* | [**delete_llm_egress_gateway**](docs/AIManagementApi.md#delete_llm_egress_gateway) | **DELETE** /api/llm/gateways/{id} | Delete a LLM egress gateway -*AIManagementApi* | [**enable_llm_egress_gateway**](docs/AIManagementApi.md#enable_llm_egress_gateway) | **PUT** /api/llm/gateways/{id}/enable | Set the enabled status of a LLM gateway +*AIManagementApi* | [**add_llm_egress_gateway**](docs/AIManagementApi.md#add_llm_egress_gateway) | **POST** /api/llm/gateways | Create a new AI connection +*AIManagementApi* | [**delete_llm_egress_gateway**](docs/AIManagementApi.md#delete_llm_egress_gateway) | **DELETE** /api/llm/gateways/{id} | Delete an AI connection +*AIManagementApi* | [**disable_llm_egress_gateway**](docs/AIManagementApi.md#disable_llm_egress_gateway) | **PUT** /api/llm/gateways/{id}/disable | Disable an AI connection +*AIManagementApi* | [**enable_llm_egress_gateway**](docs/AIManagementApi.md#enable_llm_egress_gateway) | **PUT** /api/llm/gateways/{id}/enable | Enable an AI connection *AIManagementApi* | [**get_llm_capabilities**](docs/AIManagementApi.md#get_llm_capabilities) | **GET** /api/llm/capabilities | Get all LLM capabilities -*AIManagementApi* | [**get_llm_egress_gateway_by_id**](docs/AIManagementApi.md#get_llm_egress_gateway_by_id) | **GET** /api/llm/gateways/{id} | Get a LLM gateway by ID -*AIManagementApi* | [**get_llm_egress_gateways**](docs/AIManagementApi.md#get_llm_egress_gateways) | **GET** /api/llm/gateways | Get all LLM gateways -*AIManagementApi* | [**test_llm_gateway**](docs/AIManagementApi.md#test_llm_gateway) | **POST** /api/llm/gateways/test | Test LLM gateway connection parameters -*AIManagementApi* | [**update_llm_egress_gateway**](docs/AIManagementApi.md#update_llm_egress_gateway) | **PUT** /api/llm/gateways/{id} | Update an existing LLM gateway. +*AIManagementApi* | [**get_llm_egress_gateway_by_id**](docs/AIManagementApi.md#get_llm_egress_gateway_by_id) | **GET** /api/llm/gateways/{id} | Get an AI connection by ID +*AIManagementApi* | [**get_llm_egress_gateways**](docs/AIManagementApi.md#get_llm_egress_gateways) | **GET** /api/llm/gateways | Get all AI connections +*AIManagementApi* | [**test_llm_gateway**](docs/AIManagementApi.md#test_llm_gateway) | **POST** /api/llm/gateways/test | Test AI connection connection parameters +*AIManagementApi* | [**update_llm_egress_gateway**](docs/AIManagementApi.md#update_llm_egress_gateway) | **PUT** /api/llm/gateways/{id} | Update an existing AI connection. *APITokenApi* | [**delete_api_token**](docs/APITokenApi.md#delete_api_token) | **DELETE** /api/settings/api-tokens/{internalId} | Delete API token *APITokenApi* | [**get_api_token**](docs/APITokenApi.md#get_api_token) | **GET** /api/settings/api-tokens/{internalId} | Get API token *APITokenApi* | [**get_api_tokens**](docs/APITokenApi.md#get_api_tokens) | **GET** /api/settings/api-tokens | Get all API Tokens @@ -149,6 +150,7 @@ Class | Method | HTTP request | Description *ApplicationAnalyzeApi* | [**get_call_details**](docs/ApplicationAnalyzeApi.md#get_call_details) | **GET** /api/application-monitoring/v2/analyze/traces/{traceId}/calls/{callId}/details | Get call detail *ApplicationAnalyzeApi* | [**get_call_group**](docs/ApplicationAnalyzeApi.md#get_call_group) | **POST** /api/application-monitoring/analyze/call-groups | Get grouped call metrics *ApplicationAnalyzeApi* | [**get_correlated_traces**](docs/ApplicationAnalyzeApi.md#get_correlated_traces) | **GET** /api/application-monitoring/analyze/backend-correlation | Resolve Trace IDs from Monitoring Beacons. +*ApplicationAnalyzeApi* | [**get_task_flows_by_root_id**](docs/ApplicationAnalyzeApi.md#get_task_flows_by_root_id) | **GET** /api/genai-monitoring/analyze/tasks/{rootId} | Get task flow hierarchy by root ID (built in genai-analytics-reader) *ApplicationAnalyzeApi* | [**get_trace_download**](docs/ApplicationAnalyzeApi.md#get_trace_download) | **GET** /api/application-monitoring/v2/analyze/traces/{id} | Get trace detail *ApplicationAnalyzeApi* | [**get_trace_groups**](docs/ApplicationAnalyzeApi.md#get_trace_groups) | **POST** /api/application-monitoring/analyze/trace-groups | Get grouped trace metrics *ApplicationAnalyzeApi* | [**get_traces**](docs/ApplicationAnalyzeApi.md#get_traces) | **POST** /api/application-monitoring/analyze/traces | Get all traces @@ -293,6 +295,16 @@ Class | Method | HTTP request | Description *EventsApi* | [**get_events**](docs/EventsApi.md#get_events) | **GET** /api/events | Get all Events *EventsApi* | [**get_events_by_ids**](docs/EventsApi.md#get_events_by_ids) | **POST** /api/events | Get Events by IDs *EventsApi* | [**kubernetes_info_events**](docs/EventsApi.md#kubernetes_info_events) | **GET** /api/events/kubernetes-info-events | Get Kubernetes Info Events +*FleetManagementApi* | [**create_fleet_config_assignment**](docs/FleetManagementApi.md#create_fleet_config_assignment) | **POST** /api/fleet/configuration-assignments | Create a configuration assignment +*FleetManagementApi* | [**create_fleet_configuration**](docs/FleetManagementApi.md#create_fleet_configuration) | **POST** /api/fleet/configurations | Creates a fleet configuration +*FleetManagementApi* | [**delete_custom_collector_base**](docs/FleetManagementApi.md#delete_custom_collector_base) | **DELETE** /api/fleet/configurations/{id} | Delete a custom collector base configuration +*FleetManagementApi* | [**delete_fleet_config_assignment**](docs/FleetManagementApi.md#delete_fleet_config_assignment) | **DELETE** /api/fleet/configuration-assignments/{id} | Delete a fleet configuration assignment +*FleetManagementApi* | [**get_custom_collector_base**](docs/FleetManagementApi.md#get_custom_collector_base) | **GET** /api/fleet/configurations/{id} | Get fleet configuration details +*FleetManagementApi* | [**get_fleet_config_assignment**](docs/FleetManagementApi.md#get_fleet_config_assignment) | **GET** /api/fleet/configuration-assignments/{id} | Get a fleet configuration assignment +*FleetManagementApi* | [**list_custom_collector_base**](docs/FleetManagementApi.md#list_custom_collector_base) | **GET** /api/fleet/configurations | List fleet configurations +*FleetManagementApi* | [**list_fleet_config_assignments**](docs/FleetManagementApi.md#list_fleet_config_assignments) | **GET** /api/fleet/configuration-assignments | List fleet configuration assignments +*FleetManagementApi* | [**update_custom_collector_base**](docs/FleetManagementApi.md#update_custom_collector_base) | **PUT** /api/fleet/configurations/{id} | Update a custom collector base configuration +*FleetManagementApi* | [**update_fleet_config_assignment**](docs/FleetManagementApi.md#update_fleet_config_assignment) | **PUT** /api/fleet/configuration-assignments/{id} | Update a fleet configuration assignment *GlobalApplicationAlertConfigurationApi* | [**bulk_delete_global_application_alert_configs**](docs/GlobalApplicationAlertConfigurationApi.md#bulk_delete_global_application_alert_configs) | **PUT** /api/events/settings/global-alert-configs/applications/bulk/delete | Bulk Delete Global Smart Alert Configs *GlobalApplicationAlertConfigurationApi* | [**bulk_disable_global_application_alert_configs**](docs/GlobalApplicationAlertConfigurationApi.md#bulk_disable_global_application_alert_configs) | **PUT** /api/events/settings/global-alert-configs/applications/bulk/disable | Bulk Disable Global Smart Alert Configs *GlobalApplicationAlertConfigurationApi* | [**bulk_enable_global_application_alert_configs**](docs/GlobalApplicationAlertConfigurationApi.md#bulk_enable_global_application_alert_configs) | **PUT** /api/events/settings/global-alert-configs/applications/bulk/enable | Bulk Enable Global Smart Alert Configs @@ -364,6 +376,7 @@ Class | Method | HTTP request | Description *InfrastructureCatalogApi* | [**get_infrastructure_catalog_search_fields**](docs/InfrastructureCatalogApi.md#get_infrastructure_catalog_search_fields) | **GET** /api/infrastructure-monitoring/catalog/search | get search field catalog *InfrastructureCatalogApi* | [**get_tag_catalog**](docs/InfrastructureCatalogApi.md#get_tag_catalog) | **GET** /api/infrastructure-monitoring/catalog/tags/{plugin} | Get available tags for a particular plugin *InfrastructureCatalogApi* | [**get_tag_catalog_all**](docs/InfrastructureCatalogApi.md#get_tag_catalog_all) | **GET** /api/infrastructure-monitoring/catalog/tags | Get available tags +*InfrastructureMetricsApi* | [**get_cassandra_metrics**](docs/InfrastructureMetricsApi.md#get_cassandra_metrics) | **POST** /api/cassandra/metrics | Cassandra metrics *InfrastructureMetricsApi* | [**get_infrastructure_metrics**](docs/InfrastructureMetricsApi.md#get_infrastructure_metrics) | **POST** /api/infrastructure-monitoring/metrics | Get infrastructure metrics *InfrastructureResourcesApi* | [**get_monitoring_state**](docs/InfrastructureResourcesApi.md#get_monitoring_state) | **GET** /api/infrastructure-monitoring/monitoring-state | Monitored host count *InfrastructureResourcesApi* | [**get_plugin_payload**](docs/InfrastructureResourcesApi.md#get_plugin_payload) | **GET** /api/infrastructure-monitoring/payloads/{snapshotId}/{payloadKey} | Get a payload for a snapshot @@ -373,6 +386,19 @@ Class | Method | HTTP request | Description *InfrastructureResourcesApi* | [**software_versions**](docs/InfrastructureResourcesApi.md#software_versions) | **GET** /api/infrastructure-monitoring/software/versions | Get installed software *InfrastructureTopologyApi* | [**get_related_hosts**](docs/InfrastructureTopologyApi.md#get_related_hosts) | **GET** /api/infrastructure-monitoring/graph/related-hosts/{snapshotId} | Related hosts *InfrastructureTopologyApi* | [**get_topology**](docs/InfrastructureTopologyApi.md#get_topology) | **GET** /api/infrastructure-monitoring/topology | Gets the infrastructure topology +*LLMEvaluationApi* | [**create_evaluation**](docs/LLMEvaluationApi.md#create_evaluation) | **POST** /api/genai-monitoring/evaluations | Create a new evaluation definition +*LLMEvaluationApi* | [**delete_evaluation**](docs/LLMEvaluationApi.md#delete_evaluation) | **DELETE** /api/genai-monitoring/evaluations/{evaluationId} | Delete an evaluation +*LLMEvaluationApi* | [**delete_evaluator**](docs/LLMEvaluationApi.md#delete_evaluator) | **DELETE** /api/evaluator/{evaluatorId} | Delete evaluator +*LLMEvaluationApi* | [**get_evaluation**](docs/LLMEvaluationApi.md#get_evaluation) | **GET** /api/genai-monitoring/evaluations/{evaluationId} | Get evaluation details by ID +*LLMEvaluationApi* | [**get_evaluation_runs**](docs/LLMEvaluationApi.md#get_evaluation_runs) | **GET** /api/genai-monitoring/evaluations/runs | Get all evaluation runs +*LLMEvaluationApi* | [**get_evaluations**](docs/LLMEvaluationApi.md#get_evaluations) | **GET** /api/genai-monitoring/evaluations | Get all evaluations +*LLMEvaluationApi* | [**get_evaluator**](docs/LLMEvaluationApi.md#get_evaluator) | **GET** /api/evaluator/{evaluatorId} | Get evaluator by ID +*LLMEvaluationApi* | [**get_evaluators**](docs/LLMEvaluationApi.md#get_evaluators) | **GET** /api/evaluator | Get all evaluators +*LLMEvaluationApi* | [**get_gateway_status**](docs/LLMEvaluationApi.md#get_gateway_status) | **GET** /api/genai-monitoring/evaluations/gateway-status | Check gateway status for evaluation capability +*LLMEvaluationApi* | [**reset_evaluator**](docs/LLMEvaluationApi.md#reset_evaluator) | **POST** /api/evaluator/{evaluatorId}/reset | Reset built-in evaluator +*LLMEvaluationApi* | [**run_evaluation**](docs/LLMEvaluationApi.md#run_evaluation) | **POST** /api/genai-monitoring/evaluations/{evaluationId}/run | Run an evaluation +*LLMEvaluationApi* | [**update_evaluation**](docs/LLMEvaluationApi.md#update_evaluation) | **PUT** /api/genai-monitoring/evaluations/{evaluationId} | Update an evaluation +*LLMEvaluationApi* | [**upsert_evaluator**](docs/LLMEvaluationApi.md#upsert_evaluator) | **PUT** /api/evaluator | Create or update evaluator *LLMPriceConfigurationApi* | [**delete_llm_model_price**](docs/LLMPriceConfigurationApi.md#delete_llm_model_price) | **DELETE** /api/settings/llm-pricing/{provider}/{modelName} | Delete LLM model price *LLMPriceConfigurationApi* | [**delete_llm_model_price_by_query**](docs/LLMPriceConfigurationApi.md#delete_llm_model_price_by_query) | **DELETE** /api/settings/llm-pricing | Delete LLM model price *LLMPriceConfigurationApi* | [**delete_llm_model_price_without_provider**](docs/LLMPriceConfigurationApi.md#delete_llm_model_price_without_provider) | **DELETE** /api/settings/llm-pricing/model/{modelName} | Delete LLM model price without provider @@ -397,6 +423,7 @@ Class | Method | HTTP request | Description *LogAlertConfigurationApi* | [**restore_log_alert_config**](docs/LogAlertConfigurationApi.md#restore_log_alert_config) | **PUT** /api/events/settings/global-alert-configs/logs/{id}/restore/{created} | Restore Log Alert Config *LogAlertConfigurationApi* | [**update_log_alert_config**](docs/LogAlertConfigurationApi.md#update_log_alert_config) | **POST** /api/events/settings/global-alert-configs/logs/{id} | Update Log Alert Config *LoggingAnalyzeApi* | [**get_log_volume_usage**](docs/LoggingAnalyzeApi.md#get_log_volume_usage) | **GET** /api/logging/logs/getLogVolumeUsage | Get Log Volume Usage +*LoggingAnalyzeApi* | [**get_logs**](docs/LoggingAnalyzeApi.md#get_logs) | **POST** /api/logging/logs/getLogs/v1 | Retrieve logs via REST API *MaintenanceConfigurationApi* | [**delete_maintenance_config**](docs/MaintenanceConfigurationApi.md#delete_maintenance_config) | **DELETE** /api/settings/maintenance/{id} | Delete maintenance configuration *MaintenanceConfigurationApi* | [**delete_maintenance_config_v2**](docs/MaintenanceConfigurationApi.md#delete_maintenance_config_v2) | **DELETE** /api/settings/v2/maintenance/{id} | Delete maintenance configuration *MaintenanceConfigurationApi* | [**get_maintenance_config**](docs/MaintenanceConfigurationApi.md#get_maintenance_config) | **GET** /api/settings/maintenance/{id} | Maintenance configuration @@ -409,12 +436,9 @@ Class | Method | HTTP request | Description *MaintenanceConfigurationApi* | [**resume_recurrent_maintenance_configuration**](docs/MaintenanceConfigurationApi.md#resume_recurrent_maintenance_configuration) | **PUT** /api/settings/v2/maintenance/{id}/resume | Resume maintenance configuration *MobileAppAnalyzeApi* | [**get_mobile_app_beacon_groups**](docs/MobileAppAnalyzeApi.md#get_mobile_app_beacon_groups) | **POST** /api/mobile-app-monitoring/analyze/beacon-groups | Get grouped beacon metrics *MobileAppAnalyzeApi* | [**get_mobile_app_beacons**](docs/MobileAppAnalyzeApi.md#get_mobile_app_beacons) | **POST** /api/mobile-app-monitoring/analyze/beacons | Get all beacons -*MobileAppCatalogApi* | [**get_action_beacons**](docs/MobileAppCatalogApi.md#get_action_beacons) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons | Get action beacons for a session *MobileAppCatalogApi* | [**get_all_mobile_app_catalog_tags**](docs/MobileAppCatalogApi.md#get_all_mobile_app_catalog_tags) | **GET** /api/mobile-app-monitoring/catalog/tags | Get all existing mobile app tags *MobileAppCatalogApi* | [**get_mobile_app_metric_catalog**](docs/MobileAppCatalogApi.md#get_mobile_app_metric_catalog) | **GET** /api/mobile-app-monitoring/catalog/metrics | Metric catalog *MobileAppCatalogApi* | [**get_mobile_app_tag_catalog**](docs/MobileAppCatalogApi.md#get_mobile_app_tag_catalog) | **GET** /api/mobile-app-monitoring/catalog | Get mobile app tag catalog -*MobileAppCatalogApi* | [**get_session_replay_metadata**](docs/MobileAppCatalogApi.md#get_session_replay_metadata) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata | Get session replay metadata -*MobileAppCatalogApi* | [**get_session_replay_timestamps**](docs/MobileAppCatalogApi.md#get_session_replay_timestamps) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps | Get session replay timestamps *MobileAppConfigurationApi* | [**clear_mobile_app_source_map_upload_configuration**](docs/MobileAppConfigurationApi.md#clear_mobile_app_source_map_upload_configuration) | **PUT** /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/clear | Clear sourcemap files for sourcemap upload configuration *MobileAppConfigurationApi* | [**commit_mobile_app_source_map_file**](docs/MobileAppConfigurationApi.md#commit_mobile_app_source_map_file) | **PUT** /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/commit | Commit sourcemap file upload for mobile app *MobileAppConfigurationApi* | [**delete_mobile_app_config**](docs/MobileAppConfigurationApi.md#delete_mobile_app_config) | **DELETE** /api/mobile-app-monitoring/config/{mobileAppId} | Remove mobile app @@ -437,6 +461,9 @@ Class | Method | HTTP request | Description *MobileAppMetricsApi* | [**get_mobile_app_beacon_metrics**](docs/MobileAppMetricsApi.md#get_mobile_app_beacon_metrics) | **POST** /api/mobile-app-monitoring/metrics | Get mobile app beacon metrics *MobileAppMetricsApi* | [**get_mobile_app_beacon_metrics_v2**](docs/MobileAppMetricsApi.md#get_mobile_app_beacon_metrics_v2) | **POST** /api/mobile-app-monitoring/v2/metrics | Get beacon metrics *MobileAppMetricsApi* | [**get_session**](docs/MobileAppMetricsApi.md#get_session) | **GET** /api/mobile-app-monitoring/session{id}{timestamp} | Get mobile app session +*MobileAppSessionReplayApi* | [**get_action_beacons**](docs/MobileAppSessionReplayApi.md#get_action_beacons) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons | Get action beacons for a session +*MobileAppSessionReplayApi* | [**get_session_replay_metadata**](docs/MobileAppSessionReplayApi.md#get_session_replay_metadata) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata | Get session replay metadata +*MobileAppSessionReplayApi* | [**get_session_replay_timestamps**](docs/MobileAppSessionReplayApi.md#get_session_replay_timestamps) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps | Get session replay timestamps *PoliciesApi* | [**add_policies**](docs/PoliciesApi.md#add_policies) | **POST** /api/automation/policies/bulk | Create automation policies. *PoliciesApi* | [**add_policy**](docs/PoliciesApi.md#add_policy) | **POST** /api/automation/policies | Create an automation policy. *PoliciesApi* | [**delete_policy**](docs/PoliciesApi.md#delete_policy) | **DELETE** /api/automation/policies/{id} | Deletes an automation policy by identifier. @@ -560,6 +587,7 @@ Class | Method | HTTP request | Description *UsageApi* | [**get_usage_per_month**](docs/UsageApi.md#get_usage_per_month) | **GET** /api/instana/usage/api/{month}/{year} | API usage month / year *UserApi* | [**get_invitations**](docs/UserApi.md#get_invitations) | **GET** /api/settings/invitations | All pending invitations *UserApi* | [**get_user_by_id**](docs/UserApi.md#get_user_by_id) | **GET** /api/settings/users/{userId} | Get single user +*UserApi* | [**get_user_mappings**](docs/UserApi.md#get_user_mappings) | **GET** /api/settings/users/{userId}/mappings | Get user role mappings *UserApi* | [**get_users**](docs/UserApi.md#get_users) | **GET** /api/settings/users | All users (without invitations) *UserApi* | [**get_users_including_invitations**](docs/UserApi.md#get_users_including_invitations) | **GET** /api/settings/users/overview | All users (incl. invitations) *UserApi* | [**invite_users**](docs/UserApi.md#invite_users) | **POST** /api/settings/invitations | Send user invitations @@ -593,8 +621,32 @@ Class | Method | HTTP request | Description *WebsiteMetricsApi* | [**get_beacon_metrics**](docs/WebsiteMetricsApi.md#get_beacon_metrics) | **POST** /api/website-monitoring/metrics | Get beacon metrics *WebsiteMetricsApi* | [**get_beacon_metrics_v2**](docs/WebsiteMetricsApi.md#get_beacon_metrics_v2) | **POST** /api/website-monitoring/v2/metrics | Get beacon metrics *WebsiteMetricsApi* | [**get_page_load**](docs/WebsiteMetricsApi.md#get_page_load) | **GET** /api/website-monitoring/page-load{id}{timestamp} | Get page load +*DefaultApi* | [**delete**](docs/DefaultApi.md#delete) | **DELETE** /api/filters/{id} | +*DefaultApi* | [**delete_trace_sampling_config**](docs/DefaultApi.md#delete_trace_sampling_config) | **DELETE** /api/settings/trace-sampling | Delete trace sampling configuration +*DefaultApi* | [**encrypt**](docs/DefaultApi.md#encrypt) | **POST** /api/encrypt | +*DefaultApi* | [**get**](docs/DefaultApi.md#get) | **GET** /api/filters | +*DefaultApi* | [**get1**](docs/DefaultApi.md#get1) | **GET** /api/license | +*DefaultApi* | [**get2**](docs/DefaultApi.md#get2) | **GET** /api/tos-privacy-agreement/checkUserAcceptance | +*DefaultApi* | [**get3**](docs/DefaultApi.md#get3) | **GET** /api/user-settings | *DefaultApi* | [**get_internal_custom_dashboards**](docs/DefaultApi.md#get_internal_custom_dashboards) | **GET** /api/internal/custom-dashboard | *DefaultApi* | [**get_internal_dashboard**](docs/DefaultApi.md#get_internal_dashboard) | **GET** /api/internal/custom-dashboard/{dashboardId} | +*DefaultApi* | [**get_latest_tos_privacy_agreement**](docs/DefaultApi.md#get_latest_tos_privacy_agreement) | **GET** /api/tos-privacy-agreement/latest | +*DefaultApi* | [**get_merged_user_permissions**](docs/DefaultApi.md#get_merged_user_permissions) | **GET** /api/settings/users/{userId}/mergedPermissions | +*DefaultApi* | [**get_trace_sampling_config**](docs/DefaultApi.md#get_trace_sampling_config) | **GET** /api/settings/trace-sampling | Get trace sampling configuration +*DefaultApi* | [**get_two_factor_credentials**](docs/DefaultApi.md#get_two_factor_credentials) | **GET** /api/settings/authentication/2fa/credentials | +*DefaultApi* | [**get_ui_settings**](docs/DefaultApi.md#get_ui_settings) | **GET** /api/ui/settings | +*DefaultApi* | [**get_user_permissions**](docs/DefaultApi.md#get_user_permissions) | **GET** /api/permissions | +*DefaultApi* | [**get_user_permissions_by_id**](docs/DefaultApi.md#get_user_permissions_by_id) | **GET** /api/permissions/{userId} | +*DefaultApi* | [**post**](docs/DefaultApi.md#post) | **POST** /api/filters | +*DefaultApi* | [**post_change_password**](docs/DefaultApi.md#post_change_password) | **POST** /api/settings/authentication/changePassword | +*DefaultApi* | [**put**](docs/DefaultApi.md#put) | **PUT** /api/filters/{id} | +*DefaultApi* | [**put1**](docs/DefaultApi.md#put1) | **PUT** /api/user-settings | +*DefaultApi* | [**put_ui_setting**](docs/DefaultApi.md#put_ui_setting) | **PUT** /api/ui/settings/{setting} | +*DefaultApi* | [**put_ui_settings**](docs/DefaultApi.md#put_ui_settings) | **PUT** /api/ui/settings | +*DefaultApi* | [**toggle2_fa**](docs/DefaultApi.md#toggle2_fa) | **POST** /api/settings/authentication/2fa/toggle | +*DefaultApi* | [**toggle2_fa1**](docs/DefaultApi.md#toggle2_fa1) | **POST** /api/settings/authentication/2fa/verify/{token} | +*DefaultApi* | [**tos_privacy_agreement**](docs/DefaultApi.md#tos_privacy_agreement) | **POST** /api/tos-privacy-agreement | +*DefaultApi* | [**update_trace_sampling_config**](docs/DefaultApi.md#update_trace_sampling_config) | **PUT** /api/settings/trace-sampling | Update trace sampling configuration ## Documentation For Models @@ -615,12 +667,15 @@ Class | Method | HTTP request | Description - [AdaptiveBaseline](docs/AdaptiveBaseline.md) - [AdaptiveThresholdRule](docs/AdaptiveThresholdRule.md) - [AdjustedTimeframe](docs/AdjustedTimeframe.md) + - [AdvancedCustomBlueprintIndicator](docs/AdvancedCustomBlueprintIndicator.md) + - [AdvancedFilter](docs/AdvancedFilter.md) - [AgentConfigurationUpdate](docs/AgentConfigurationUpdate.md) - [AgentModeUpdate](docs/AgentModeUpdate.md) - [AlertingConfiguration](docs/AlertingConfiguration.md) - [AlertingConfigurationWithLastUpdated](docs/AlertingConfigurationWithLastUpdated.md) - [AlertingTimeWindow](docs/AlertingTimeWindow.md) - [ApdexAlertRule](docs/ApdexAlertRule.md) + - [ApdexConfigWithRBACTag](docs/ApdexConfigWithRBACTag.md) - [ApdexConfiguration](docs/ApdexConfiguration.md) - [ApdexConfigurationInput](docs/ApdexConfigurationInput.md) - [ApdexEntity](docs/ApdexEntity.md) @@ -629,6 +684,8 @@ Class | Method | HTTP request | Description - [ApiCreateGroup](docs/ApiCreateGroup.md) - [ApiCreateRole](docs/ApiCreateRole.md) - [ApiGroup](docs/ApiGroup.md) + - [ApiLogItem](docs/ApiLogItem.md) + - [ApiLogTag](docs/ApiLogTag.md) - [ApiMember](docs/ApiMember.md) - [ApiPermissionSet](docs/ApiPermissionSet.md) - [ApiRestrictedApplicationFilter](docs/ApiRestrictedApplicationFilter.md) @@ -686,6 +743,8 @@ Class | Method | HTTP request | Description - [CorrectionScheduling](docs/CorrectionScheduling.md) - [CorrectionWindow](docs/CorrectionWindow.md) - [CrashMobileAppAlertRule](docs/CrashMobileAppAlertRule.md) + - [CreateEvaluationRequest](docs/CreateEvaluationRequest.md) + - [CreateEvaluationResponse](docs/CreateEvaluationResponse.md) - [CreateWebsiteRequestInner](docs/CreateWebsiteRequestInner.md) - [CursorPaginatedBusinessActivityItem](docs/CursorPaginatedBusinessActivityItem.md) - [CursorPagination](docs/CursorPagination.md) @@ -708,6 +767,7 @@ Class | Method | HTTP request | Description - [CustomPayloadWithLastUpdated](docs/CustomPayloadWithLastUpdated.md) - [CustomPayloadWithVersion](docs/CustomPayloadWithVersion.md) - [CustomTag](docs/CustomTag.md) + - [CustomerEmail](docs/CustomerEmail.md) - [DNSConfiguration](docs/DNSConfiguration.md) - [DNSConfigurationUpdate](docs/DNSConfigurationUpdate.md) - [DNSFilterQueryTime](docs/DNSFilterQueryTime.md) @@ -735,17 +795,29 @@ Class | Method | HTTP request | Description - [EntityCountVerificationRule](docs/EntityCountVerificationRule.md) - [EntityHealthInfo](docs/EntityHealthInfo.md) - [EntityId](docs/EntityId.md) + - [EntityMetric](docs/EntityMetric.md) + - [EntityMetricScope](docs/EntityMetricScope.md) - [EntityVerificationRule](docs/EntityVerificationRule.md) - [ErrorBudgetAlertRule](docs/ErrorBudgetAlertRule.md) - [ErrorsApplicationAlertRule](docs/ErrorsApplicationAlertRule.md) + - [EvaluationDetailResponse](docs/EvaluationDetailResponse.md) + - [EvaluationListItem](docs/EvaluationListItem.md) + - [EvaluationListResponse](docs/EvaluationListResponse.md) + - [Evaluator](docs/Evaluator.md) - [Event](docs/Event.md) - [EventFilteringConfiguration](docs/EventFilteringConfiguration.md) - [EventResult](docs/EventResult.md) - [EventSpecificationInfo](docs/EventSpecificationInfo.md) - [ExtendedService](docs/ExtendedService.md) - [FailureSyntheticAlertRule](docs/FailureSyntheticAlertRule.md) + - [FilterInterface](docs/FilterInterface.md) - [FixedHttpPathSegmentMatchingRule](docs/FixedHttpPathSegmentMatchingRule.md) - [FixedTimeWindow](docs/FixedTimeWindow.md) + - [FleetConfiguration](docs/FleetConfiguration.md) + - [FleetConfigurationAssignment](docs/FleetConfigurationAssignment.md) + - [FleetConfigurationAssignmentResponse](docs/FleetConfigurationAssignmentResponse.md) + - [FleetConfigurationResponse](docs/FleetConfigurationResponse.md) + - [GatewayStatusResponse](docs/GatewayStatusResponse.md) - [GenericInfraAlertRule](docs/GenericInfraAlertRule.md) - [GeoLocationConfiguration](docs/GeoLocationConfiguration.md) - [GeoMappingRule](docs/GeoMappingRule.md) @@ -850,7 +922,9 @@ Class | Method | HTTP request | Description - [LogVolumeGroup](docs/LogVolumeGroup.md) - [LogVolumeUsageItem](docs/LogVolumeUsageItem.md) - [LogVolumeUsageResult](docs/LogVolumeUsageResult.md) + - [LogsApiResponse](docs/LogsApiResponse.md) - [LogsApplicationAlertRule](docs/LogsApplicationAlertRule.md) + - [LogsQuery](docs/LogsQuery.md) - [MaintenanceConfig](docs/MaintenanceConfig.md) - [MaintenanceConfigScheduling](docs/MaintenanceConfigScheduling.md) - [MaintenanceConfigV2](docs/MaintenanceConfigV2.md) @@ -891,6 +965,7 @@ Class | Method | HTTP request | Description - [MobileAppMonitoringMetricDescription](docs/MobileAppMonitoringMetricDescription.md) - [MobileAppMonitoringMetricsConfiguration](docs/MobileAppMonitoringMetricsConfiguration.md) - [MobileAppTimeThreshold](docs/MobileAppTimeThreshold.md) + - [MobileSloEntity](docs/MobileSloEntity.md) - [ModelField](docs/ModelField.md) - [MonitoredEntitiesStats](docs/MonitoredEntitiesStats.md) - [MonitoringState](docs/MonitoringState.md) @@ -899,6 +974,7 @@ Class | Method | HTTP request | Description - [NewApplicationConfig](docs/NewApplicationConfig.md) - [NewBusinessPerspectiveConfig](docs/NewBusinessPerspectiveConfig.md) - [NewManualServiceConfig](docs/NewManualServiceConfig.md) + - [Notification](docs/Notification.md) - [OAuthConfig](docs/OAuthConfig.md) - [OAuthIntegration](docs/OAuthIntegration.md) - [OAuthToken](docs/OAuthToken.md) @@ -923,6 +999,7 @@ Class | Method | HTTP request | Description - [PrefixObject](docs/PrefixObject.md) - [Problem](docs/Problem.md) - [PrometheusWebhookIntegration](docs/PrometheusWebhookIntegration.md) + - [RbacRestrictions](docs/RbacRestrictions.md) - [RecurrentMaintenanceWindow](docs/RecurrentMaintenanceWindow.md) - [Release](docs/Release.md) - [ReleaseScope](docs/ReleaseScope.md) @@ -937,11 +1014,13 @@ Class | Method | HTTP request | Description - [RuleWithThresholdMobileAppAlertRule](docs/RuleWithThresholdMobileAppAlertRule.md) - [RuleWithThresholdWebsiteAlertRule](docs/RuleWithThresholdWebsiteAlertRule.md) - [RunConfiguration](docs/RunConfiguration.md) + - [RunEvaluationResponse](docs/RunEvaluationResponse.md) - [SLOConfigWithRBACTag](docs/SLOConfigWithRBACTag.md) - [SSLCertificateConfiguration](docs/SSLCertificateConfiguration.md) - [SSLCertificateConfigurationUpdate](docs/SSLCertificateConfigurationUpdate.md) - [SSLCertificateValidation](docs/SSLCertificateValidation.md) - [SalesforceIntegration](docs/SalesforceIntegration.md) + - [SamplingMetadata](docs/SamplingMetadata.md) - [SaturationBlueprintIndicator](docs/SaturationBlueprintIndicator.md) - [ScopeBinding](docs/ScopeBinding.md) - [SearchFieldResult](docs/SearchFieldResult.md) @@ -1073,6 +1152,7 @@ Class | Method | HTTP request | Description - [ThroughputApplicationAlertRule](docs/ThroughputApplicationAlertRule.md) - [ThroughputMobileAppAlertRule](docs/ThroughputMobileAppAlertRule.md) - [ThroughputWebsiteAlertRule](docs/ThroughputWebsiteAlertRule.md) + - [TimeConfig](docs/TimeConfig.md) - [TimeFrame](docs/TimeFrame.md) - [TimeWindow](docs/TimeWindow.md) - [Topology](docs/Topology.md) @@ -1084,10 +1164,13 @@ Class | Method | HTTP request | Description - [TraceImpactApplicationTimeThreshold](docs/TraceImpactApplicationTimeThreshold.md) - [TraceItem](docs/TraceItem.md) - [TraceResult](docs/TraceResult.md) + - [TraceSamplingConfig](docs/TraceSamplingConfig.md) - [TrafficBlueprintIndicator](docs/TrafficBlueprintIndicator.md) - [Trigger](docs/Trigger.md) - [TypeConfiguration](docs/TypeConfiguration.md) - [UnsupportedHttpPathSegmentMatchingRule](docs/UnsupportedHttpPathSegmentMatchingRule.md) + - [UpdateEvaluationRequest](docs/UpdateEvaluationRequest.md) + - [UpdateFleetConfigurationRequest](docs/UpdateFleetConfigurationRequest.md) - [UpdatedBusinessPerspectiveConfig](docs/UpdatedBusinessPerspectiveConfig.md) - [UsageResult](docs/UsageResult.md) - [UsageResultItems](docs/UsageResultItems.md) diff --git a/docs/AIManagementApi.md b/docs/AIManagementApi.md index de45e852..1d43914f 100644 --- a/docs/AIManagementApi.md +++ b/docs/AIManagementApi.md @@ -4,22 +4,23 @@ All URIs are relative to *https://unit-tenant.instana.io* Method | HTTP request | Description ------------- | ------------- | ------------- -[**add_llm_egress_gateway**](AIManagementApi.md#add_llm_egress_gateway) | **POST** /api/llm/gateways | Create a new LLM gateway -[**delete_llm_egress_gateway**](AIManagementApi.md#delete_llm_egress_gateway) | **DELETE** /api/llm/gateways/{id} | Delete a LLM egress gateway -[**enable_llm_egress_gateway**](AIManagementApi.md#enable_llm_egress_gateway) | **PUT** /api/llm/gateways/{id}/enable | Set the enabled status of a LLM gateway +[**add_llm_egress_gateway**](AIManagementApi.md#add_llm_egress_gateway) | **POST** /api/llm/gateways | Create a new AI connection +[**delete_llm_egress_gateway**](AIManagementApi.md#delete_llm_egress_gateway) | **DELETE** /api/llm/gateways/{id} | Delete an AI connection +[**disable_llm_egress_gateway**](AIManagementApi.md#disable_llm_egress_gateway) | **PUT** /api/llm/gateways/{id}/disable | Disable an AI connection +[**enable_llm_egress_gateway**](AIManagementApi.md#enable_llm_egress_gateway) | **PUT** /api/llm/gateways/{id}/enable | Enable an AI connection [**get_llm_capabilities**](AIManagementApi.md#get_llm_capabilities) | **GET** /api/llm/capabilities | Get all LLM capabilities -[**get_llm_egress_gateway_by_id**](AIManagementApi.md#get_llm_egress_gateway_by_id) | **GET** /api/llm/gateways/{id} | Get a LLM gateway by ID -[**get_llm_egress_gateways**](AIManagementApi.md#get_llm_egress_gateways) | **GET** /api/llm/gateways | Get all LLM gateways -[**test_llm_gateway**](AIManagementApi.md#test_llm_gateway) | **POST** /api/llm/gateways/test | Test LLM gateway connection parameters -[**update_llm_egress_gateway**](AIManagementApi.md#update_llm_egress_gateway) | **PUT** /api/llm/gateways/{id} | Update an existing LLM gateway. +[**get_llm_egress_gateway_by_id**](AIManagementApi.md#get_llm_egress_gateway_by_id) | **GET** /api/llm/gateways/{id} | Get an AI connection by ID +[**get_llm_egress_gateways**](AIManagementApi.md#get_llm_egress_gateways) | **GET** /api/llm/gateways | Get all AI connections +[**test_llm_gateway**](AIManagementApi.md#test_llm_gateway) | **POST** /api/llm/gateways/test | Test AI connection connection parameters +[**update_llm_egress_gateway**](AIManagementApi.md#update_llm_egress_gateway) | **PUT** /api/llm/gateways/{id} | Update an existing AI connection. # **add_llm_egress_gateway** > LLMEgressGateway add_llm_egress_gateway(llm_egress_gateway) -Create a new LLM gateway +Create a new AI connection -Create a new LLM gateway +Create a new AI connection ### Example @@ -55,7 +56,7 @@ with instana_client.ApiClient(configuration) as api_client: llm_egress_gateway = {"name":"Example LLM egress Handler","description":"This is a sample custom handler used for testing.","aiModel":"watsonx-gpt-4","supports":{"capabilities":["anomaly-detection","remediation"]},"metadata":{"source":"user","version":"1.0.0"},"endpointUrl":"https://example.com/handler","endpointApiKey":"secret-api-key","watsonxKey":"watsonx-123","watsonxProject":"project-xyz","watsonxUrl":"https://watsonx.example.com","instanaAgents":{"agents":["agent-1","agent-2"]}} # LLMEgressGateway | try: - # Create a new LLM gateway + # Create a new AI connection api_response = api_instance.add_llm_egress_gateway(llm_egress_gateway) print("The response of AIManagementApi->add_llm_egress_gateway:\n") pprint(api_response) @@ -99,9 +100,9 @@ Name | Type | Description | Notes # **delete_llm_egress_gateway** > delete_llm_egress_gateway(id) -Delete a LLM egress gateway +Delete an AI connection -Delete a LLM egress gateway by ID. +Delete an AI connection by ID. ### Example @@ -133,10 +134,10 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.AIManagementApi(api_client) - id = 'id_example' # str | LLM gateway ID + id = 'id_example' # str | AI connection ID try: - # Delete a LLM egress gateway + # Delete an AI connection api_instance.delete_llm_egress_gateway(id) except Exception as e: print("Exception when calling AIManagementApi->delete_llm_egress_gateway: %s\n" % e) @@ -149,7 +150,87 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| LLM gateway ID | + **id** | **str**| AI connection ID | + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Successful - no content to return. | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Insufficient permissions or limited in access. | - | +**404** | Resource not found. | - | +**500** | Internal server 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) + +# **disable_llm_egress_gateway** +> disable_llm_egress_gateway(id) + +Disable an AI connection + +Disable an AI connection by ID. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.AIManagementApi(api_client) + id = 'id_example' # str | AI connection ID + + try: + # Disable an AI connection + api_instance.disable_llm_egress_gateway(id) + except Exception as e: + print("Exception when calling AIManagementApi->disable_llm_egress_gateway: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| AI connection ID | ### Return type @@ -179,9 +260,9 @@ void (empty response body) # **enable_llm_egress_gateway** > enable_llm_egress_gateway(id) -Set the enabled status of a LLM gateway +Enable an AI connection -Enable a LLM gateway by ID. Any other enabled gateway for the same capability will be automatically disabled. +Enable an AI connection by ID. Any other enabled connection for the same capability will be automatically disabled. ### Example @@ -213,10 +294,10 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.AIManagementApi(api_client) - id = 'id_example' # str | LLM gateway ID + id = 'id_example' # str | AI connection ID try: - # Set the enabled status of a LLM gateway + # Enable an AI connection api_instance.enable_llm_egress_gateway(id) except Exception as e: print("Exception when calling AIManagementApi->enable_llm_egress_gateway: %s\n" % e) @@ -229,7 +310,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| LLM gateway ID | + **id** | **str**| AI connection ID | ### Return type @@ -335,9 +416,9 @@ This endpoint does not need any parameter. # **get_llm_egress_gateway_by_id** > LLMEgressGateway get_llm_egress_gateway_by_id(id) -Get a LLM gateway by ID +Get an AI connection by ID -Retrieve a LLM gateway by ID. +Retrieve an AI connection by ID. ### Example @@ -370,10 +451,10 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.AIManagementApi(api_client) - id = 'id_example' # str | LLM gateway ID + id = 'id_example' # str | AI connection ID try: - # Get a LLM gateway by ID + # Get an AI connection by ID api_response = api_instance.get_llm_egress_gateway_by_id(id) print("The response of AIManagementApi->get_llm_egress_gateway_by_id:\n") pprint(api_response) @@ -388,7 +469,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| LLM gateway ID | + **id** | **str**| AI connection ID | ### Return type @@ -418,9 +499,9 @@ Name | Type | Description | Notes # **get_llm_egress_gateways** > List[LLMEgressGateway] get_llm_egress_gateways(enabled=enabled, capability=capability) -Get all LLM gateways +Get all AI connections -Retrieve all LLM gateways. Optionally filter by enabled status or capability. +Retrieve all AI connections. Optionally filter by enabled status or capability. ### Example @@ -457,7 +538,7 @@ with instana_client.ApiClient(configuration) as api_client: capability = 'capability_example' # str | Filter by capability name (optional) try: - # Get all LLM gateways + # Get all AI connections api_response = api_instance.get_llm_egress_gateways(enabled=enabled, capability=capability) print("The response of AIManagementApi->get_llm_egress_gateways:\n") pprint(api_response) @@ -503,9 +584,9 @@ Name | Type | Description | Notes # **test_llm_gateway** > TestConnectionResponse test_llm_gateway(llm_gateway_test_connection_request) -Test LLM gateway connection parameters +Test AI connection connection parameters -Test LLM gateway connection parameters +Test AI connection connection parameters ### Example @@ -542,7 +623,7 @@ with instana_client.ApiClient(configuration) as api_client: llm_gateway_test_connection_request = {"id":"WATSONX","connectionParameters":{"url":"https://watsonx.example.com","apiKey":"secret-api-key","project":"project-xyz"}} # LLMGatewayTestConnectionRequest | try: - # Test LLM gateway connection parameters + # Test AI connection connection parameters api_response = api_instance.test_llm_gateway(llm_gateway_test_connection_request) print("The response of AIManagementApi->test_llm_gateway:\n") pprint(api_response) @@ -587,9 +668,9 @@ Name | Type | Description | Notes # **update_llm_egress_gateway** > LLMEgressGateway update_llm_egress_gateway(id, llm_egress_gateway) -Update an existing LLM gateway. +Update an existing AI connection. -Update an existing LLM gateway by ID. +Update an existing AI connection by ID. ### Example @@ -622,11 +703,11 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.AIManagementApi(api_client) - id = 'id_example' # str | LLM gateway ID + id = 'id_example' # str | AI connection ID llm_egress_gateway = {"name":"Example LLM egress Handler","description":"This is a sample custom handler used for testing.","aiModel":"watsonx-gpt-4","supports":{"capabilities":["anomaly-detection","remediation"]},"metadata":{"source":"user","version":"1.0.0"},"endpointUrl":"https://example.com/handler","endpointApiKey":"secret-api-key","watsonxKey":"watsonx-123","watsonxProject":"project-xyz","watsonxUrl":"https://watsonx.example.com","instanaAgents":{"agents":["agent-1","agent-2"]}} # LLMEgressGateway | try: - # Update an existing LLM gateway. + # Update an existing AI connection. api_response = api_instance.update_llm_egress_gateway(id, llm_egress_gateway) print("The response of AIManagementApi->update_llm_egress_gateway:\n") pprint(api_response) @@ -641,7 +722,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| LLM gateway ID | + **id** | **str**| AI connection ID | **llm_egress_gateway** | [**LLMEgressGateway**](LLMEgressGateway.md)| | ### Return type diff --git a/docs/ActionConfiguration.md b/docs/ActionConfiguration.md index ddcef495..f35ad285 100644 --- a/docs/ActionConfiguration.md +++ b/docs/ActionConfiguration.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **action** | [**Action**](Action.md) | | **agent_id** | **str** | Identifier of the agent host on which to run the action. | [optional] **input_parameter_values** | [**List[ParameterValue]**](ParameterValue.md) | List of action input parameters. | [optional] +**notifications** | [**List[Notification]**](Notification.md) | Optional notifications configuration for action execution events. Each notification specifies a condition (started, fail, success) and associated alert channels. | [optional] ## Example diff --git a/docs/ActionInstance.md b/docs/ActionInstance.md index 84ab9236..8e8c10c4 100644 --- a/docs/ActionInstance.md +++ b/docs/ActionInstance.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **actor_id** | **str** | User identifier, API token or the policy identifier that started the action run. | [optional] **actor_name** | **str** | Name of the user, API token or the policy that started the action run. | [optional] **actor_type** | **str** | Type of Actor. Valid values are listed in the enum definition. | [optional] +**client_id** | **str** | Client ID (tenant key) where the action instance is stored. | [optional] [readonly] **created_date** | **int** | Action run created timestamp. The timestamp at which the action run got submitted. | [optional] **end_date** | **int** | Action run end timestamp. The timestamp at which the action run ended on the agent host. | [optional] **error_message** | **str** | Error message, if any, of action run on the agent host. | [optional] @@ -23,6 +24,7 @@ Name | Type | Description | Notes **host_snapshot_id** | **str** | Host snapshot identifier of the agent on which the action ran. | [optional] **input_parameters** | [**List[ActionInstanceParameter]**](ActionInstanceParameter.md) | List of input parameters to this action run. | [optional] **metadata** | [**List[ActionInstanceMetadataEntry]**](ActionInstanceMetadataEntry.md) | List of metadata parameters set to this action run by sensors. | [optional] +**originator_client_id** | **str** | Client ID (tenant key) where the action/policy was executed from. | [optional] [readonly] **output** | **str** | Action run output. | [optional] **policy_id** | **str** | Identifier of the policy that triggered this action run. | [optional] **problem_text** | **str** | Event problem text of the event that triggered this action run. | [optional] diff --git a/docs/AdvancedCustomBlueprintIndicator.md b/docs/AdvancedCustomBlueprintIndicator.md new file mode 100644 index 00000000..dd231e07 --- /dev/null +++ b/docs/AdvancedCustomBlueprintIndicator.md @@ -0,0 +1,30 @@ +# AdvancedCustomBlueprintIndicator + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**bad_events** | [**AdvancedFilter**](AdvancedFilter.md) | | [optional] +**good_events** | [**AdvancedFilter**](AdvancedFilter.md) | | + +## Example + +```python +from instana_client.models.advanced_custom_blueprint_indicator import AdvancedCustomBlueprintIndicator + +# TODO update the JSON string below +json = "{}" +# create an instance of AdvancedCustomBlueprintIndicator from a JSON string +advanced_custom_blueprint_indicator_instance = AdvancedCustomBlueprintIndicator.from_json(json) +# print the JSON string representation of the object +print(AdvancedCustomBlueprintIndicator.to_json()) + +# convert the object into a dict +advanced_custom_blueprint_indicator_dict = advanced_custom_blueprint_indicator_instance.to_dict() +# create an instance of AdvancedCustomBlueprintIndicator from a dict +advanced_custom_blueprint_indicator_from_dict = AdvancedCustomBlueprintIndicator.from_dict(advanced_custom_blueprint_indicator_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/AdvancedFilter.md b/docs/AdvancedFilter.md new file mode 100644 index 00000000..2253fc80 --- /dev/null +++ b/docs/AdvancedFilter.md @@ -0,0 +1,32 @@ +# AdvancedFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aggregation** | **str** | | +**metric** | [**EntityMetric**](EntityMetric.md) | | +**operator** | **str** | | +**threshold** | **float** | | + +## Example + +```python +from instana_client.models.advanced_filter import AdvancedFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of AdvancedFilter from a JSON string +advanced_filter_instance = AdvancedFilter.from_json(json) +# print the JSON string representation of the object +print(AdvancedFilter.to_json()) + +# convert the object into a dict +advanced_filter_dict = advanced_filter_instance.to_dict() +# create an instance of AdvancedFilter from a dict +advanced_filter_from_dict = AdvancedFilter.from_dict(advanced_filter_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/ApdexConfigWithRBACTag.md b/docs/ApdexConfigWithRBACTag.md new file mode 100644 index 00000000..199e8cc0 --- /dev/null +++ b/docs/ApdexConfigWithRBACTag.md @@ -0,0 +1,35 @@ +# ApdexConfigWithRBACTag + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apdex_entity** | [**ApdexEntity**](ApdexEntity.md) | | +**apdex_name** | **str** | | +**created_at** | **int** | Created date of Apdex Configuration (Unix timestamp in milliseconds) | [optional] +**id** | **str** | Apdex Configuration ID | +**last_updated** | **int** | Last updated date of Apdex Configuration (Unix timestamp in milliseconds) | [optional] +**rbac_tags** | [**List[ApiTag]**](ApiTag.md) | | [optional] +**tags** | **List[str]** | List of tags associated with Apdex Configuration | [optional] + +## Example + +```python +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag + +# TODO update the JSON string below +json = "{}" +# create an instance of ApdexConfigWithRBACTag from a JSON string +apdex_config_with_rbac_tag_instance = ApdexConfigWithRBACTag.from_json(json) +# print the JSON string representation of the object +print(ApdexConfigWithRBACTag.to_json()) + +# convert the object into a dict +apdex_config_with_rbac_tag_dict = apdex_config_with_rbac_tag_instance.to_dict() +# create an instance of ApdexConfigWithRBACTag from a dict +apdex_config_with_rbac_tag_from_dict = ApdexConfigWithRBACTag.from_dict(apdex_config_with_rbac_tag_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/ApdexSettingsApi.md b/docs/ApdexSettingsApi.md index 4d617951..a6745de2 100644 --- a/docs/ApdexSettingsApi.md +++ b/docs/ApdexSettingsApi.md @@ -97,7 +97,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) # **create_apdex_configuration_v2** -> ApdexConfiguration create_apdex_configuration_v2(apdex_configuration_input) +> ApdexConfigWithRBACTag create_apdex_configuration_v2(apdex_configuration_input) Create Apdex Configuration @@ -107,7 +107,7 @@ Create Apdex Configuration ```python import instana_client -from instana_client.models.apdex_configuration import ApdexConfiguration +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag from instana_client.models.apdex_configuration_input import ApdexConfigurationInput from instana_client.rest import ApiException from pprint import pprint @@ -155,7 +155,7 @@ Name | Type | Description | Notes ### Return type -[**ApdexConfiguration**](ApdexConfiguration.md) +[**ApdexConfigWithRBACTag**](ApdexConfigWithRBACTag.md) ### Authorization @@ -434,7 +434,7 @@ with instana_client.ApiClient(configuration) as api_client: api_instance = instana_client.ApdexSettingsApi(api_client) query = 'test Apdex' # str | (optional) tag = ['Testing'] # List[str] | (optional) - entity_type = 'APPLICATION' # str | (optional) + entity_type = ['APPLICATION'] # List[str] | (optional) try: # Get All Apdex Config tags @@ -454,7 +454,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **query** | **str**| | [optional] **tag** | [**List[str]**](str.md)| | [optional] - **entity_type** | **str**| | [optional] + **entity_type** | [**List[str]**](str.md)| | [optional] ### Return type @@ -553,7 +553,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_all_apdex_configurations_v2** -> List[ApdexConfiguration] get_all_apdex_configurations_v2(page_size=page_size, page=page, order_by=order_by, order_direction=order_direction, query=query, grouped=grouped, refresh=refresh, var_from=var_from, to=to, entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids) +> List[ApdexConfigWithRBACTag] get_all_apdex_configurations_v2(page_size=page_size, page=page, order_by=order_by, order_direction=order_direction, query=query, grouped=grouped, refresh=refresh, var_from=var_from, to=to, entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids, tag=tag, rbac_tags=rbac_tags) Get All Apdex Configurations @@ -565,7 +565,7 @@ API to Get All Apdex Configurations. ```python import instana_client -from instana_client.models.apdex_configuration import ApdexConfiguration +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag from instana_client.rest import ApiException from pprint import pprint @@ -599,13 +599,15 @@ with instana_client.ApiClient(configuration) as api_client: refresh = false # bool | (optional) var_from = 1705411200000 # int | (optional) to = 1705414800000 # int | (optional) - entity_type = 'APPLICATION' # str | (optional) + entity_type = ['APPLICATION'] # List[str] | (optional) entity_id = 'XIZGGVT1TX2O-0OFeT2Yig' # str | (optional) apdex_ids = ['APDWMaA2yKuSS6z50LR0-cGZA'] # List[str] | (optional) + tag = ['Testing'] # List[str] | (optional) + rbac_tags = ['team-123'] # List[str] | (optional) try: # Get All Apdex Configurations - api_response = api_instance.get_all_apdex_configurations_v2(page_size=page_size, page=page, order_by=order_by, order_direction=order_direction, query=query, grouped=grouped, refresh=refresh, var_from=var_from, to=to, entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids) + api_response = api_instance.get_all_apdex_configurations_v2(page_size=page_size, page=page, order_by=order_by, order_direction=order_direction, query=query, grouped=grouped, refresh=refresh, var_from=var_from, to=to, entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids, tag=tag, rbac_tags=rbac_tags) print("The response of ApdexSettingsApi->get_all_apdex_configurations_v2:\n") pprint(api_response) except Exception as e: @@ -628,13 +630,15 @@ Name | Type | Description | Notes **refresh** | **bool**| | [optional] **var_from** | **int**| | [optional] **to** | **int**| | [optional] - **entity_type** | **str**| | [optional] + **entity_type** | [**List[str]**](str.md)| | [optional] **entity_id** | **str**| | [optional] **apdex_ids** | [**List[str]**](str.md)| | [optional] + **tag** | [**List[str]**](str.md)| | [optional] + **rbac_tags** | [**List[str]**](str.md)| | [optional] ### Return type -[**List[ApdexConfiguration]**](ApdexConfiguration.md) +[**List[ApdexConfigWithRBACTag]**](ApdexConfigWithRBACTag.md) ### Authorization @@ -734,7 +738,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) # **get_apdex_configuration_v2** -> ApdexConfiguration get_apdex_configuration_v2(id) +> ApdexConfigWithRBACTag get_apdex_configuration_v2(id) Get Apdex Configuration @@ -746,7 +750,7 @@ API to Get Apdex Configuration for specified ID. ```python import instana_client -from instana_client.models.apdex_configuration import ApdexConfiguration +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag from instana_client.rest import ApiException from pprint import pprint @@ -793,7 +797,7 @@ Name | Type | Description | Notes ### Return type -[**ApdexConfiguration**](ApdexConfiguration.md) +[**ApdexConfigWithRBACTag**](ApdexConfigWithRBACTag.md) ### Authorization @@ -896,7 +900,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) # **update_apdex_config_v2** -> SLOConfigWithRBACTag update_apdex_config_v2(id, apdex_configuration) +> ApdexConfigWithRBACTag update_apdex_config_v2(id, apdex_configuration) Update an existing Apdex Config @@ -906,8 +910,8 @@ Update an existing Apdex Config ```python import instana_client +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag from instana_client.models.apdex_configuration import ApdexConfiguration -from instana_client.models.slo_config_with_rbac_tag import SLOConfigWithRBACTag from instana_client.rest import ApiException from pprint import pprint @@ -956,7 +960,7 @@ Name | Type | Description | Notes ### Return type -[**SLOConfigWithRBACTag**](SLOConfigWithRBACTag.md) +[**ApdexConfigWithRBACTag**](ApdexConfigWithRBACTag.md) ### Authorization @@ -971,7 +975,7 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Updated SLO Configuration Successfully | - | +**200** | Updated Apdex Configuration Successfully | - | **400** | Bad Request | - | [[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/ApiLogItem.md b/docs/ApiLogItem.md new file mode 100644 index 00000000..24b009f4 --- /dev/null +++ b/docs/ApiLogItem.md @@ -0,0 +1,58 @@ +# ApiLogItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aws_ecs_container_id** | **str** | | [optional] +**aws_ecs_container_name** | **str** | | [optional] +**containerd_container_id** | **str** | | [optional] +**crio_container_id** | **str** | | [optional] +**docker_container_id** | **str** | | [optional] +**docker_container_name** | **str** | | [optional] +**garden_container_id** | **str** | | [optional] +**kubernetes_cluster_name** | **str** | | [optional] +**kubernetes_container_name** | **str** | | [optional] +**kubernetes_deployment_name** | **str** | | [optional] +**kubernetes_namespace_name** | **str** | | [optional] +**kubernetes_node_name** | **str** | | [optional] +**kubernetes_pod_name** | **str** | | [optional] +**log_applications** | **List[str]** | | [optional] +**log_custom** | [**List[ApiLogTag]**](ApiLogTag.md) | | [optional] +**log_exception_message** | **str** | | [optional] +**log_exception_stack_trace** | **str** | | [optional] +**log_exception_type** | **str** | | [optional] +**log_expiration_ts_seconds** | **str** | | [optional] +**log_file_path** | **str** | | [optional] +**log_host_id** | **str** | | [optional] +**log_host_name** | **str** | | [optional] +**log_level** | **str** | | [optional] +**log_message** | **str** | | [optional] +**log_process_id** | **str** | | [optional] +**log_service_id** | **str** | | [optional] +**log_service_name** | **str** | | [optional] +**log_stream_name** | **str** | | [optional] +**log_timestamp** | **int** | | [optional] +**log_trace_id** | **str** | | [optional] + +## Example + +```python +from instana_client.models.api_log_item import ApiLogItem + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiLogItem from a JSON string +api_log_item_instance = ApiLogItem.from_json(json) +# print the JSON string representation of the object +print(ApiLogItem.to_json()) + +# convert the object into a dict +api_log_item_dict = api_log_item_instance.to_dict() +# create an instance of ApiLogItem from a dict +api_log_item_from_dict = ApiLogItem.from_dict(api_log_item_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/ApiLogTag.md b/docs/ApiLogTag.md new file mode 100644 index 00000000..669a42fe --- /dev/null +++ b/docs/ApiLogTag.md @@ -0,0 +1,31 @@ +# ApiLogTag + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | | [optional] +**name** | **str** | | [optional] +**value** | **object** | | [optional] + +## Example + +```python +from instana_client.models.api_log_tag import ApiLogTag + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiLogTag from a JSON string +api_log_tag_instance = ApiLogTag.from_json(json) +# print the JSON string representation of the object +print(ApiLogTag.to_json()) + +# convert the object into a dict +api_log_tag_dict = api_log_tag_instance.to_dict() +# create an instance of ApiLogTag from a dict +api_log_tag_from_dict = ApiLogTag.from_dict(api_log_tag_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/ApiPermissionSet.md b/docs/ApiPermissionSet.md index b0c9d406..6b12e6a6 100644 --- a/docs/ApiPermissionSet.md +++ b/docs/ApiPermissionSet.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **action_filter** | [**ScopeBinding**](ScopeBinding.md) | | [optional] +**apdex_ids** | [**List[ScopeBinding]**](ScopeBinding.md) | | **application_ids** | [**List[ScopeBinding]**](ScopeBinding.md) | | **business_perspective_ids** | [**List[ScopeBinding]**](ScopeBinding.md) | | **infra_dfq_filter** | [**ScopeBinding**](ScopeBinding.md) | | diff --git a/docs/ApiTeamScope.md b/docs/ApiTeamScope.md index 29b757f2..5485fff3 100644 --- a/docs/ApiTeamScope.md +++ b/docs/ApiTeamScope.md @@ -7,12 +7,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **access_permissions** | **List[str]** | | [optional] **action_filter** | **str** | | [optional] +**apdex_ids** | **List[str]** | | [optional] **applications** | **List[str]** | | [optional] **business_perspectives** | **List[str]** | | [optional] **infra_dfq_filter** | **str** | | [optional] **kubernetes_clusters** | **List[str]** | | [optional] **kubernetes_namespaces** | **List[str]** | | [optional] **log_filter** | **str** | | [optional] +**logging_perspectives** | **List[str]** | | [optional] **mobile_apps** | **List[str]** | | [optional] **restricted_application_filter** | [**ApiRestrictedApplicationFilter**](ApiRestrictedApplicationFilter.md) | | [optional] **slo_ids** | **List[str]** | | [optional] diff --git a/docs/ApiToken.md b/docs/ApiToken.md index 1245ab3f..a418f59e 100644 --- a/docs/ApiToken.md +++ b/docs/ApiToken.md @@ -6,11 +6,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **access_granting_token** | **str** | | +**can_collect_net_trace_logs** | **bool** | | [optional] **can_configure_agent_run_mode** | **bool** | | [optional] **can_configure_agents** | **bool** | | [optional] **can_configure_ai_agents** | **bool** | | [optional] **can_configure_apdex** | **bool** | | [optional] **can_configure_api_tokens** | **bool** | | [optional] +**can_configure_application_business_criticality** | **bool** | | [optional] **can_configure_application_smart_alerts** | **bool** | | [optional] **can_configure_applications** | **bool** | | [optional] **can_configure_authentication_methods** | **bool** | | [optional] @@ -21,6 +23,7 @@ Name | Type | Description | Notes **can_configure_database_management** | **bool** | | [optional] **can_configure_eum_applications** | **bool** | | [optional] **can_configure_events_and_alerts** | **bool** | | [optional] +**can_configure_gen_ai_evaluations** | **bool** | | [optional] **can_configure_global_alert_payload** | **bool** | | [optional] **can_configure_global_application_smart_alerts** | **bool** | | [optional] **can_configure_global_infra_smart_alerts** | **bool** | | [optional] @@ -32,9 +35,11 @@ Name | Type | Description | Notes **can_configure_llm_model_price** | **bool** | | [optional] **can_configure_log_management** | **bool** | | [optional] **can_configure_log_retention_period** | **bool** | | [optional] +**can_configure_logging_perspectives** | **bool** | | [optional] **can_configure_maintenance_windows** | **bool** | | [optional] **can_configure_mobile_app_monitoring** | **bool** | | [optional] **can_configure_mobile_app_smart_alerts** | **bool** | | [optional] +**can_configure_network_integrations** | **bool** | | [optional] **can_configure_personal_api_tokens** | **bool** | | [optional] **can_configure_personally_identifiable_information_masking** | **bool** | | [optional] **can_configure_releases** | **bool** | | [optional] @@ -91,6 +96,7 @@ Name | Type | Description | Notes **limited_infrastructure_scope** | **bool** | | [optional] **limited_kubernetes_scope** | **bool** | | [optional] **limited_linux_kvm_hypervisor_scope** | **bool** | | [optional] +**limited_logging_perspectives_scope** | **bool** | | [optional] **limited_logs_scope** | **bool** | | [optional] **limited_mobile_apps_scope** | **bool** | | [optional] **limited_nutanix_scope** | **bool** | | [optional] diff --git a/docs/Application.md b/docs/Application.md index 6918d010..cbdb7859 100644 --- a/docs/Application.md +++ b/docs/Application.md @@ -7,6 +7,7 @@ Returns a list of Application Perspectives. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **boundary_scope** | **str** | Here, `ALL` Application Boundary Scope is considered. | +**business_criticality** | **str** | Business criticality level of the application | [optional] **entity_type** | **str** | Since, this is an Application Perspective, it will be of type `APPLICATION`. | [optional] **id** | **str** | Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`. | **label** | **str** | Name of the Application Perspective. Eg: `app1`. | diff --git a/docs/ApplicationAlertConfigurationApi.md b/docs/ApplicationAlertConfigurationApi.md index 56d19053..e4633552 100644 --- a/docs/ApplicationAlertConfigurationApi.md +++ b/docs/ApplicationAlertConfigurationApi.md @@ -94,6 +94,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -172,6 +173,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -250,6 +252,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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/ApplicationAnalyzeApi.md b/docs/ApplicationAnalyzeApi.md index cb9117d1..300eba5e 100644 --- a/docs/ApplicationAnalyzeApi.md +++ b/docs/ApplicationAnalyzeApi.md @@ -7,6 +7,7 @@ Method | HTTP request | Description [**get_call_details**](ApplicationAnalyzeApi.md#get_call_details) | **GET** /api/application-monitoring/v2/analyze/traces/{traceId}/calls/{callId}/details | Get call detail [**get_call_group**](ApplicationAnalyzeApi.md#get_call_group) | **POST** /api/application-monitoring/analyze/call-groups | Get grouped call metrics [**get_correlated_traces**](ApplicationAnalyzeApi.md#get_correlated_traces) | **GET** /api/application-monitoring/analyze/backend-correlation | Resolve Trace IDs from Monitoring Beacons. +[**get_task_flows_by_root_id**](ApplicationAnalyzeApi.md#get_task_flows_by_root_id) | **GET** /api/genai-monitoring/analyze/tasks/{rootId} | Get task flow hierarchy by root ID (built in genai-analytics-reader) [**get_trace_download**](ApplicationAnalyzeApi.md#get_trace_download) | **GET** /api/application-monitoring/v2/analyze/traces/{id} | Get trace detail [**get_trace_groups**](ApplicationAnalyzeApi.md#get_trace_groups) | **POST** /api/application-monitoring/analyze/trace-groups | Get grouped trace metrics [**get_traces**](ApplicationAnalyzeApi.md#get_traces) | **POST** /api/application-monitoring/analyze/traces | Get all traces @@ -258,6 +259,82 @@ 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_task_flows_by_root_id** +> get_task_flows_by_root_id(root_id) + +Get task flow hierarchy by root ID (built in genai-analytics-reader) + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.ApplicationAnalyzeApi(api_client) + root_id = 'root_id_example' # str | + + try: + # Get task flow hierarchy by root ID (built in genai-analytics-reader) + api_instance.get_task_flows_by_root_id(root_id) + except Exception as e: + print("Exception when calling ApplicationAnalyzeApi->get_task_flows_by_root_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **root_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Task hierarchy retrieved successfully | - | +**404** | No task data found for the root ID | - | +**500** | Failed to retrieve task hierarchy | - | + +[[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_trace_download** > TraceDownloadResult get_trace_download(id, retrieval_size=retrieval_size, offset=offset, ingestion_time=ingestion_time) diff --git a/docs/ApplicationConfig.md b/docs/ApplicationConfig.md index b07dbb49..65631200 100644 --- a/docs/ApplicationConfig.md +++ b/docs/ApplicationConfig.md @@ -7,9 +7,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **access_rules** | [**List[AccessRule]**](AccessRule.md) | Defines permissions and access relationships. | **boundary_scope** | **str** | **INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective. **ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective. **DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`. At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`. It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`. | +**business_criticality** | **str** | Business criticality level of the application | +**created_at** | **int** | | [optional] +**created_by** | **str** | | [optional] **id** | **str** | Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`. | **label** | **str** | Name of the Application Perspective. Eg: `app1`. | **match_specification** | [**MatchExpressionDTO**](MatchExpressionDTO.md) | | [optional] +**modified_at** | **int** | | [optional] +**modified_by** | **str** | | [optional] **scope** | **str** | **INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set). This is useful when you treat the services as opaque. An example would be the services that represent 3rd party APIs. **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with. This is useful if you are want to monitor a set of services and their direct dependencies. For example, a development team responsible for several micro-services. **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services. This is useful if the AP will be used for troubleshooting. | **tag_filter_expression** | [**TagFilterExpressionElement**](TagFilterExpressionElement.md) | | [optional] diff --git a/docs/AvailabilityBlueprintIndicator.md b/docs/AvailabilityBlueprintIndicator.md index 9be79293..46b59889 100644 --- a/docs/AvailabilityBlueprintIndicator.md +++ b/docs/AvailabilityBlueprintIndicator.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric** | [**EntityMetric**](EntityMetric.md) | | [optional] **threshold** | **float** | Threshold Value for the Blueprint | [optional] ## Example diff --git a/docs/CreateEvaluationRequest.md b/docs/CreateEvaluationRequest.md new file mode 100644 index 00000000..65eb403c --- /dev/null +++ b/docs/CreateEvaluationRequest.md @@ -0,0 +1,38 @@ +# CreateEvaluationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | | [optional] +**evaluation_name** | **str** | | +**evaluator_ids** | **List[str]** | | +**metadata** | **Dict[str, object]** | | [optional] +**model_names** | **List[str]** | | [optional] +**sampling_percentage** | **float** | | [optional] +**service_names** | **List[str]** | | [optional] +**time_before_run_hours** | **int** | | [optional] +**time_before_run_minutes** | **int** | | [optional] +**trace_ids** | **List[str]** | | [optional] + +## Example + +```python +from instana_client.models.create_evaluation_request import CreateEvaluationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateEvaluationRequest from a JSON string +create_evaluation_request_instance = CreateEvaluationRequest.from_json(json) +# print the JSON string representation of the object +print(CreateEvaluationRequest.to_json()) + +# convert the object into a dict +create_evaluation_request_dict = create_evaluation_request_instance.to_dict() +# create an instance of CreateEvaluationRequest from a dict +create_evaluation_request_from_dict = CreateEvaluationRequest.from_dict(create_evaluation_request_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/CreateEvaluationResponse.md b/docs/CreateEvaluationResponse.md new file mode 100644 index 00000000..ad364f36 --- /dev/null +++ b/docs/CreateEvaluationResponse.md @@ -0,0 +1,30 @@ +# CreateEvaluationResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**evaluation_id** | **str** | | [optional] +**message** | **str** | | [optional] + +## Example + +```python +from instana_client.models.create_evaluation_response import CreateEvaluationResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateEvaluationResponse from a JSON string +create_evaluation_response_instance = CreateEvaluationResponse.from_json(json) +# print the JSON string representation of the object +print(CreateEvaluationResponse.to_json()) + +# convert the object into a dict +create_evaluation_response_dict = create_evaluation_response_instance.to_dict() +# create an instance of CreateEvaluationResponse from a dict +create_evaluation_response_from_dict = CreateEvaluationResponse.from_dict(create_evaluation_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/CustomEventMobileAppAlertRule.md b/docs/CustomEventMobileAppAlertRule.md index 7d135225..ff3b608c 100644 --- a/docs/CustomEventMobileAppAlertRule.md +++ b/docs/CustomEventMobileAppAlertRule.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **custom_event_name** | **str** | | +**metric_name** | **str** | | ## Example diff --git a/docs/CustomEventWebsiteAlertRule.md b/docs/CustomEventWebsiteAlertRule.md index b5ed9faa..e4b5347c 100644 --- a/docs/CustomEventWebsiteAlertRule.md +++ b/docs/CustomEventWebsiteAlertRule.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **custom_event_name** | **str** | | +**metric_name** | **str** | | ## Example diff --git a/docs/CustomerEmail.md b/docs/CustomerEmail.md new file mode 100644 index 00000000..9a6c1117 --- /dev/null +++ b/docs/CustomerEmail.md @@ -0,0 +1,30 @@ +# CustomerEmail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_email** | **str** | | [optional] +**email** | **str** | | [optional] + +## Example + +```python +from instana_client.models.customer_email import CustomerEmail + +# TODO update the JSON string below +json = "{}" +# create an instance of CustomerEmail from a JSON string +customer_email_instance = CustomerEmail.from_json(json) +# print the JSON string representation of the object +print(CustomerEmail.to_json()) + +# convert the object into a dict +customer_email_dict = customer_email_instance.to_dict() +# create an instance of CustomerEmail from a dict +customer_email_from_dict = CustomerEmail.from_dict(customer_email_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/DefaultApi.md b/docs/DefaultApi.md index 524aef69..95cf2866 100644 --- a/docs/DefaultApi.md +++ b/docs/DefaultApi.md @@ -4,16 +4,1272 @@ All URIs are relative to *https://unit-tenant.instana.io* Method | HTTP request | Description ------------- | ------------- | ------------- +[**delete**](DefaultApi.md#delete) | **DELETE** /api/filters/{id} | +[**delete_trace_sampling_config**](DefaultApi.md#delete_trace_sampling_config) | **DELETE** /api/settings/trace-sampling | Delete trace sampling configuration +[**encrypt**](DefaultApi.md#encrypt) | **POST** /api/encrypt | +[**get**](DefaultApi.md#get) | **GET** /api/filters | +[**get1**](DefaultApi.md#get1) | **GET** /api/license | +[**get2**](DefaultApi.md#get2) | **GET** /api/tos-privacy-agreement/checkUserAcceptance | +[**get3**](DefaultApi.md#get3) | **GET** /api/user-settings | [**get_internal_custom_dashboards**](DefaultApi.md#get_internal_custom_dashboards) | **GET** /api/internal/custom-dashboard | [**get_internal_dashboard**](DefaultApi.md#get_internal_dashboard) | **GET** /api/internal/custom-dashboard/{dashboardId} | +[**get_latest_tos_privacy_agreement**](DefaultApi.md#get_latest_tos_privacy_agreement) | **GET** /api/tos-privacy-agreement/latest | +[**get_merged_user_permissions**](DefaultApi.md#get_merged_user_permissions) | **GET** /api/settings/users/{userId}/mergedPermissions | +[**get_trace_sampling_config**](DefaultApi.md#get_trace_sampling_config) | **GET** /api/settings/trace-sampling | Get trace sampling configuration +[**get_two_factor_credentials**](DefaultApi.md#get_two_factor_credentials) | **GET** /api/settings/authentication/2fa/credentials | +[**get_ui_settings**](DefaultApi.md#get_ui_settings) | **GET** /api/ui/settings | +[**get_user_permissions**](DefaultApi.md#get_user_permissions) | **GET** /api/permissions | +[**get_user_permissions_by_id**](DefaultApi.md#get_user_permissions_by_id) | **GET** /api/permissions/{userId} | +[**post**](DefaultApi.md#post) | **POST** /api/filters | +[**post_change_password**](DefaultApi.md#post_change_password) | **POST** /api/settings/authentication/changePassword | +[**put**](DefaultApi.md#put) | **PUT** /api/filters/{id} | +[**put1**](DefaultApi.md#put1) | **PUT** /api/user-settings | +[**put_ui_setting**](DefaultApi.md#put_ui_setting) | **PUT** /api/ui/settings/{setting} | +[**put_ui_settings**](DefaultApi.md#put_ui_settings) | **PUT** /api/ui/settings | +[**toggle2_fa**](DefaultApi.md#toggle2_fa) | **POST** /api/settings/authentication/2fa/toggle | +[**toggle2_fa1**](DefaultApi.md#toggle2_fa1) | **POST** /api/settings/authentication/2fa/verify/{token} | +[**tos_privacy_agreement**](DefaultApi.md#tos_privacy_agreement) | **POST** /api/tos-privacy-agreement | +[**update_trace_sampling_config**](DefaultApi.md#update_trace_sampling_config) | **PUT** /api/settings/trace-sampling | Update trace sampling configuration +# **delete** +> delete(id) + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + id = 'id_example' # str | + + try: + api_instance.delete(id) + except Exception as e: + print("Exception when calling DefaultApi->delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_trace_sampling_config** +> delete_trace_sampling_config() + +Delete trace sampling configuration + +Deletes the trace sampling configuration for the current tenant + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + # Delete trace sampling configuration + api_instance.delete_trace_sampling_config() + except Exception as e: + print("Exception when calling DefaultApi->delete_trace_sampling_config: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Trace sampling configuration deleted successfully | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Insufficient permissions or limited in access. | - | +**500** | Internal server 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) + +# **encrypt** +> str encrypt(customer_email=customer_email) + +### Example + + +```python +import instana_client +from instana_client.models.customer_email import CustomerEmail +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + customer_email = instana_client.CustomerEmail() # CustomerEmail | (optional) + + try: + api_response = api_instance.encrypt(customer_email=customer_email) + print("The response of DefaultApi->encrypt:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DefaultApi->encrypt: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **customer_email** | [**CustomerEmail**](CustomerEmail.md)| | [optional] + +### Return type + +**str** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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** +> get() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get() + except Exception as e: + print("Exception when calling DefaultApi->get: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **get1** +> get1() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get1() + except Exception as e: + print("Exception when calling DefaultApi->get1: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **get2** +> bool get2() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_response = api_instance.get2() + print("The response of DefaultApi->get2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DefaultApi->get2: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +**bool** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **get3** +> get3() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get3() + except Exception as e: + print("Exception when calling DefaultApi->get3: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_internal_custom_dashboards** > get_internal_custom_dashboards(query=query, page_size=page_size, page=page, with_total_hits=with_total_hits) ### Example -* Api Key Authentication (ApiKeyAuth): +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + query = 'BeeInstana' # str | query (optional) + page_size = 2 # int | pageSize (optional) + page = 1 # int | page (optional) + with_total_hits = false # bool | withTotalHits (optional) + + try: + api_instance.get_internal_custom_dashboards(query=query, page_size=page_size, page=page, with_total_hits=with_total_hits) + except Exception as e: + print("Exception when calling DefaultApi->get_internal_custom_dashboards: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **query** | **str**| query | [optional] + **page_size** | **int**| pageSize | [optional] + **page** | **int**| page | [optional] + **with_total_hits** | **bool**| withTotalHits | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_internal_dashboard** +> get_internal_dashboard(dashboard_id) + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + dashboard_id = 'dashboard_id_example' # str | + + try: + api_instance.get_internal_dashboard(dashboard_id) + except Exception as e: + print("Exception when calling DefaultApi->get_internal_dashboard: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dashboard_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_latest_tos_privacy_agreement** +> get_latest_tos_privacy_agreement() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get_latest_tos_privacy_agreement() + except Exception as e: + print("Exception when calling DefaultApi->get_latest_tos_privacy_agreement: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_merged_user_permissions** +> get_merged_user_permissions(user_id) + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + user_id = 'user_id_example' # str | + + try: + api_instance.get_merged_user_permissions(user_id) + except Exception as e: + print("Exception when calling DefaultApi->get_merged_user_permissions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_trace_sampling_config** +> TraceSamplingConfig get_trace_sampling_config() + +Get trace sampling configuration + +Retrieves the trace sampling configuration for the current tenant + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.trace_sampling_config import TraceSamplingConfig +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + # Get trace sampling configuration + api_response = api_instance.get_trace_sampling_config() + print("The response of DefaultApi->get_trace_sampling_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DefaultApi->get_trace_sampling_config: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**TraceSamplingConfig**](TraceSamplingConfig.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Trace sampling configuration retrieved successfully | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Insufficient permissions or limited in access. | - | +**500** | Internal server 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_two_factor_credentials** +> get_two_factor_credentials() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get_two_factor_credentials() + except Exception as e: + print("Exception when calling DefaultApi->get_two_factor_credentials: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_ui_settings** +> get_ui_settings() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get_ui_settings() + except Exception as e: + print("Exception when calling DefaultApi->get_ui_settings: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_user_permissions** +> get_user_permissions() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.get_user_permissions() + except Exception as e: + print("Exception when calling DefaultApi->get_user_permissions: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_user_permissions_by_id** +> get_user_permissions_by_id(user_id) + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + user_id = 'user_id_example' # str | + + try: + api_instance.get_user_permissions_by_id(user_id) + except Exception as e: + print("Exception when calling DefaultApi->get_user_permissions_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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** +> post() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.post() + except Exception as e: + print("Exception when calling DefaultApi->post: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_change_password** +> post_change_password() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.post_change_password() + except Exception as e: + print("Exception when calling DefaultApi->post_change_password: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **put** +> put(id) + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + id = 'id_example' # str | + + try: + api_instance.put(id) + except Exception as e: + print("Exception when calling DefaultApi->put: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **put1** +> put1() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.put1() + except Exception as e: + print("Exception when calling DefaultApi->put1: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **put_ui_setting** +> put_ui_setting(setting) + +### Example + ```python import instana_client @@ -26,30 +1282,189 @@ configuration = instana_client.Configuration( host = "https://unit-tenant.instana.io" ) -# 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. -# Configure API key authorization: ApiKeyAuth -configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + setting = 'setting_example' # str | + + try: + api_instance.put_ui_setting(setting) + except Exception as e: + print("Exception when calling DefaultApi->put_ui_setting: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **setting** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **put_ui_settings** +> put_ui_settings() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' # Enter a context with an instance of the API client with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.DefaultApi(api_client) - query = 'BeeInstana' # str | query (optional) - page_size = 2 # int | pageSize (optional) - page = 1 # int | page (optional) - with_total_hits = false # bool | withTotalHits (optional) try: - api_instance.get_internal_custom_dashboards(query=query, page_size=page_size, page=page, with_total_hits=with_total_hits) + api_instance.put_ui_settings() except Exception as e: - print("Exception when calling DefaultApi->get_internal_custom_dashboards: %s\n" % e) + print("Exception when calling DefaultApi->put_ui_settings: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **toggle2_fa** +> toggle2_fa() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.toggle2_fa() + except Exception as e: + print("Exception when calling DefaultApi->toggle2_fa: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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) + +# **toggle2_fa1** +> toggle2_fa1(token) + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + token = 56 # int | + + try: + api_instance.toggle2_fa1(token) + except Exception as e: + print("Exception when calling DefaultApi->toggle2_fa1: %s\n" % e) ``` @@ -59,10 +1474,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **query** | **str**| query | [optional] - **page_size** | **int**| pageSize | [optional] - **page** | **int**| page | [optional] - **with_total_hits** | **bool**| withTotalHits | [optional] + **token** | **int**| | ### Return type @@ -70,7 +1482,7 @@ void (empty response body) ### Authorization -[ApiKeyAuth](../README.md#ApiKeyAuth) +No authorization required ### HTTP request headers @@ -85,8 +1497,68 @@ void (empty response body) [[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_internal_dashboard** -> get_internal_dashboard(dashboard_id) +# **tos_privacy_agreement** +> tos_privacy_agreement() + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.DefaultApi(api_client) + + try: + api_instance.tos_privacy_agreement() + except Exception as e: + print("Exception when calling DefaultApi->tos_privacy_agreement: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**0** | default response | - | + +[[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_trace_sampling_config** +> TraceSamplingConfig update_trace_sampling_config(trace_sampling_config) + +Update trace sampling configuration + +Creates or updates the trace sampling configuration for the current tenant ### Example @@ -94,6 +1566,7 @@ void (empty response body) ```python import instana_client +from instana_client.models.trace_sampling_config import TraceSamplingConfig from instana_client.rest import ApiException from pprint import pprint @@ -118,12 +1591,15 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.DefaultApi(api_client) - dashboard_id = 'dashboard_id_example' # str | + trace_sampling_config = instana_client.TraceSamplingConfig() # TraceSamplingConfig | Trace sampling configuration try: - api_instance.get_internal_dashboard(dashboard_id) + # Update trace sampling configuration + api_response = api_instance.update_trace_sampling_config(trace_sampling_config) + print("The response of DefaultApi->update_trace_sampling_config:\n") + pprint(api_response) except Exception as e: - print("Exception when calling DefaultApi->get_internal_dashboard: %s\n" % e) + print("Exception when calling DefaultApi->update_trace_sampling_config: %s\n" % e) ``` @@ -133,11 +1609,11 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **dashboard_id** | **str**| | + **trace_sampling_config** | [**TraceSamplingConfig**](TraceSamplingConfig.md)| Trace sampling configuration | ### Return type -void (empty response body) +[**TraceSamplingConfig**](TraceSamplingConfig.md) ### Authorization @@ -145,14 +1621,17 @@ void (empty response body) ### HTTP request headers - - **Content-Type**: Not defined + - **Content-Type**: application/json - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**0** | default response | - | +**200** | Trace sampling configuration updated successfully | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Insufficient permissions or limited in access. | - | +**500** | Internal server 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/EmailIntegration.md b/docs/EmailIntegration.md index f37957f6..258a26e0 100644 --- a/docs/EmailIntegration.md +++ b/docs/EmailIntegration.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **custom_email_subject_prefix** | [**CustomEmailSubjectPrefix**](CustomEmailSubjectPrefix.md) | | [optional] **emails** | **List[str]** | | +**transformation_expression** | **str** | | [optional] ## Example diff --git a/docs/EntityMetric.md b/docs/EntityMetric.md new file mode 100644 index 00000000..5fc41ecf --- /dev/null +++ b/docs/EntityMetric.md @@ -0,0 +1,30 @@ +# EntityMetric + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Name of the Entity Metric | +**scope** | [**EntityMetricScope**](EntityMetricScope.md) | | [optional] + +## Example + +```python +from instana_client.models.entity_metric import EntityMetric + +# TODO update the JSON string below +json = "{}" +# create an instance of EntityMetric from a JSON string +entity_metric_instance = EntityMetric.from_json(json) +# print the JSON string representation of the object +print(EntityMetric.to_json()) + +# convert the object into a dict +entity_metric_dict = entity_metric_instance.to_dict() +# create an instance of EntityMetric from a dict +entity_metric_from_dict = EntityMetric.from_dict(entity_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/EntityMetricScope.md b/docs/EntityMetricScope.md new file mode 100644 index 00000000..bca12c3d --- /dev/null +++ b/docs/EntityMetricScope.md @@ -0,0 +1,30 @@ +# EntityMetricScope + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tag_filter_expression** | [**TagFilterExpressionElement**](TagFilterExpressionElement.md) | | [optional] +**type** | **str** | Type of the Entity Metric. Eg. For Mobile App SLO it would be any of the supported beaconTypes | + +## Example + +```python +from instana_client.models.entity_metric_scope import EntityMetricScope + +# TODO update the JSON string below +json = "{}" +# create an instance of EntityMetricScope from a JSON string +entity_metric_scope_instance = EntityMetricScope.from_json(json) +# print the JSON string representation of the object +print(EntityMetricScope.to_json()) + +# convert the object into a dict +entity_metric_scope_dict = entity_metric_scope_instance.to_dict() +# create an instance of EntityMetricScope from a dict +entity_metric_scope_from_dict = EntityMetricScope.from_dict(entity_metric_scope_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/ErrorsApplicationAlertRule.md b/docs/ErrorsApplicationAlertRule.md index 83312a95..4ad8feee 100644 --- a/docs/ErrorsApplicationAlertRule.md +++ b/docs/ErrorsApplicationAlertRule.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric_name** | **str** | | ## Example diff --git a/docs/EvaluationDetailResponse.md b/docs/EvaluationDetailResponse.md new file mode 100644 index 00000000..c27168d3 --- /dev/null +++ b/docs/EvaluationDetailResponse.md @@ -0,0 +1,42 @@ +# EvaluationDetailResponse + +Detailed evaluation information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_id** | **str** | Client identifier | [optional] +**created_at** | **int** | Creation timestamp (milliseconds since epoch) | [optional] +**created_by** | **str** | User who created the evaluation | [optional] +**description** | **str** | Description of the evaluation | [optional] +**evaluation_id** | **str** | Unique identifier for the evaluation | [optional] +**evaluation_name** | **str** | Human-readable name for the evaluation | [optional] +**evaluator_ids** | **List[str]** | List of evaluator IDs to be used | [optional] +**model_names** | **List[str]** | List of model names to filter traces | [optional] +**sampling_percentage** | **float** | Percentage of traces to sample | [optional] +**service_names** | **List[str]** | List of service names to filter traces | [optional] +**time_before_run_hours** | **int** | Hours before run to include traces | [optional] +**time_before_run_minutes** | **int** | Minutes before run to include traces | [optional] +**trace_ids** | **List[str]** | List of trace IDs to evaluate | [optional] + +## Example + +```python +from instana_client.models.evaluation_detail_response import EvaluationDetailResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of EvaluationDetailResponse from a JSON string +evaluation_detail_response_instance = EvaluationDetailResponse.from_json(json) +# print the JSON string representation of the object +print(EvaluationDetailResponse.to_json()) + +# convert the object into a dict +evaluation_detail_response_dict = evaluation_detail_response_instance.to_dict() +# create an instance of EvaluationDetailResponse from a dict +evaluation_detail_response_from_dict = EvaluationDetailResponse.from_dict(evaluation_detail_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/EvaluationListItem.md b/docs/EvaluationListItem.md new file mode 100644 index 00000000..1ba1ec47 --- /dev/null +++ b/docs/EvaluationListItem.md @@ -0,0 +1,42 @@ +# EvaluationListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**duration_mean_ms** | **float** | | [optional] +**evaluation_id** | **str** | | [optional] +**evaluator_names** | **List[str]** | | [optional] +**evaluators** | **List[str]** | | [optional] +**last_run_start** | **int** | | [optional] +**metadata** | **str** | | [optional] +**model_names** | **List[str]** | | [optional] +**name** | **str** | | [optional] +**number_of_runs** | **int** | | [optional] +**sampling_percentage** | **float** | | [optional] +**service_names** | **List[str]** | | [optional] +**time_before_run_hours** | **int** | | [optional] +**time_before_run_minutes** | **int** | | [optional] +**trace_ids** | **List[str]** | | [optional] + +## Example + +```python +from instana_client.models.evaluation_list_item import EvaluationListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of EvaluationListItem from a JSON string +evaluation_list_item_instance = EvaluationListItem.from_json(json) +# print the JSON string representation of the object +print(EvaluationListItem.to_json()) + +# convert the object into a dict +evaluation_list_item_dict = evaluation_list_item_instance.to_dict() +# create an instance of EvaluationListItem from a dict +evaluation_list_item_from_dict = EvaluationListItem.from_dict(evaluation_list_item_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/EvaluationListResponse.md b/docs/EvaluationListResponse.md new file mode 100644 index 00000000..901067ca --- /dev/null +++ b/docs/EvaluationListResponse.md @@ -0,0 +1,30 @@ +# EvaluationListResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**evaluations** | [**List[EvaluationListItem]**](EvaluationListItem.md) | | [optional] +**total** | **int** | | [optional] + +## Example + +```python +from instana_client.models.evaluation_list_response import EvaluationListResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of EvaluationListResponse from a JSON string +evaluation_list_response_instance = EvaluationListResponse.from_json(json) +# print the JSON string representation of the object +print(EvaluationListResponse.to_json()) + +# convert the object into a dict +evaluation_list_response_dict = evaluation_list_response_instance.to_dict() +# create an instance of EvaluationListResponse from a dict +evaluation_list_response_from_dict = EvaluationListResponse.from_dict(evaluation_list_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/Evaluator.md b/docs/Evaluator.md new file mode 100644 index 00000000..a0ca72e8 --- /dev/null +++ b/docs/Evaluator.md @@ -0,0 +1,36 @@ +# Evaluator + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**criteria** | **str** | | +**evaluator_id** | **str** | | [optional] +**evaluator_name** | **str** | | +**is_built_in** | **bool** | | [optional] +**mean_score** | **float** | | [optional] +**number_of_runs** | **int** | | [optional] +**pass_rate_mean** | **float** | | [optional] +**threshold** | **float** | | + +## Example + +```python +from instana_client.models.evaluator import Evaluator + +# TODO update the JSON string below +json = "{}" +# create an instance of Evaluator from a JSON string +evaluator_instance = Evaluator.from_json(json) +# print the JSON string representation of the object +print(Evaluator.to_json()) + +# convert the object into a dict +evaluator_dict = evaluator_instance.to_dict() +# create an instance of Evaluator from a dict +evaluator_from_dict = Evaluator.from_dict(evaluator_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/EventResult.md b/docs/EventResult.md index 96d05a89..2c7d1a1f 100644 --- a/docs/EventResult.md +++ b/docs/EventResult.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**aggregated** | **bool** | Whether this event is aggregated across multiple entities. | [optional] **detail** | **str** | Details of the event. | [optional] **end** | **int** | A Unix timestamp representing the end time of the Event. | [optional] **entity_label** | **str** | The label of the affected entity of the event. | [optional] diff --git a/docs/EventSettingsApi.md b/docs/EventSettingsApi.md index ff930fc2..ba388ded 100644 --- a/docs/EventSettingsApi.md +++ b/docs/EventSettingsApi.md @@ -227,6 +227,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -305,6 +306,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -463,6 +465,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -541,6 +544,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -699,6 +703,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -777,6 +782,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -819,7 +825,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventSettingsApi(api_client) - mobile_app_alert_config = {"name":"HTTP Status Code(s): 5XX","description":"Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.","mobileAppId":"tk2OLeusR3aQJD5h-rBh2A","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"statusCode","metricName":"httpxxx","operator":"STARTS_WITH","value":"5","aggregation":"SUM"},"threshold":{"type":"staticThreshold","operator":">=","value":5.0,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[]} # MobileAppAlertConfig | + mobile_app_alert_config = {"name":"HTTP Status Code(s): 5XX","description":"Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.","mobileAppId":"tk2OLeusR3aQJD5h-rBh2A","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"statusCode","metricName":"httpxxx","operator":"STARTS_WITH","value":"5","aggregation":"SUM"},"threshold":{"type":"staticThreshold","operator":">=","value":5,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[]} # MobileAppAlertConfig | try: # Create Mobile Smart Alert Config @@ -902,7 +908,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventSettingsApi(api_client) - website_alert_config = {"name":"onLoad Time (90th) is too high","description":"The onLoad Time (90th) is above the expectation.","websiteId":"XIZGGVT1TX2O-0OFeT2Yig","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"slowness","metricName":"onLoadTime","aggregation":"P90"},"threshold":{"type":"historicBaseline","operator":">=","seasonality":"DAILY","baseline":[[0,239.164,6.1026],[600000,240.0013,7.4109],[85200000,241.3653,3],[85800000,239.4759,3.9012]],"deviationFactor":3.0,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[{"type":"staticString","key":"1","value":"2"},{"type":"dynamic","key":"2","value":{"tagName":"beacon.website.name","key":null}}]} # WebsiteAlertConfig | + website_alert_config = {"name":"onLoad Time (90th) is too high","description":"The onLoad Time (90th) is above the expectation.","websiteId":"XIZGGVT1TX2O-0OFeT2Yig","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"slowness","metricName":"onLoadTime","aggregation":"P90"},"threshold":{"type":"historicBaseline","operator":">=","seasonality":"DAILY","baseline":[[0,239.164,6.1026],[600000,240.0013,7.4109],[85200000,241.3653,3],[85800000,239.4759,3.9012]],"deviationFactor":3,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[{"type":"staticString","key":"1","value":"2"},{"type":"dynamic","key":"2","value":{"tagName":"beacon.website.name","key":null}}]} # WebsiteAlertConfig | try: # Create Website Smart Alert Config @@ -3536,7 +3542,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventSettingsApi(api_client) - context = ALL # str | (optional) (default to ALL) + context = 'ALL' # str | (optional) (default to 'ALL') owner_type = 'owner_type_example' # str | (optional) try: @@ -3555,7 +3561,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **context** | **str**| | [optional] [default to ALL] + **context** | **str**| | [optional] [default to 'ALL'] **owner_type** | **str**| | [optional] ### Return type @@ -4839,7 +4845,7 @@ with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventSettingsApi(api_client) id = 'qOW5jlR5TQafXKWDIceRkA' # str | ID of a specific Mobile Smart Alert Configuration to update. - mobile_app_alert_config = {"name":"HTTP Status Code(s): 5XX","description":"Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.","mobileAppId":"tk2OLeusR3aQJD5h-rBh2A","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"statusCode","metricName":"httpxxx","operator":"STARTS_WITH","value":"5","aggregation":"SUM"},"threshold":{"type":"staticThreshold","operator":">=","value":5.0,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[]} # MobileAppAlertConfig | + mobile_app_alert_config = {"name":"HTTP Status Code(s): 5XX","description":"Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.","mobileAppId":"tk2OLeusR3aQJD5h-rBh2A","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"statusCode","metricName":"httpxxx","operator":"STARTS_WITH","value":"5","aggregation":"SUM"},"threshold":{"type":"staticThreshold","operator":">=","value":5,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[]} # MobileAppAlertConfig | try: # Update Mobile Smart Alert Config @@ -5091,7 +5097,7 @@ with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventSettingsApi(api_client) id = 'G-h5p0znTHan2m2U3c-Z1Q' # str | ID of a specific Website Smart Alert Configuration to update. - website_alert_config = {"name":"onLoad Time (90th) is too high","description":"The onLoad Time (90th) is above the expectation.","websiteId":"XIZGGVT1TX2O-0OFeT2Yig","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"slowness","metricName":"onLoadTime","aggregation":"P90"},"threshold":{"type":"historicBaseline","operator":">=","seasonality":"DAILY","baseline":[[0,239.164,6.1026],[600000,240.0013,7.4109],[85200000,241.3653,3],[85800000,239.4759,3.9012]],"deviationFactor":3.0,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[{"type":"staticString","key":"1","value":"2"},{"type":"dynamic","key":"2","value":{"tagName":"beacon.website.name","key":null}}]} # WebsiteAlertConfig | + website_alert_config = {"name":"onLoad Time (90th) is too high","description":"The onLoad Time (90th) is above the expectation.","websiteId":"XIZGGVT1TX2O-0OFeT2Yig","severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"rule":{"alertType":"slowness","metricName":"onLoadTime","aggregation":"P90"},"threshold":{"type":"historicBaseline","operator":">=","seasonality":"DAILY","baseline":[[0,239.164,6.1026],[600000,240.0013,7.4109],[85200000,241.3653,3],[85800000,239.4759,3.9012]],"deviationFactor":3,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"customPayloadFields":[{"type":"staticString","key":"1","value":"2"},{"type":"dynamic","key":"2","value":{"tagName":"beacon.website.name","key":null}}]} # WebsiteAlertConfig | try: # Update Website Smart Alert Config diff --git a/docs/EventsApi.md b/docs/EventsApi.md index 4457389c..81661bba 100644 --- a/docs/EventsApi.md +++ b/docs/EventsApi.md @@ -343,7 +343,7 @@ void (empty response body) [[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_event** -> EventResult get_event(event_id) +> EventResult get_event(event_id, include_metadata=include_metadata) Get Event @@ -381,10 +381,11 @@ with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventsApi(api_client) event_id = 'LZOGo1lXR4WeCB2ftgtGGQ' # str | ID of a specific Event to retrieve. + include_metadata = true # bool | Option to include event metadata (optional) try: # Get Event - api_response = api_instance.get_event(event_id) + api_response = api_instance.get_event(event_id, include_metadata=include_metadata) print("The response of EventsApi->get_event:\n") pprint(api_response) except Exception as e: @@ -399,6 +400,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **event_id** | **str**| ID of a specific Event to retrieve. | + **include_metadata** | **bool**| Option to include event metadata | [optional] ### Return type @@ -423,7 +425,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) # **get_events** -> List[EventResult] get_events(to=to, window_size=window_size, var_from=var_from, filter_event_updates=filter_event_updates, exclude_triggered_before=exclude_triggered_before, include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters) +> List[EventResult] get_events(to=to, window_size=window_size, var_from=var_from, filter_event_updates=filter_event_updates, exclude_triggered_before=exclude_triggered_before, include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters, include_metadata=include_metadata) Get all Events @@ -468,10 +470,11 @@ with instana_client.ApiClient(configuration) as api_client: include_agent_monitoring_issues = true # bool | Flag to filter the results to include Agent Monitoring Issues. (optional) include_kubernetes_info_events = true # bool | Flag to filter the results to include Kubernetes Info Events. (optional) event_type_filters = ['INCIDENT'] # List[str] | A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters. (optional) + include_metadata = true # bool | Option to include event metadata (optional) try: # Get all Events - api_response = api_instance.get_events(to=to, window_size=window_size, var_from=var_from, filter_event_updates=filter_event_updates, exclude_triggered_before=exclude_triggered_before, include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters) + api_response = api_instance.get_events(to=to, window_size=window_size, var_from=var_from, filter_event_updates=filter_event_updates, exclude_triggered_before=exclude_triggered_before, include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters, include_metadata=include_metadata) print("The response of EventsApi->get_events:\n") pprint(api_response) except Exception as e: @@ -493,6 +496,7 @@ Name | Type | Description | Notes **include_agent_monitoring_issues** | **bool**| Flag to filter the results to include Agent Monitoring Issues. | [optional] **include_kubernetes_info_events** | **bool**| Flag to filter the results to include Kubernetes Info Events. | [optional] **event_type_filters** | [**List[str]**](str.md)| A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters. | [optional] + **include_metadata** | **bool**| Option to include event metadata | [optional] ### Return type @@ -517,7 +521,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) # **get_events_by_ids** -> List[EventResult] get_events_by_ids(request_body) +> List[EventResult] get_events_by_ids(request_body, include_metadata=include_metadata) Get Events by IDs @@ -555,10 +559,11 @@ with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.EventsApi(api_client) request_body = ["VOMNl0OgRv2HXlsR0iUYGg","h66yezD9Sfi5YNh_cmeG7Q"] # List[str] | + include_metadata = true # bool | Option to include event metadata (optional) try: # Get Events by IDs - api_response = api_instance.get_events_by_ids(request_body) + api_response = api_instance.get_events_by_ids(request_body, include_metadata=include_metadata) print("The response of EventsApi->get_events_by_ids:\n") pprint(api_response) except Exception as e: @@ -573,6 +578,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **request_body** | [**List[str]**](str.md)| | + **include_metadata** | **bool**| Option to include event metadata | [optional] ### Return type diff --git a/docs/FilterInterface.md b/docs/FilterInterface.md new file mode 100644 index 00000000..fb5f9cb3 --- /dev/null +++ b/docs/FilterInterface.md @@ -0,0 +1,30 @@ +# FilterInterface + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**rbac_restrictions** | [**RbacRestrictions**](RbacRestrictions.md) | | [optional] +**time_config** | [**TimeConfig**](TimeConfig.md) | | [optional] + +## Example + +```python +from instana_client.models.filter_interface import FilterInterface + +# TODO update the JSON string below +json = "{}" +# create an instance of FilterInterface from a JSON string +filter_interface_instance = FilterInterface.from_json(json) +# print the JSON string representation of the object +print(FilterInterface.to_json()) + +# convert the object into a dict +filter_interface_dict = filter_interface_instance.to_dict() +# create an instance of FilterInterface from a dict +filter_interface_from_dict = FilterInterface.from_dict(filter_interface_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/FleetConfiguration.md b/docs/FleetConfiguration.md new file mode 100644 index 00000000..6efec229 --- /dev/null +++ b/docs/FleetConfiguration.md @@ -0,0 +1,35 @@ +# FleetConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**configuration** | **object** | | +**configuration_id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**name** | **str** | | +**type** | **str** | | +**updated_at** | **datetime** | | [optional] +**version** | **str** | | + +## Example + +```python +from instana_client.models.fleet_configuration import FleetConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetConfiguration from a JSON string +fleet_configuration_instance = FleetConfiguration.from_json(json) +# print the JSON string representation of the object +print(FleetConfiguration.to_json()) + +# convert the object into a dict +fleet_configuration_dict = fleet_configuration_instance.to_dict() +# create an instance of FleetConfiguration from a dict +fleet_configuration_from_dict = FleetConfiguration.from_dict(fleet_configuration_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/FleetConfigurationAssignment.md b/docs/FleetConfigurationAssignment.md new file mode 100644 index 00000000..415c1b41 --- /dev/null +++ b/docs/FleetConfigurationAssignment.md @@ -0,0 +1,36 @@ +# FleetConfigurationAssignment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_host** | **str** | | +**agent_host_id** | **str** | | +**agent_name** | **str** | | [optional] +**agent_type** | **str** | | +**assignment_id** | **str** | | [optional] +**configuration_id** | **str** | | +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] + +## Example + +```python +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetConfigurationAssignment from a JSON string +fleet_configuration_assignment_instance = FleetConfigurationAssignment.from_json(json) +# print the JSON string representation of the object +print(FleetConfigurationAssignment.to_json()) + +# convert the object into a dict +fleet_configuration_assignment_dict = fleet_configuration_assignment_instance.to_dict() +# create an instance of FleetConfigurationAssignment from a dict +fleet_configuration_assignment_from_dict = FleetConfigurationAssignment.from_dict(fleet_configuration_assignment_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/FleetConfigurationAssignmentResponse.md b/docs/FleetConfigurationAssignmentResponse.md new file mode 100644 index 00000000..953e8a44 --- /dev/null +++ b/docs/FleetConfigurationAssignmentResponse.md @@ -0,0 +1,30 @@ +# FleetConfigurationAssignmentResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**assignment_id** | **str** | | +**message** | **str** | | + +## Example + +```python +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetConfigurationAssignmentResponse from a JSON string +fleet_configuration_assignment_response_instance = FleetConfigurationAssignmentResponse.from_json(json) +# print the JSON string representation of the object +print(FleetConfigurationAssignmentResponse.to_json()) + +# convert the object into a dict +fleet_configuration_assignment_response_dict = fleet_configuration_assignment_response_instance.to_dict() +# create an instance of FleetConfigurationAssignmentResponse from a dict +fleet_configuration_assignment_response_from_dict = FleetConfigurationAssignmentResponse.from_dict(fleet_configuration_assignment_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/FleetConfigurationResponse.md b/docs/FleetConfigurationResponse.md new file mode 100644 index 00000000..067c1ef7 --- /dev/null +++ b/docs/FleetConfigurationResponse.md @@ -0,0 +1,33 @@ +# FleetConfigurationResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**configuration** | [**FleetConfiguration**](FleetConfiguration.md) | | [optional] +**configuration_version** | **str** | | [optional] +**id** | **str** | | +**message** | **str** | | +**status** | **str** | | + +## Example + +```python +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of FleetConfigurationResponse from a JSON string +fleet_configuration_response_instance = FleetConfigurationResponse.from_json(json) +# print the JSON string representation of the object +print(FleetConfigurationResponse.to_json()) + +# convert the object into a dict +fleet_configuration_response_dict = fleet_configuration_response_instance.to_dict() +# create an instance of FleetConfigurationResponse from a dict +fleet_configuration_response_from_dict = FleetConfigurationResponse.from_dict(fleet_configuration_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/FleetManagementApi.md b/docs/FleetManagementApi.md new file mode 100644 index 00000000..1ed43766 --- /dev/null +++ b/docs/FleetManagementApi.md @@ -0,0 +1,807 @@ +# instana_client.FleetManagementApi + +All URIs are relative to *https://unit-tenant.instana.io* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_fleet_config_assignment**](FleetManagementApi.md#create_fleet_config_assignment) | **POST** /api/fleet/configuration-assignments | Create a configuration assignment +[**create_fleet_configuration**](FleetManagementApi.md#create_fleet_configuration) | **POST** /api/fleet/configurations | Creates a fleet configuration +[**delete_custom_collector_base**](FleetManagementApi.md#delete_custom_collector_base) | **DELETE** /api/fleet/configurations/{id} | Delete a custom collector base configuration +[**delete_fleet_config_assignment**](FleetManagementApi.md#delete_fleet_config_assignment) | **DELETE** /api/fleet/configuration-assignments/{id} | Delete a fleet configuration assignment +[**get_custom_collector_base**](FleetManagementApi.md#get_custom_collector_base) | **GET** /api/fleet/configurations/{id} | Get fleet configuration details +[**get_fleet_config_assignment**](FleetManagementApi.md#get_fleet_config_assignment) | **GET** /api/fleet/configuration-assignments/{id} | Get a fleet configuration assignment +[**list_custom_collector_base**](FleetManagementApi.md#list_custom_collector_base) | **GET** /api/fleet/configurations | List fleet configurations +[**list_fleet_config_assignments**](FleetManagementApi.md#list_fleet_config_assignments) | **GET** /api/fleet/configuration-assignments | List fleet configuration assignments +[**update_custom_collector_base**](FleetManagementApi.md#update_custom_collector_base) | **PUT** /api/fleet/configurations/{id} | Update a custom collector base configuration +[**update_fleet_config_assignment**](FleetManagementApi.md#update_fleet_config_assignment) | **PUT** /api/fleet/configuration-assignments/{id} | Update a fleet configuration assignment + + +# **create_fleet_config_assignment** +> FleetConfigurationAssignment create_fleet_config_assignment(fleet_configuration_assignment) + +Create a configuration assignment + +This end point creates a configuration assignment for a fleet management group. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + fleet_configuration_assignment = instana_client.FleetConfigurationAssignment() # FleetConfigurationAssignment | + + try: + # Create a configuration assignment + api_response = api_instance.create_fleet_config_assignment(fleet_configuration_assignment) + print("The response of FleetManagementApi->create_fleet_config_assignment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->create_fleet_config_assignment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **fleet_configuration_assignment** | [**FleetConfigurationAssignment**](FleetConfigurationAssignment.md)| | + +### Return type + +[**FleetConfigurationAssignment**](FleetConfigurationAssignment.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_fleet_configuration** +> FleetConfigurationResponse create_fleet_configuration(fleet_configuration) + +Creates a fleet configuration + +This end point creates a fleet configuration + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration import FleetConfiguration +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + fleet_configuration = instana_client.FleetConfiguration() # FleetConfiguration | + + try: + # Creates a fleet configuration + api_response = api_instance.create_fleet_configuration(fleet_configuration) + print("The response of FleetManagementApi->create_fleet_configuration:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->create_fleet_configuration: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **fleet_configuration** | [**FleetConfiguration**](FleetConfiguration.md)| | + +### Return type + +[**FleetConfigurationResponse**](FleetConfigurationResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_custom_collector_base** +> FleetConfigurationResponse delete_custom_collector_base(id) + +Delete a custom collector base configuration + +This end point deletes a custom collector base configuration + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + id = 'id_example' # str | + + try: + # Delete a custom collector base configuration + api_response = api_instance.delete_custom_collector_base(id) + print("The response of FleetManagementApi->delete_custom_collector_base:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->delete_custom_collector_base: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**FleetConfigurationResponse**](FleetConfigurationResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Configuration Deleted | - | + +[[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_fleet_config_assignment** +> FleetConfigurationAssignmentResponse delete_fleet_config_assignment(id) + +Delete a fleet configuration assignment + +This end point deletes a fleet configuration assignment + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + id = 'id_example' # str | + + try: + # Delete a fleet configuration assignment + api_response = api_instance.delete_fleet_config_assignment(id) + print("The response of FleetManagementApi->delete_fleet_config_assignment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->delete_fleet_config_assignment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**FleetConfigurationAssignmentResponse**](FleetConfigurationAssignmentResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Configuration Deleted | - | + +[[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_custom_collector_base** +> FleetConfiguration get_custom_collector_base(id) + +Get fleet configuration details + +This endpoint gets a fleet configuration by ID + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration import FleetConfiguration +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + id = 'id_example' # str | + + try: + # Get fleet configuration details + api_response = api_instance.get_custom_collector_base(id) + print("The response of FleetManagementApi->get_custom_collector_base:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->get_custom_collector_base: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**FleetConfiguration**](FleetConfiguration.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_fleet_config_assignment** +> FleetConfigurationAssignment get_fleet_config_assignment(id) + +Get a fleet configuration assignment + +This endpoint gets a fleet configuration assignment by ID + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + id = 'id_example' # str | + + try: + # Get a fleet configuration assignment + api_response = api_instance.get_fleet_config_assignment(id) + print("The response of FleetManagementApi->get_fleet_config_assignment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->get_fleet_config_assignment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**FleetConfigurationAssignment**](FleetConfigurationAssignment.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **list_custom_collector_base** +> List[FleetConfiguration] list_custom_collector_base() + +List fleet configurations + +This end point lists fleet configurations by type + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration import FleetConfiguration +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + + try: + # List fleet configurations + api_response = api_instance.list_custom_collector_base() + print("The response of FleetManagementApi->list_custom_collector_base:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->list_custom_collector_base: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**List[FleetConfiguration]**](FleetConfiguration.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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) + +# **list_fleet_config_assignments** +> List[FleetConfigurationAssignment] list_fleet_config_assignments() + +List fleet configuration assignments + +This end point lists all fleet configuration assignments + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + + try: + # List fleet configuration assignments + api_response = api_instance.list_fleet_config_assignments() + print("The response of FleetManagementApi->list_fleet_config_assignments:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->list_fleet_config_assignments: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**List[FleetConfigurationAssignment]**](FleetConfigurationAssignment.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_custom_collector_base** +> FleetConfigurationResponse update_custom_collector_base(id, update_fleet_configuration_request) + +Update a custom collector base configuration + +This end points updates the details of a custom collector base configuration + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse +from instana_client.models.update_fleet_configuration_request import UpdateFleetConfigurationRequest +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + id = 'id_example' # str | + update_fleet_configuration_request = instana_client.UpdateFleetConfigurationRequest() # UpdateFleetConfigurationRequest | + + try: + # Update a custom collector base configuration + api_response = api_instance.update_custom_collector_base(id, update_fleet_configuration_request) + print("The response of FleetManagementApi->update_custom_collector_base:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->update_custom_collector_base: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **update_fleet_configuration_request** | [**UpdateFleetConfigurationRequest**](UpdateFleetConfigurationRequest.md)| | + +### Return type + +[**FleetConfigurationResponse**](FleetConfigurationResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_fleet_config_assignment** +> FleetConfigurationAssignmentResponse update_fleet_config_assignment(id, fleet_configuration_assignment) + +Update a fleet configuration assignment + +This end points updates the details of a fleet configuration assignment + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.FleetManagementApi(api_client) + id = 'id_example' # str | + fleet_configuration_assignment = instana_client.FleetConfigurationAssignment() # FleetConfigurationAssignment | + + try: + # Update a fleet configuration assignment + api_response = api_instance.update_fleet_config_assignment(id, fleet_configuration_assignment) + print("The response of FleetManagementApi->update_fleet_config_assignment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FleetManagementApi->update_fleet_config_assignment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **fleet_configuration_assignment** | [**FleetConfigurationAssignment**](FleetConfigurationAssignment.md)| | + +### Return type + +[**FleetConfigurationAssignmentResponse**](FleetConfigurationAssignmentResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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/GatewayStatusResponse.md b/docs/GatewayStatusResponse.md new file mode 100644 index 00000000..f2aed5a1 --- /dev/null +++ b/docs/GatewayStatusResponse.md @@ -0,0 +1,34 @@ +# GatewayStatusResponse + +Gateway status for evaluation capability + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | Whether GENAI_EVALUATION capability is enabled | [optional] +**gateway_id** | **str** | The ID of the enabled LLM gateway | [optional] +**gateway_name** | **str** | The name of the enabled LLM gateway | [optional] +**message** | **str** | Status message | [optional] +**model_name** | **str** | The LLM model name configured in the gateway | [optional] + +## Example + +```python +from instana_client.models.gateway_status_response import GatewayStatusResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GatewayStatusResponse from a JSON string +gateway_status_response_instance = GatewayStatusResponse.from_json(json) +# print the JSON string representation of the object +print(GatewayStatusResponse.to_json()) + +# convert the object into a dict +gateway_status_response_dict = gateway_status_response_instance.to_dict() +# create an instance of GatewayStatusResponse from a dict +gateway_status_response_from_dict = GatewayStatusResponse.from_dict(gateway_status_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/GetInfrastructureGroupsQuery.md b/docs/GetInfrastructureGroupsQuery.md index d4926ba6..e9c977ac 100644 --- a/docs/GetInfrastructureGroupsQuery.md +++ b/docs/GetInfrastructureGroupsQuery.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **group_by** | **List[str]** | Entity grouping tag. Use the Instana Analyze Infrastructure dashboard to determine the entity grouping tag name. | **metrics** | [**List[SimpleMetricConfiguration]**](SimpleMetricConfiguration.md) | | [optional] -**missing_placeholder** | **str** | | [optional] +**missing_placeholder** | **str** | Placeholder value for missing tag values | [optional] **order** | [**Order**](Order.md) | | [optional] **pagination** | [**CursorPaginationWithUiCursorInfraExploreCursor**](CursorPaginationWithUiCursorInfraExploreCursor.md) | | **tag_filter_expression** | [**TagFilterExpressionElement**](TagFilterExpressionElement.md) | | diff --git a/docs/GitHubConfiguration.md b/docs/GitHubConfiguration.md index 12f12bee..dd35b67a 100644 --- a/docs/GitHubConfiguration.md +++ b/docs/GitHubConfiguration.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**branch_name** | **str** | | +**allowed_credentials** | **List[str]** | | [optional] **credential_name** | **str** | | [optional] **script_file** | **str** | | [optional] **url** | **str** | | diff --git a/docs/GlobalApplicationAlertConfigurationApi.md b/docs/GlobalApplicationAlertConfigurationApi.md index 1792c2fa..642f01d4 100644 --- a/docs/GlobalApplicationAlertConfigurationApi.md +++ b/docs/GlobalApplicationAlertConfigurationApi.md @@ -94,6 +94,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -173,6 +174,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -252,6 +254,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -295,7 +298,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.GlobalApplicationAlertConfigurationApi(api_client) - global_applications_alert_config = {"name":"Slow calls than usual","description":"Calls are slower or equal to 2 ms based on latency (90th).","boundaryScope":"INBOUND","applications":{"j02SxMRTSf-NCBXf5IdsjQ":{"applicationId":"j02SxMRTSf-NCBXf5IdsjQ","inclusive":true,"services":{}}},"applicationIds":["j02SxMRTSf-NCBXf5IdsjQ"],"severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"includeInternal":false,"includeSynthetic":false,"rule":{"alertType":"slowness","aggregation":"P90","metricName":"latency"},"threshold":{"type":"staticThreshold","operator":">=","value":2.0,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"evaluationType":"PER_AP","customPayloadFields":[]} # GlobalApplicationsAlertConfig | + global_applications_alert_config = {"name":"Slow calls than usual","description":"Calls are slower or equal to 2 ms based on latency (90th).","boundaryScope":"INBOUND","applications":{"j02SxMRTSf-NCBXf5IdsjQ":{"applicationId":"j02SxMRTSf-NCBXf5IdsjQ","inclusive":true,"services":{}}},"applicationIds":["j02SxMRTSf-NCBXf5IdsjQ"],"severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"includeInternal":false,"includeSynthetic":false,"rule":{"alertType":"slowness","aggregation":"P90","metricName":"latency"},"threshold":{"type":"staticThreshold","operator":">=","value":2,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"evaluationType":"PER_AP","customPayloadFields":[]} # GlobalApplicationsAlertConfig | try: # Create Global Smart Alert Config @@ -952,7 +955,7 @@ with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.GlobalApplicationAlertConfigurationApi(api_client) id = 'vlFnxhVTS3KVb-wsN26PeQ' # str | ID of a specific Global Smart Alert Configuration to update. - global_applications_alert_config = {"name":"Slow calls than usual","description":"Calls are slower or equal to 2 ms based on latency (90th).","boundaryScope":"INBOUND","applications":{"j02SxMRTSf-NCBXf5IdsjQ":{"applicationId":"j02SxMRTSf-NCBXf5IdsjQ","inclusive":true,"services":{}}},"applicationIds":["j02SxMRTSf-NCBXf5IdsjQ"],"severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"includeInternal":false,"includeSynthetic":false,"rule":{"alertType":"slowness","aggregation":"P90","metricName":"latency"},"threshold":{"type":"staticThreshold","operator":">=","value":2.0,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"evaluationType":"PER_AP","customPayloadFields":[]} # GlobalApplicationsAlertConfig | + global_applications_alert_config = {"name":"Slow calls than usual","description":"Calls are slower or equal to 2 ms based on latency (90th).","boundaryScope":"INBOUND","applications":{"j02SxMRTSf-NCBXf5IdsjQ":{"applicationId":"j02SxMRTSf-NCBXf5IdsjQ","inclusive":true,"services":{}}},"applicationIds":["j02SxMRTSf-NCBXf5IdsjQ"],"severity":5,"triggering":false,"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[]},"includeInternal":false,"includeSynthetic":false,"rule":{"alertType":"slowness","aggregation":"P90","metricName":"latency"},"threshold":{"type":"staticThreshold","operator":">=","value":2,"lastUpdated":0},"alertChannelIds":[],"granularity":600000,"timeThreshold":{"type":"violationsInSequence","timeWindow":600000},"evaluationType":"PER_AP","customPayloadFields":[]} # GlobalApplicationsAlertConfig | try: # Update Global Smart Alert Config diff --git a/docs/InfraEventResult.md b/docs/InfraEventResult.md index 75ec0fba..b050c3c7 100644 --- a/docs/InfraEventResult.md +++ b/docs/InfraEventResult.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ibm_mq_file_transfer** | **List[Dict[str, object]]** | IBM MQ file transfer information, if relevant for this entity and event. | [optional] **snapshot_id** | **str** | ID of the snapshot. | [optional] +**snapshot_ids** | **List[str]** | IDs of all affected snapshots. Only present for Infra Smart Alert events. | [optional] ## Example diff --git a/docs/InfrastructureAlertConfigurationApi.md b/docs/InfrastructureAlertConfigurationApi.md index 7466f20a..9bd0f814 100644 --- a/docs/InfrastructureAlertConfigurationApi.md +++ b/docs/InfrastructureAlertConfigurationApi.md @@ -92,7 +92,7 @@ void (empty response body) |-------------|-------------|------------------| **204** | Successful - no content to return. | - | **403** | Insufficient permissions or limited in access. | - | -**422** | Unprocessable request - missing/invalid data. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -170,7 +170,7 @@ void (empty response body) |-------------|-------------|------------------| **204** | Successful - no content to return. | - | **403** | Insufficient permissions or limited in access. | - | -**422** | Unprocessable request - missing/invalid data. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -248,7 +248,7 @@ void (empty response body) |-------------|-------------|------------------| **204** | Successful - no content to return. | - | **403** | Insufficient permissions or limited in access. | - | -**422** | Unprocessable request - missing/invalid data. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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/InfrastructureAnalyzeApi.md b/docs/InfrastructureAnalyzeApi.md index ece5c0bb..74565d1c 100644 --- a/docs/InfrastructureAnalyzeApi.md +++ b/docs/InfrastructureAnalyzeApi.md @@ -258,7 +258,7 @@ Name | Type | Description | Notes Get grouped infrastructure entities with aggregated metrics -This endpoint groups entities for a given entity type and aggregates metrics for these groups. +This endpoint groups entities for a given entity type and aggregates metrics for these groups. Optional group sampling can be enabled to reduce BeeInstana load by fetching metrics for only 50% of groups, providing faster response times with representative data. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. ### Example diff --git a/docs/InfrastructureGroup.md b/docs/InfrastructureGroup.md index 631fac4c..6b0626aa 100644 --- a/docs/InfrastructureGroup.md +++ b/docs/InfrastructureGroup.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **count** | **int** | number of entities in this group | [optional] **metrics** | **Dict[str, List[List[float]]]** | map of metric keys to array of timestamp,value pairs | [optional] **poll_rate** | **int** | max poll rate across this group | [optional] +**sampling_metadata** | [**SamplingMetadata**](SamplingMetadata.md) | | [optional] **tags** | **Dict[str, object]** | tag keys and values for this group | [optional] ## Example diff --git a/docs/InfrastructureMetricsApi.md b/docs/InfrastructureMetricsApi.md index c19776f1..e0c41c48 100644 --- a/docs/InfrastructureMetricsApi.md +++ b/docs/InfrastructureMetricsApi.md @@ -4,9 +4,77 @@ All URIs are relative to *https://unit-tenant.instana.io* Method | HTTP request | Description ------------- | ------------- | ------------- +[**get_cassandra_metrics**](InfrastructureMetricsApi.md#get_cassandra_metrics) | **POST** /api/cassandra/metrics | Cassandra metrics [**get_infrastructure_metrics**](InfrastructureMetricsApi.md#get_infrastructure_metrics) | **POST** /api/infrastructure-monitoring/metrics | Get infrastructure metrics +# **get_cassandra_metrics** +> InfrastructureMetricResult get_cassandra_metrics(get_combined_metrics) + +Cassandra metrics + +### Example + + +```python +import instana_client +from instana_client.models.get_combined_metrics import GetCombinedMetrics +from instana_client.models.infrastructure_metric_result import InfrastructureMetricResult +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.InfrastructureMetricsApi(api_client) + get_combined_metrics = instana_client.GetCombinedMetrics() # GetCombinedMetrics | + + try: + # Cassandra metrics + api_response = api_instance.get_cassandra_metrics(get_combined_metrics) + print("The response of InfrastructureMetricsApi->get_cassandra_metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling InfrastructureMetricsApi->get_cassandra_metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **get_combined_metrics** | [**GetCombinedMetrics**](GetCombinedMetrics.md)| | + +### Return type + +[**InfrastructureMetricResult**](InfrastructureMetricResult.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_infrastructure_metrics** > InfrastructureMetricResult get_infrastructure_metrics(offline=offline, get_combined_metrics=get_combined_metrics) diff --git a/docs/LLMEgressGateway.md b/docs/LLMEgressGateway.md index f5360f53..e5247487 100644 --- a/docs/LLMEgressGateway.md +++ b/docs/LLMEgressGateway.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **created_at** | **str** | | [optional] **description** | **str** | | [optional] **enabled** | **bool** | | [optional] -**id** | **str** | | +**id** | **UUID** | | **instana_agents** | **object** | | [optional] **metadata** | **object** | | [optional] **model** | [**LLMGatewayModel**](LLMGatewayModel.md) | | diff --git a/docs/LLMEvaluationApi.md b/docs/LLMEvaluationApi.md new file mode 100644 index 00000000..4d12fbf7 --- /dev/null +++ b/docs/LLMEvaluationApi.md @@ -0,0 +1,1027 @@ +# instana_client.LLMEvaluationApi + +All URIs are relative to *https://unit-tenant.instana.io* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_evaluation**](LLMEvaluationApi.md#create_evaluation) | **POST** /api/genai-monitoring/evaluations | Create a new evaluation definition +[**delete_evaluation**](LLMEvaluationApi.md#delete_evaluation) | **DELETE** /api/genai-monitoring/evaluations/{evaluationId} | Delete an evaluation +[**delete_evaluator**](LLMEvaluationApi.md#delete_evaluator) | **DELETE** /api/evaluator/{evaluatorId} | Delete evaluator +[**get_evaluation**](LLMEvaluationApi.md#get_evaluation) | **GET** /api/genai-monitoring/evaluations/{evaluationId} | Get evaluation details by ID +[**get_evaluation_runs**](LLMEvaluationApi.md#get_evaluation_runs) | **GET** /api/genai-monitoring/evaluations/runs | Get all evaluation runs +[**get_evaluations**](LLMEvaluationApi.md#get_evaluations) | **GET** /api/genai-monitoring/evaluations | Get all evaluations +[**get_evaluator**](LLMEvaluationApi.md#get_evaluator) | **GET** /api/evaluator/{evaluatorId} | Get evaluator by ID +[**get_evaluators**](LLMEvaluationApi.md#get_evaluators) | **GET** /api/evaluator | Get all evaluators +[**get_gateway_status**](LLMEvaluationApi.md#get_gateway_status) | **GET** /api/genai-monitoring/evaluations/gateway-status | Check gateway status for evaluation capability +[**reset_evaluator**](LLMEvaluationApi.md#reset_evaluator) | **POST** /api/evaluator/{evaluatorId}/reset | Reset built-in evaluator +[**run_evaluation**](LLMEvaluationApi.md#run_evaluation) | **POST** /api/genai-monitoring/evaluations/{evaluationId}/run | Run an evaluation +[**update_evaluation**](LLMEvaluationApi.md#update_evaluation) | **PUT** /api/genai-monitoring/evaluations/{evaluationId} | Update an evaluation +[**upsert_evaluator**](LLMEvaluationApi.md#upsert_evaluator) | **PUT** /api/evaluator | Create or update evaluator + + +# **create_evaluation** +> CreateEvaluationResponse create_evaluation(create_evaluation_request=create_evaluation_request) + +Create a new evaluation definition + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.create_evaluation_request import CreateEvaluationRequest +from instana_client.models.create_evaluation_response import CreateEvaluationResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + create_evaluation_request = instana_client.CreateEvaluationRequest() # CreateEvaluationRequest | (optional) + + try: + # Create a new evaluation definition + api_response = api_instance.create_evaluation(create_evaluation_request=create_evaluation_request) + print("The response of LLMEvaluationApi->create_evaluation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->create_evaluation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **create_evaluation_request** | [**CreateEvaluationRequest**](CreateEvaluationRequest.md)| | [optional] + +### Return type + +[**CreateEvaluationResponse**](CreateEvaluationResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Evaluation created successfully | - | +**400** | Invalid request | - | +**500** | Failed to create evaluation | - | + +[[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_evaluation** +> delete_evaluation(evaluation_id) + +Delete an evaluation + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluation_id = 'evaluation_id_example' # str | + + try: + # Delete an evaluation + api_instance.delete_evaluation(evaluation_id) + except Exception as e: + print("Exception when calling LLMEvaluationApi->delete_evaluation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluation_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Evaluation deleted successfully | - | +**404** | Evaluation not found | - | +**500** | Failed to delete evaluation | - | + +[[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_evaluator** +> delete_evaluator(evaluator_id) + +Delete evaluator + +Delete an evaluator configuration by its ID. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluator_id = '123e4567-e89b-12d3-a456-426614174000' # str | + + try: + # Delete evaluator + api_instance.delete_evaluator(evaluator_id) + except Exception as e: + print("Exception when calling LLMEvaluationApi->delete_evaluator: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluator_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content - Successfully deleted | - | +**404** | Not Found - Evaluator does not exist | - | +**500** | Internal Server 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_evaluation** +> EvaluationDetailResponse get_evaluation(evaluation_id) + +Get evaluation details by ID + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.evaluation_detail_response import EvaluationDetailResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluation_id = 'evaluation_id_example' # str | + + try: + # Get evaluation details by ID + api_response = api_instance.get_evaluation(evaluation_id) + print("The response of LLMEvaluationApi->get_evaluation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->get_evaluation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluation_id** | **str**| | + +### Return type + +[**EvaluationDetailResponse**](EvaluationDetailResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Evaluation retrieved successfully | - | +**404** | Evaluation not found | - | +**500** | Failed to retrieve evaluation | - | + +[[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_evaluation_runs** +> str get_evaluation_runs(window_size=window_size, to=to) + +Get all evaluation runs + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + window_size = 56 # int | (optional) + to = 56 # int | (optional) + + try: + # Get all evaluation runs + api_response = api_instance.get_evaluation_runs(window_size=window_size, to=to) + print("The response of LLMEvaluationApi->get_evaluation_runs:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->get_evaluation_runs: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **window_size** | **int**| | [optional] + **to** | **int**| | [optional] + +### Return type + +**str** + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Evaluation runs retrieved successfully | - | +**404** | Evaluation runs not found | - | +**500** | Failed to retrieve evaluation runs | - | + +[[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_evaluations** +> EvaluationListResponse get_evaluations(client_id=client_id) + +Get all evaluations + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.evaluation_list_response import EvaluationListResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + client_id = 'client_id_example' # str | (optional) + + try: + # Get all evaluations + api_response = api_instance.get_evaluations(client_id=client_id) + print("The response of LLMEvaluationApi->get_evaluations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->get_evaluations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **client_id** | **str**| | [optional] + +### Return type + +[**EvaluationListResponse**](EvaluationListResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Evaluations retrieved successfully | - | +**500** | Failed to retrieve evaluations | - | + +[[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_evaluator** +> Evaluator get_evaluator(evaluator_id) + +Get evaluator by ID + +Fetch a specific evaluator by its ID. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.evaluator import Evaluator +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluator_id = '123e4567-e89b-12d3-a456-426614174000' # str | + + try: + # Get evaluator by ID + api_response = api_instance.get_evaluator(evaluator_id) + print("The response of LLMEvaluationApi->get_evaluator:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->get_evaluator: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluator_id** | **str**| | + +### Return type + +[**Evaluator**](Evaluator.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**404** | 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) + +# **get_evaluators** +> Evaluator get_evaluators() + +Get all evaluators + +Fetch all evaluator configurations for the current tenant unit. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.evaluator import Evaluator +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + + try: + # Get all evaluators + api_response = api_instance.get_evaluators() + print("The response of LLMEvaluationApi->get_evaluators:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->get_evaluators: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**Evaluator**](Evaluator.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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_gateway_status** +> GatewayStatusResponse get_gateway_status() + +Check gateway status for evaluation capability + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.gateway_status_response import GatewayStatusResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + + try: + # Check gateway status for evaluation capability + api_response = api_instance.get_gateway_status() + print("The response of LLMEvaluationApi->get_gateway_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->get_gateway_status: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GatewayStatusResponse**](GatewayStatusResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Gateway status retrieved successfully | - | +**500** | Failed to check gateway status | - | + +[[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) + +# **reset_evaluator** +> reset_evaluator(evaluator_id) + +Reset built-in evaluator + +Reset a built-in evaluator to its system default configuration by soft-deleting the user's customized version. + +### Example + + +```python +import instana_client +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluator_id = '123e4567-e89b-12d3-a456-426614174000' # str | + + try: + # Reset built-in evaluator + api_instance.reset_evaluator(evaluator_id) + except Exception as e: + print("Exception when calling LLMEvaluationApi->reset_evaluator: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluator_id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content - Successfully reset | - | +**400** | Bad Request - Not a built-in evaluator | - | +**404** | Not Found | - | +**500** | Internal Server 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) + +# **run_evaluation** +> RunEvaluationResponse run_evaluation(evaluation_id) + +Run an evaluation + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.run_evaluation_response import RunEvaluationResponse +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluation_id = 'evaluation_id_example' # str | + + try: + # Run an evaluation + api_response = api_instance.run_evaluation(evaluation_id) + print("The response of LLMEvaluationApi->run_evaluation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->run_evaluation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluation_id** | **str**| | + +### Return type + +[**RunEvaluationResponse**](RunEvaluationResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Evaluation run initiated successfully | - | +**400** | Invalid request or capability not enabled | - | +**404** | Evaluation not found | - | +**500** | Failed to run evaluation | - | + +[[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_evaluation** +> update_evaluation(evaluation_id, update_evaluation_request=update_evaluation_request) + +Update an evaluation + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.update_evaluation_request import UpdateEvaluationRequest +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluation_id = 'evaluation_id_example' # str | + update_evaluation_request = instana_client.UpdateEvaluationRequest() # UpdateEvaluationRequest | (optional) + + try: + # Update an evaluation + api_instance.update_evaluation(evaluation_id, update_evaluation_request=update_evaluation_request) + except Exception as e: + print("Exception when calling LLMEvaluationApi->update_evaluation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluation_id** | **str**| | + **update_evaluation_request** | [**UpdateEvaluationRequest**](UpdateEvaluationRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Evaluation updated successfully | - | +**404** | Evaluation not found | - | +**500** | Failed to update evaluation | - | + +[[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) + +# **upsert_evaluator** +> Evaluator upsert_evaluator(evaluator=evaluator) + +Create or update evaluator + +Create a new evaluator or update an existing one. Returns the evaluator ID. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.evaluator import Evaluator +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LLMEvaluationApi(api_client) + evaluator = {"evaluatorName":"Quality Evaluator","criteria":"Response quality and accuracy","threshold":0.85} # Evaluator | (optional) + + try: + # Create or update evaluator + api_response = api_instance.upsert_evaluator(evaluator=evaluator) + print("The response of LLMEvaluationApi->upsert_evaluator:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LLMEvaluationApi->upsert_evaluator: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **evaluator** | [**Evaluator**](Evaluator.md)| | [optional] + +### Return type + +[**Evaluator**](Evaluator.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[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/LatencyBlueprintIndicator.md b/docs/LatencyBlueprintIndicator.md index 1efa7874..28e8f4ec 100644 --- a/docs/LatencyBlueprintIndicator.md +++ b/docs/LatencyBlueprintIndicator.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric** | [**EntityMetric**](EntityMetric.md) | | [optional] **threshold** | **float** | Threshold Value for the Blueprint | [optional] ## Example diff --git a/docs/LogAlertConfigurationApi.md b/docs/LogAlertConfigurationApi.md index 5d2cc5f9..7caf7aae 100644 --- a/docs/LogAlertConfigurationApi.md +++ b/docs/LogAlertConfigurationApi.md @@ -55,7 +55,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.LogAlertConfigurationApi(api_client) - request_body = ['request_body_example'] # List[str] | + request_body = ["alert-id-1","alert-id-2","alert-id-3"] # List[str] | try: # Bulk Delete Log Alert Configs @@ -91,8 +91,9 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | Successful - no content to return. | - | -**400** | Invalid request - empty list or exceeds maximum size | - | +**400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -133,7 +134,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.LogAlertConfigurationApi(api_client) - request_body = ['request_body_example'] # List[str] | + request_body = ["alert-id-1","alert-id-2","alert-id-3"] # List[str] | try: # Bulk Disable Log Alert Configs @@ -169,8 +170,9 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | Successful - no content to return. | - | -**400** | Invalid request - empty list or exceeds maximum size | - | +**400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -211,7 +213,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.LogAlertConfigurationApi(api_client) - request_body = ['request_body_example'] # List[str] | + request_body = ["alert-id-1","alert-id-2","alert-id-3"] # List[str] | try: # Bulk Enable Log Alert Configs @@ -247,8 +249,9 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | Successful - no content to return. | - | -**400** | Invalid request - empty list or exceeds maximum size | - | +**400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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/LoggingAnalyzeApi.md b/docs/LoggingAnalyzeApi.md index 5b7ac7f7..6b6c0898 100644 --- a/docs/LoggingAnalyzeApi.md +++ b/docs/LoggingAnalyzeApi.md @@ -5,6 +5,7 @@ All URIs are relative to *https://unit-tenant.instana.io* Method | HTTP request | Description ------------- | ------------- | ------------- [**get_log_volume_usage**](LoggingAnalyzeApi.md#get_log_volume_usage) | **GET** /api/logging/logs/getLogVolumeUsage | Get Log Volume Usage +[**get_logs**](LoggingAnalyzeApi.md#get_logs) | **POST** /api/logging/logs/getLogs/v1 | Retrieve logs via REST API # **get_log_volume_usage** @@ -95,3 +96,207 @@ 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_logs** +> LogsApiResponse get_logs(logs_query) + +Retrieve logs via REST API + +Returns logs (up to the specified retrievalSize) for a given time range with optional filters to help users +efficiently troubleshoot and resolve issues. + +**The JSON payload must include:** + +- `timeConfig`: Time range configuration with `to` (Unix timestamp in milliseconds) and `windowSize` (duration in ms). + +- `retrievalSize`: Maximum number of logs to return per request (required, range: `1`-`200`). + * If you specify a value > `200`, it will be automatically reduced to `200`. + * Returns `HTTP 500 Internal Server Error` for values < `0`, non-integer types, or if missing. + +- `orderDirection`: Sort order - "ASC" (oldest first) or "DESC" (newest first). + +- `offset`: (Optional) Pagination offset specifies the number of log entries to skip before returning results. + * Defaults to `0`, with permitted value range: [`0`,`2000`]. + * This field controls pagination by skipping a specified number of logs from the beginning of the result set. + * Example: With retrievalSize=`200` and offset=`0`, you get logs `1`-`200`. To get the next page, set offset=`200` to skip the first `200` logs and retrieve logs `201`-`400`. + * Example: Setting offset=10 skips the first `10` log entries and starts returning results from the 11th entry onwards + * Returns `HTTP 500 Internal Server Error` response if value is negative or non-integer. + +- `tagFilterExpression`: (Optional) Filter criteria for log attributes. + +- `requestedTags`: Array of tag names to include in the response. + * You can select up to 10 tags from the available list: + ``` + aws.ecs.containerId + aws.ecs.containerName + containerd.containerId + crio.containerId + docker.containerId + docker.containerName + expiration.ts.seconds + garden.containerId + host.name + kubernetes.cluster.name + kubernetes.container.name + kubernetes.deployment.name + kubernetes.namespace.name + kubernetes.node.name + kubernetes.pod.name + log.applications + log.custom + log.exception.message + log.exception.stackTrace + log.exception.type + log.file.path + log.hostId + log.level + log.message + log.streamName + log.timestamp + log.traceId + process.id + ``` + +**Response Payload Fields:** + +- `items`: Array of log entries matching the query criteria. + +- `totalHits`: Total number of log entries matching the query across all pages (not just the current page). + * Use this value to calculate total pages or display result counts to users. + * Example: If totalHits=`450` and retrievalSize=`200`, you have 3 pages total (200 + 200 + 50). + +- `canLoadMore`: Boolean indicating whether more log entries are available beyond the current page. + * When true, increment the offset parameter to retrieve the next page. + * Example: If retrievalSize=`200`, offset=`0`, and canLoadMore=`true`, set offset=`200` for the next request. + * When false, you have reached the end of the result set. + +- `adjustedTimeFrame`: Reserved for future use (currently always null). + * This field may be used in the future to indicate if the requested time range was automatically adjusted. + +Refer to the RequestBody section for the complete LogsQuery schema. + +When using the UI to construct the curl request, select the desired filters and time window, then click the "API Query" button to automatically generate a curl request with current UI selections. By default, 4 tags are always included in requests generated by the "API Query" button, but may be changed as needed. + +```"log.timestamp", "log.level", "log.message", "log.custom"``` + +Example curl request (can be auto-generated via the "API Query" button in the Instana UI): + ``` + curl -X POST /api/logging/logs/getLogs/v1 \ + -H "Authorization: apiToken YOUR_API_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{ + "timeConfig": { + "to": 1711800000000, + "focusedMoment": 1711800000000, + "autoRefresh": false, + "windowSize": 3600000 + }, + "requestedTags": [ + "log.traceId", + "log.applications", + "process.id", + "host.name", + "docker.containerName", + "kubernetes.pod.name" + ], + "tagFilterExpression": { + "type": "EXPRESSION", + "logicalOperator": "AND", + "elements": [ + { + "type": "TAG_FILTER", + "name": "log.streamName", + "operator": "EQUALS", + "entity": "NOT_APPLICABLE", + "value": "log.go" + }, + { + "type": "TAG_FILTER", + "name": "service.name", + "operator": "EQUALS", + "entity": "DESTINATION", + "value": "dispatch" + } + ] + }, + "retrievalSize": 200, + "offset": 0, + "orderDirection": "DESC" + }' + ``` + + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.logs_api_response import LogsApiResponse +from instana_client.models.logs_query import LogsQuery +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.LoggingAnalyzeApi(api_client) + logs_query = {"timeConfig":{"to":1711800000000,"focusedMoment":1711800000000,"autoRefresh":false,"windowSize":3600000},"requestedTags":["log.traceId","log.applications","process.id","host.name","docker.containerName","kubernetes.pod.name"],"tagFilterExpression":{"type":"EXPRESSION","logicalOperator":"AND","elements":[{"type":"TAG_FILTER","name":"log.streamName","operator":"EQUALS","entity":"NOT_APPLICABLE","value":"log.go"},{"type":"TAG_FILTER","name":"service.name","operator":"EQUALS","entity":"DESTINATION","value":"dispatch"}]},"retrievalSize":200,"offset":0,"orderDirection":"DESC"} # LogsQuery | + + try: + # Retrieve logs via REST API + api_response = api_instance.get_logs(logs_query) + print("The response of LoggingAnalyzeApi->get_logs:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LoggingAnalyzeApi->get_logs: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **logs_query** | [**LogsQuery**](LogsQuery.md)| | + +### Return type + +[**LogsApiResponse**](LogsApiResponse.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successfully retrieved logs matching the query criteria. Returns an array of log items with metadata and pagination information. | - | +**500** | Unexpected server error - An internal error occurred while processing the request. | - | +**503** | Service unavailable - The logging service is temporarily unavailable. Please retry after some time. | - | + +[[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/LogsApiResponse.md b/docs/LogsApiResponse.md new file mode 100644 index 00000000..15e4ba39 --- /dev/null +++ b/docs/LogsApiResponse.md @@ -0,0 +1,32 @@ +# LogsApiResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**adjusted_time_frame** | **str** | | [optional] +**can_load_more** | **bool** | | [optional] +**items** | [**List[ApiLogItem]**](ApiLogItem.md) | | [optional] +**total_hits** | **int** | | [optional] + +## Example + +```python +from instana_client.models.logs_api_response import LogsApiResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of LogsApiResponse from a JSON string +logs_api_response_instance = LogsApiResponse.from_json(json) +# print the JSON string representation of the object +print(LogsApiResponse.to_json()) + +# convert the object into a dict +logs_api_response_dict = logs_api_response_instance.to_dict() +# create an instance of LogsApiResponse from a dict +logs_api_response_from_dict = LogsApiResponse.from_dict(logs_api_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/LogsQuery.md b/docs/LogsQuery.md new file mode 100644 index 00000000..199915fa --- /dev/null +++ b/docs/LogsQuery.md @@ -0,0 +1,35 @@ +# LogsQuery + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**FilterInterface**](FilterInterface.md) | | [optional] +**offset** | **int** | | [optional] +**order_direction** | **str** | | [optional] +**requested_tags** | **List[str]** | | [optional] +**retrieval_size** | **int** | | [optional] +**tag_filter_expression** | [**TagFilterExpressionElement**](TagFilterExpressionElement.md) | | [optional] +**time_config** | [**TimeConfig**](TimeConfig.md) | | [optional] + +## Example + +```python +from instana_client.models.logs_query import LogsQuery + +# TODO update the JSON string below +json = "{}" +# create an instance of LogsQuery from a JSON string +logs_query_instance = LogsQuery.from_json(json) +# print the JSON string representation of the object +print(LogsQuery.to_json()) + +# convert the object into a dict +logs_query_dict = logs_query_instance.to_dict() +# create an instance of LogsQuery from a dict +logs_query_from_dict = LogsQuery.from_dict(logs_query_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/MobileApp.md b/docs/MobileApp.md index 1006a9c8..5a46374f 100644 --- a/docs/MobileApp.md +++ b/docs/MobileApp.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**business_criticality** | **int** | | [optional] **id** | **str** | | **name** | **str** | | diff --git a/docs/MobileAppAnalyzeApi.md b/docs/MobileAppAnalyzeApi.md index 8c6e127c..f46fba2b 100644 --- a/docs/MobileAppAnalyzeApi.md +++ b/docs/MobileAppAnalyzeApi.md @@ -131,7 +131,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.MobileAppAnalyzeApi(api_client) - get_mobile_app_beacons = {"tagFilterExpression":{"entity":"NOT_APPLICABLE","name":"mobileBeacon.mobileApp.name","operator":"EQUALS","value":"robot-warehouse"},"timeFrame":{"to":null,"windowSize":60000},"type":"SESSION_START"} # GetMobileAppBeacons | (optional) + get_mobile_app_beacons = {"tagFilters":[{"entity":"NOT_APPLICABLE","name":"mobileBeacon.mobileApp.name","operator":"EQUALS","value":"robot-warehouse"}],"timeFrame":{"to":null,"windowSize":60000},"type":"SESSION_START"} # GetMobileAppBeacons | (optional) try: # Get all beacons diff --git a/docs/MobileAppCatalogApi.md b/docs/MobileAppCatalogApi.md index fcc7e0a7..b2d03f3c 100644 --- a/docs/MobileAppCatalogApi.md +++ b/docs/MobileAppCatalogApi.md @@ -4,93 +4,11 @@ All URIs are relative to *https://unit-tenant.instana.io* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_action_beacons**](MobileAppCatalogApi.md#get_action_beacons) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons | Get action beacons for a session [**get_all_mobile_app_catalog_tags**](MobileAppCatalogApi.md#get_all_mobile_app_catalog_tags) | **GET** /api/mobile-app-monitoring/catalog/tags | Get all existing mobile app tags [**get_mobile_app_metric_catalog**](MobileAppCatalogApi.md#get_mobile_app_metric_catalog) | **GET** /api/mobile-app-monitoring/catalog/metrics | Metric catalog [**get_mobile_app_tag_catalog**](MobileAppCatalogApi.md#get_mobile_app_tag_catalog) | **GET** /api/mobile-app-monitoring/catalog | Get mobile app tag catalog -[**get_session_replay_metadata**](MobileAppCatalogApi.md#get_session_replay_metadata) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata | Get session replay metadata -[**get_session_replay_timestamps**](MobileAppCatalogApi.md#get_session_replay_timestamps) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps | Get session replay timestamps -# **get_action_beacons** -> GetActionBeaconsResult get_action_beacons(mobile_app_id, session_id, cursor=cursor, page_size=page_size) - -Get action beacons for a session - -Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. - -### Example - - -```python -import instana_client -from instana_client.models.get_action_beacons_result import GetActionBeaconsResult -from instana_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://unit-tenant.instana.io -# See configuration.py for a list of all supported configuration parameters. -configuration = instana_client.Configuration( - host = "https://unit-tenant.instana.io" -) - - -# Enter a context with an instance of the API client -with instana_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = instana_client.MobileAppCatalogApi(api_client) - mobile_app_id = 'app-456' # str | Mobile app identifier - session_id = 'session-123' # str | Session identifier - cursor = 100 # int | Offset cursor for pagination (number of items already retrieved). Omit for first page. (optional) - page_size = 100 # int | Number of items per page (default: 100, max: 1000) (optional) (default to 100) - - try: - # Get action beacons for a session - api_response = api_instance.get_action_beacons(mobile_app_id, session_id, cursor=cursor, page_size=page_size) - print("The response of MobileAppCatalogApi->get_action_beacons:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling MobileAppCatalogApi->get_action_beacons: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **mobile_app_id** | **str**| Mobile app identifier | - **session_id** | **str**| Session identifier | - **cursor** | **int**| Offset cursor for pagination (number of items already retrieved). Omit for first page. | [optional] - **page_size** | **int**| Number of items per page (default: 100, max: 1000) | [optional] [default to 100] - -### Return type - -[**GetActionBeaconsResult**](GetActionBeaconsResult.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request - Invalid mobile app ID, session ID, or pagination parameters | - | -**401** | Unauthorized access - requires user authentication. | - | -**403** | Forbidden - User doesn't have access to this mobile app | - | -**404** | Not Found - Mobile app or session not found | - | -**500** | Internal server 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_all_mobile_app_catalog_tags** > List[Tag] get_all_mobile_app_catalog_tags() @@ -327,157 +245,3 @@ 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_session_replay_metadata** -> GetSessionReplayMetadataResult get_session_replay_metadata(mobile_app_id, session_id, cursor=cursor, page_size=page_size) - -Get session replay metadata - -Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. - -### Example - - -```python -import instana_client -from instana_client.models.get_session_replay_metadata_result import GetSessionReplayMetadataResult -from instana_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://unit-tenant.instana.io -# See configuration.py for a list of all supported configuration parameters. -configuration = instana_client.Configuration( - host = "https://unit-tenant.instana.io" -) - - -# Enter a context with an instance of the API client -with instana_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = instana_client.MobileAppCatalogApi(api_client) - mobile_app_id = 'app-456' # str | Mobile app identifier - session_id = 'session-123' # str | Session identifier - cursor = 1234567890 # int | Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. (optional) - page_size = 20000 # int | Time window size in milliseconds (default: 20000ms = 20 seconds) (optional) (default to 20000) - - try: - # Get session replay metadata - api_response = api_instance.get_session_replay_metadata(mobile_app_id, session_id, cursor=cursor, page_size=page_size) - print("The response of MobileAppCatalogApi->get_session_replay_metadata:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling MobileAppCatalogApi->get_session_replay_metadata: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **mobile_app_id** | **str**| Mobile app identifier | - **session_id** | **str**| Session identifier | - **cursor** | **int**| Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. | [optional] - **page_size** | **int**| Time window size in milliseconds (default: 20000ms = 20 seconds) | [optional] [default to 20000] - -### Return type - -[**GetSessionReplayMetadataResult**](GetSessionReplayMetadataResult.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request - Invalid mobile app ID, session ID, or pagination parameters | - | -**401** | Unauthorized access - requires user authentication. | - | -**403** | Forbidden - User doesn't have access to this mobile app | - | -**404** | Not Found - Mobile app or session not found | - | -**500** | Internal server 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_session_replay_timestamps** -> SessionReplayTimestamps get_session_replay_timestamps(mobile_app_id, session_id) - -Get session replay timestamps - -Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. - -### Example - - -```python -import instana_client -from instana_client.models.session_replay_timestamps import SessionReplayTimestamps -from instana_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://unit-tenant.instana.io -# See configuration.py for a list of all supported configuration parameters. -configuration = instana_client.Configuration( - host = "https://unit-tenant.instana.io" -) - - -# Enter a context with an instance of the API client -with instana_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = instana_client.MobileAppCatalogApi(api_client) - mobile_app_id = 'app-456' # str | Mobile app identifier - session_id = 'session-123' # str | Session identifier - - try: - # Get session replay timestamps - api_response = api_instance.get_session_replay_timestamps(mobile_app_id, session_id) - print("The response of MobileAppCatalogApi->get_session_replay_timestamps:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling MobileAppCatalogApi->get_session_replay_timestamps: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **mobile_app_id** | **str**| Mobile app identifier | - **session_id** | **str**| Session identifier | - -### Return type - -[**SessionReplayTimestamps**](SessionReplayTimestamps.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request - Invalid mobile app ID or session ID | - | -**401** | Unauthorized access - requires user authentication. | - | -**403** | Forbidden - User doesn't have access to this mobile app | - | -**404** | Not Found - Mobile app or session not found | - | -**500** | Internal server 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/MobileAppConfigurationApi.md b/docs/MobileAppConfigurationApi.md index 98870057..688620e9 100644 --- a/docs/MobileAppConfigurationApi.md +++ b/docs/MobileAppConfigurationApi.md @@ -1564,7 +1564,7 @@ with instana_client.ApiClient(configuration) as api_client: file_format = 'file_format_example' # str | File format. Example tgz file_id = 'file_id_example' # str | Identifier of your app. For example, com.instana.ios.InstanaExampleApp file_type = 'file_type_example' # str | dSYM stands for iOS symbol file, R8PG_MAP stands for Android java mapping file - source_map = None # bytearray | Path to your local symbol file + source_map = None # bytes | Path to your local symbol file try: # Upload sourcemap file for mobile app @@ -1588,7 +1588,7 @@ Name | Type | Description | Notes **file_format** | **str**| File format. Example tgz | **file_id** | **str**| Identifier of your app. For example, com.instana.ios.InstanaExampleApp | **file_type** | **str**| dSYM stands for iOS symbol file, R8PG_MAP stands for Android java mapping file | - **source_map** | **bytearray**| Path to your local symbol file | + **source_map** | **bytes**| Path to your local symbol file | ### Return type diff --git a/docs/MobileAppSessionReplayApi.md b/docs/MobileAppSessionReplayApi.md new file mode 100644 index 00000000..6834fd70 --- /dev/null +++ b/docs/MobileAppSessionReplayApi.md @@ -0,0 +1,244 @@ +# instana_client.MobileAppSessionReplayApi + +All URIs are relative to *https://unit-tenant.instana.io* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_action_beacons**](MobileAppSessionReplayApi.md#get_action_beacons) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons | Get action beacons for a session +[**get_session_replay_metadata**](MobileAppSessionReplayApi.md#get_session_replay_metadata) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata | Get session replay metadata +[**get_session_replay_timestamps**](MobileAppSessionReplayApi.md#get_session_replay_timestamps) | **GET** /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps | Get session replay timestamps + + +# **get_action_beacons** +> GetActionBeaconsResult get_action_beacons(mobile_app_id, session_id, cursor=cursor, page_size=page_size) + +Get action beacons for a session + +Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. + +### Example + + +```python +import instana_client +from instana_client.models.get_action_beacons_result import GetActionBeaconsResult +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.MobileAppSessionReplayApi(api_client) + mobile_app_id = 'app-456' # str | Mobile app identifier + session_id = 'session-123' # str | Session identifier + cursor = 100 # int | Offset cursor for pagination (number of items already retrieved). Omit for first page. (optional) + page_size = 100 # int | Number of items per page (default: 100, max: 1000) (optional) (default to 100) + + try: + # Get action beacons for a session + api_response = api_instance.get_action_beacons(mobile_app_id, session_id, cursor=cursor, page_size=page_size) + print("The response of MobileAppSessionReplayApi->get_action_beacons:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MobileAppSessionReplayApi->get_action_beacons: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **mobile_app_id** | **str**| Mobile app identifier | + **session_id** | **str**| Session identifier | + **cursor** | **int**| Offset cursor for pagination (number of items already retrieved). Omit for first page. | [optional] + **page_size** | **int**| Number of items per page (default: 100, max: 1000) | [optional] [default to 100] + +### Return type + +[**GetActionBeaconsResult**](GetActionBeaconsResult.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request - Invalid mobile app ID, session ID, or pagination parameters | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Forbidden - User doesn't have access to this mobile app | - | +**404** | Not Found - Mobile app or session not found | - | +**500** | Internal server 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_session_replay_metadata** +> GetSessionReplayMetadataResult get_session_replay_metadata(mobile_app_id, session_id, cursor=cursor, page_size=page_size) + +Get session replay metadata + +Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. + +### Example + + +```python +import instana_client +from instana_client.models.get_session_replay_metadata_result import GetSessionReplayMetadataResult +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.MobileAppSessionReplayApi(api_client) + mobile_app_id = 'app-456' # str | Mobile app identifier + session_id = 'session-123' # str | Session identifier + cursor = 1234567890 # int | Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. (optional) + page_size = 20000 # int | Time window size in milliseconds (default: 20000ms = 20 seconds) (optional) (default to 20000) + + try: + # Get session replay metadata + api_response = api_instance.get_session_replay_metadata(mobile_app_id, session_id, cursor=cursor, page_size=page_size) + print("The response of MobileAppSessionReplayApi->get_session_replay_metadata:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MobileAppSessionReplayApi->get_session_replay_metadata: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **mobile_app_id** | **str**| Mobile app identifier | + **session_id** | **str**| Session identifier | + **cursor** | **int**| Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. | [optional] + **page_size** | **int**| Time window size in milliseconds (default: 20000ms = 20 seconds) | [optional] [default to 20000] + +### Return type + +[**GetSessionReplayMetadataResult**](GetSessionReplayMetadataResult.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request - Invalid mobile app ID, session ID, or pagination parameters | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Forbidden - User doesn't have access to this mobile app | - | +**404** | Not Found - Mobile app or session not found | - | +**500** | Internal server 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_session_replay_timestamps** +> SessionReplayTimestamps get_session_replay_timestamps(mobile_app_id, session_id) + +Get session replay timestamps + +Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. + +### Example + + +```python +import instana_client +from instana_client.models.session_replay_timestamps import SessionReplayTimestamps +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.MobileAppSessionReplayApi(api_client) + mobile_app_id = 'app-456' # str | Mobile app identifier + session_id = 'session-123' # str | Session identifier + + try: + # Get session replay timestamps + api_response = api_instance.get_session_replay_timestamps(mobile_app_id, session_id) + print("The response of MobileAppSessionReplayApi->get_session_replay_timestamps:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MobileAppSessionReplayApi->get_session_replay_timestamps: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **mobile_app_id** | **str**| Mobile app identifier | + **session_id** | **str**| Session identifier | + +### Return type + +[**SessionReplayTimestamps**](SessionReplayTimestamps.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request - Invalid mobile app ID or session ID | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Forbidden - User doesn't have access to this mobile app | - | +**404** | Not Found - Mobile app or session not found | - | +**500** | Internal server 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/MobileSloEntity.md b/docs/MobileSloEntity.md new file mode 100644 index 00000000..d05fde53 --- /dev/null +++ b/docs/MobileSloEntity.md @@ -0,0 +1,29 @@ +# MobileSloEntity + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**mobile_ids** | **List[str]** | The ID(s) of the Mobile Apps | [optional] + +## Example + +```python +from instana_client.models.mobile_slo_entity import MobileSloEntity + +# TODO update the JSON string below +json = "{}" +# create an instance of MobileSloEntity from a JSON string +mobile_slo_entity_instance = MobileSloEntity.from_json(json) +# print the JSON string representation of the object +print(MobileSloEntity.to_json()) + +# convert the object into a dict +mobile_slo_entity_dict = mobile_slo_entity_instance.to_dict() +# create an instance of MobileSloEntity from a dict +mobile_slo_entity_from_dict = MobileSloEntity.from_dict(mobile_slo_entity_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/NS1Integration.md b/docs/NS1Integration.md index 58c6b753..f21aca04 100644 --- a/docs/NS1Integration.md +++ b/docs/NS1Integration.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**feed_label** | **str** | | [optional] **headers** | **List[str]** | | [optional] **webhook_urls** | **List[str]** | | diff --git a/docs/NewApplicationConfig.md b/docs/NewApplicationConfig.md index 620d0252..b60379c0 100644 --- a/docs/NewApplicationConfig.md +++ b/docs/NewApplicationConfig.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **access_rules** | [**List[AccessRule]**](AccessRule.md) | Defines permissions and access relationships. | **boundary_scope** | **str** | **INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective. **ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective. **DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`. At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`. It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`. | +**business_criticality** | **str** | Business criticality level of the application | **label** | **str** | Name of the Application Perspective. Eg: `app1`. | **match_specification** | [**MatchExpressionDTO**](MatchExpressionDTO.md) | | [optional] **scope** | **str** | **INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set). This is useful when you treat the services as opaque. An example would be the services that represent 3rd party APIs. **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with. This is useful if you are want to monitor a set of services and their direct dependencies. For example, a development team responsible for several micro-services. **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services. This is useful if the AP will be used for troubleshooting. | diff --git a/docs/Notification.md b/docs/Notification.md new file mode 100644 index 00000000..fa22ce40 --- /dev/null +++ b/docs/Notification.md @@ -0,0 +1,31 @@ +# Notification + +Optional notifications configuration for action execution events. Each notification specifies a condition (started, fail, success) and associated alert channels. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**alert_channel_ids** | **List[str]** | List of alert channel identifiers to send notifications to for this condition. | +**condition** | **str** | Notification condition. Determines when the notification is sent. Each notification object represents a single condition with its associated alert channels. | + +## Example + +```python +from instana_client.models.notification import Notification + +# TODO update the JSON string below +json = "{}" +# create an instance of Notification from a JSON string +notification_instance = Notification.from_json(json) +# print the JSON string representation of the object +print(Notification.to_json()) + +# convert the object into a dict +notification_dict = notification_instance.to_dict() +# create an instance of Notification from a dict +notification_from_dict = Notification.from_dict(notification_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/RbacRestrictions.md b/docs/RbacRestrictions.md new file mode 100644 index 00000000..cb210c60 --- /dev/null +++ b/docs/RbacRestrictions.md @@ -0,0 +1,43 @@ +# RbacRestrictions + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**action_filters** | **List[str]** | | [optional] +**alerting_channels** | **List[str]** | | [optional] +**apdex_ids** | **List[str]** | | [optional] +**applications** | **List[str]** | | [optional] +**business_perspectives** | **List[str]** | | [optional] +**infra_dfq_filter** | **List[str]** | | [optional] +**kubernetes_clusters** | **List[str]** | | [optional] +**kubernetes_namespaces** | **List[str]** | | [optional] +**log_filters** | **List[str]** | | [optional] +**logging_perspectives** | **List[str]** | | [optional] +**mobile_apps** | **List[str]** | | [optional] +**service_levels** | **List[str]** | | [optional] +**synthetic_credentials** | **List[str]** | | [optional] +**synthetic_tests** | **List[str]** | | [optional] +**websites** | **List[str]** | | [optional] + +## Example + +```python +from instana_client.models.rbac_restrictions import RbacRestrictions + +# TODO update the JSON string below +json = "{}" +# create an instance of RbacRestrictions from a JSON string +rbac_restrictions_instance = RbacRestrictions.from_json(json) +# print the JSON string representation of the object +print(RbacRestrictions.to_json()) + +# convert the object into a dict +rbac_restrictions_dict = rbac_restrictions_instance.to_dict() +# create an instance of RbacRestrictions from a dict +rbac_restrictions_from_dict = RbacRestrictions.from_dict(rbac_restrictions_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/RunEvaluationResponse.md b/docs/RunEvaluationResponse.md new file mode 100644 index 00000000..4d0352e5 --- /dev/null +++ b/docs/RunEvaluationResponse.md @@ -0,0 +1,32 @@ +# RunEvaluationResponse + +Response from running an evaluation + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**gateway_name** | **str** | The LLM gateway name that will be used for evaluation | [optional] +**message** | **str** | Status message | [optional] +**success** | **bool** | Whether the evaluation run was initiated successfully | [optional] + +## Example + +```python +from instana_client.models.run_evaluation_response import RunEvaluationResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RunEvaluationResponse from a JSON string +run_evaluation_response_instance = RunEvaluationResponse.from_json(json) +# print the JSON string representation of the object +print(RunEvaluationResponse.to_json()) + +# convert the object into a dict +run_evaluation_response_dict = run_evaluation_response_instance.to_dict() +# create an instance of RunEvaluationResponse from a dict +run_evaluation_response_from_dict = RunEvaluationResponse.from_dict(run_evaluation_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/SamplingMetadata.md b/docs/SamplingMetadata.md new file mode 100644 index 00000000..ea218bcf --- /dev/null +++ b/docs/SamplingMetadata.md @@ -0,0 +1,34 @@ +# SamplingMetadata + +Metadata about sampling applied to infrastructure metrics query + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups_sampled** | **int** | Number of unique groups that were sampled | [optional] +**groups_skipped** | **int** | Number of unique groups that were not sampled | [optional] +**sampling_applied** | **bool** | Whether sampling was actually applied (true if any groups were sampled) | [optional] +**total_members_after** | **int** | Total number of entity members after sampling | [optional] +**total_members_before** | **int** | Total number of entity members before sampling | [optional] + +## Example + +```python +from instana_client.models.sampling_metadata import SamplingMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of SamplingMetadata from a JSON string +sampling_metadata_instance = SamplingMetadata.from_json(json) +# print the JSON string representation of the object +print(SamplingMetadata.to_json()) + +# convert the object into a dict +sampling_metadata_dict = sampling_metadata_instance.to_dict() +# create an instance of SamplingMetadata from a dict +sampling_metadata_from_dict = SamplingMetadata.from_dict(sampling_metadata_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/SaturationBlueprintIndicator.md b/docs/SaturationBlueprintIndicator.md index 7f89e51e..ba171261 100644 --- a/docs/SaturationBlueprintIndicator.md +++ b/docs/SaturationBlueprintIndicator.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric** | [**EntityMetric**](EntityMetric.md) | | [optional] **metric_name** | **str** | | [optional] **threshold** | **float** | Threshold Value for the Blueprint | [optional] diff --git a/docs/ServiceLevelsAlertConfigurationApi.md b/docs/ServiceLevelsAlertConfigurationApi.md index d338ba51..ea62b185 100644 --- a/docs/ServiceLevelsAlertConfigurationApi.md +++ b/docs/ServiceLevelsAlertConfigurationApi.md @@ -92,7 +92,7 @@ void (empty response body) |-------------|-------------|------------------| **204** | Service Levels Alert Configurations Deleted Successfully | - | **403** | Forbidden - User does not have permission to configure Service Levels Smart Alerts | - | -**422** | Unprocessable Entity - Invalid request | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -170,7 +170,7 @@ void (empty response body) |-------------|-------------|------------------| **204** | Service Levels Alert Configurations Disabled Successfully | - | **403** | Forbidden - User does not have permission to configure Service Levels Smart Alerts | - | -**422** | Unprocessable Entity - Invalid request | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -248,7 +248,7 @@ void (empty response body) |-------------|-------------|------------------| **204** | Service Levels Alert Configurations Enabled Successfully | - | **403** | Forbidden - User does not have permission to configure Service Levels Smart Alerts | - | -**422** | Unprocessable Entity - Invalid request | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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/SpanExcerpt.md b/docs/SpanExcerpt.md index 914cf962..62ac4e05 100644 --- a/docs/SpanExcerpt.md +++ b/docs/SpanExcerpt.md @@ -15,6 +15,7 @@ Name | Type | Description | Notes **kind** | **str** | There are 4 types of span kind: 1. `ENTRY`: An entry span represents an incoming request into a traced service. 2. `EXIT`: An exit span represents an outgoing request that a service makes to some other service. 3. `INTERMEDIATE`: An intermediate span represents anything that happens inside a traced service where the flow of control neither enters nor leaves that service, but stays inside it. 4. `UNKNOWN`: Instana can't determine the span kind. | **name** | **str** | The technical type of the span. For example, `node.http.client` or `jdbc`. | **parent_id** | **str** | The parent call id, referring to another call in the same trace which triggered the processing associated with this call. | [optional] +**sampling_rate** | **float** | The probability at which this span was sampled by the tracer. Only present if the span was subjected to sampling. | [optional] **stack_trace** | [**List[StackTraceItem]**](StackTraceItem.md) | For an erroneous call, if stack trace is available it will show a list of items containing file, method and line number of the code. | **start** | **int** | The timestamp when the call or request was initiated. For example, Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December 2024 04:27:59.870 GMT` | [optional] diff --git a/docs/StaticThreshold.md b/docs/StaticThreshold.md index 65937c12..354fb5ae 100644 --- a/docs/StaticThreshold.md +++ b/docs/StaticThreshold.md @@ -7,6 +7,8 @@ This threshold defines a static value to be evaluated with a specific operator. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **last_updated** | **int** | | [optional] +**lower_bound** | **float** | | [optional] +**upper_bound** | **float** | | [optional] **value** | **float** | | [optional] ## Example diff --git a/docs/StaticThresholdRule.md b/docs/StaticThresholdRule.md index 8efee0b3..5766c656 100644 --- a/docs/StaticThresholdRule.md +++ b/docs/StaticThresholdRule.md @@ -5,6 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**lower_bound** | **float** | | [optional] +**upper_bound** | **float** | | [optional] **value** | **float** | | [optional] ## Example diff --git a/docs/StatusCodeApplicationAlertRule.md b/docs/StatusCodeApplicationAlertRule.md index ad7626fb..6a0d96f6 100644 --- a/docs/StatusCodeApplicationAlertRule.md +++ b/docs/StatusCodeApplicationAlertRule.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric_name** | **str** | | **status_code_end** | **int** | | [optional] **status_code_start** | **int** | | [optional] diff --git a/docs/StatusCodeMobileAppAlertRule.md b/docs/StatusCodeMobileAppAlertRule.md index 79dcbcb2..c6b9491b 100644 --- a/docs/StatusCodeMobileAppAlertRule.md +++ b/docs/StatusCodeMobileAppAlertRule.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric_name** | **str** | | **operator** | **str** | | **value** | **str** | | diff --git a/docs/SyntheticAlertConfig.md b/docs/SyntheticAlertConfig.md index 43e4221a..09dee7ef 100644 --- a/docs/SyntheticAlertConfig.md +++ b/docs/SyntheticAlertConfig.md @@ -5,10 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**affected_locations_count** | **int** | Number of locations encounters failure | [optional] **alert_channel_ids** | **List[str]** | List of IDs of alert channels defined in Instana. Can be left empty. | **custom_payload_fields** | [**List[CustomPayloadField]**](CustomPayloadField.md) | Custom payload fields to send additional information in the alert notifications. Can be left empty. | **description** | **str** | Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration. | +**evaluation_type** | **str** | Determines whether synthetic test results are evaluated per location independently or grouped across all locations. | [optional] **grace_period** | **int** | The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires. | [optional] +**include_on_demand** | **bool** | Controls whether on-demand synthetic test runs should be included in alert evaluation. When true, both scheduled and on-demand test runs are evaluated. When false, only scheduled test runs are evaluated. Default behavior when not provided: (1) If tagFilterExpression contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → defaults to false; (3) If no RUN_TYPE filter exists → defaults to false. | [optional] **name** | **str** | Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration. | **rule** | [**SyntheticAlertRule**](SyntheticAlertRule.md) | | **severity** | **int** | The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). | [optional] diff --git a/docs/SyntheticAlertConfigWithMetadata.md b/docs/SyntheticAlertConfigWithMetadata.md index 54ffa1c4..fcac97f6 100644 --- a/docs/SyntheticAlertConfigWithMetadata.md +++ b/docs/SyntheticAlertConfigWithMetadata.md @@ -5,13 +5,16 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**affected_locations_count** | **int** | Number of locations encounters failure | [optional] **alert_channel_ids** | **List[str]** | List of IDs of alert channels defined in Instana. Can be left empty. | **created** | **int** | Unix timestamp representing the creation time of this revision. | [optional] **custom_payload_fields** | [**List[CustomPayloadField]**](CustomPayloadField.md) | Custom payload fields to send additional information in the alert notifications. Can be left empty. | **description** | **str** | Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration. | **enabled** | **bool** | Flag to indicate whether or not the configuration is enabled. | [optional] +**evaluation_type** | **str** | Determines whether synthetic test results are evaluated per location independently or grouped across all locations. | [optional] **grace_period** | **int** | The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires. | [optional] **id** | **str** | ID of this Synthetic Alert Config. | +**include_on_demand** | **bool** | Controls whether on-demand synthetic test runs should be included in alert evaluation. When true, both scheduled and on-demand test runs are evaluated. When false, only scheduled test runs are evaluated. Default behavior when not provided: (1) If tagFilterExpression contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → defaults to false; (3) If no RUN_TYPE filter exists → defaults to false. | [optional] **initial_created** | **int** | Unix timestamp representing the time of the initial revision. | [optional] **name** | **str** | Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration. | **read_only** | **bool** | Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. | [optional] diff --git a/docs/SyntheticAlertConfigWithRBACTag.md b/docs/SyntheticAlertConfigWithRBACTag.md index 080b1de1..a6e1a090 100644 --- a/docs/SyntheticAlertConfigWithRBACTag.md +++ b/docs/SyntheticAlertConfigWithRBACTag.md @@ -5,13 +5,16 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**affected_locations_count** | **int** | Number of locations encounters failure | [optional] **alert_channel_ids** | **List[str]** | List of IDs of alert channels defined in Instana. Can be left empty. | **created** | **int** | Unix timestamp representing the creation time of this revision. | [optional] **custom_payload_fields** | [**List[CustomPayloadField]**](CustomPayloadField.md) | Custom payload fields to send additional information in the alert notifications. Can be left empty. | **description** | **str** | Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration. | **enabled** | **bool** | Flag to indicate whether or not the configuration is enabled. | [optional] +**evaluation_type** | **str** | Determines whether synthetic test results are evaluated per location independently or grouped across all locations. | [optional] **grace_period** | **int** | The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires. | [optional] **id** | **str** | ID of this Synthetic Alert Config. | +**include_on_demand** | **bool** | Controls whether on-demand synthetic test runs should be included in alert evaluation. When true, both scheduled and on-demand test runs are evaluated. When false, only scheduled test runs are evaluated. Default behavior when not provided: (1) If tagFilterExpression contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → defaults to false; (3) If no RUN_TYPE filter exists → defaults to false. | [optional] **initial_created** | **int** | Unix timestamp representing the time of the initial revision. | [optional] **name** | **str** | Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration. | **rbac_tags** | [**List[ApiTag]**](ApiTag.md) | RBAC tags associated with the synthetic test | [optional] diff --git a/docs/SyntheticAlertConfigurationApi.md b/docs/SyntheticAlertConfigurationApi.md index 09853095..91fa9880 100644 --- a/docs/SyntheticAlertConfigurationApi.md +++ b/docs/SyntheticAlertConfigurationApi.md @@ -56,7 +56,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.SyntheticAlertConfigurationApi(api_client) - request_body = ['request_body_example'] # List[str] | + request_body = ["alert-id-1","alert-id-2","alert-id-3"] # List[str] | try: # Bulk Delete Synthetic Smart Alert Configs @@ -94,6 +94,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -135,7 +136,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.SyntheticAlertConfigurationApi(api_client) - request_body = ['request_body_example'] # List[str] | + request_body = ["alert-id-1","alert-id-2","alert-id-3"] # List[str] | try: # Bulk Disable Synthetic Smart Alert Configs @@ -173,6 +174,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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) @@ -214,7 +216,7 @@ configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.SyntheticAlertConfigurationApi(api_client) - request_body = ['request_body_example'] # List[str] | + request_body = ["alert-id-1","alert-id-2","alert-id-3"] # List[str] | try: # Bulk Enable Synthetic Smart Alert Configs @@ -252,6 +254,7 @@ void (empty response body) **204** | Successful - no content to return. | - | **400** | Bad request. | - | **403** | Insufficient permissions or limited in access. | - | +**422** | A non-empty ids set containing 1 to 1000 items is required | - | [[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/SyntheticPlaybackCapabilities.md b/docs/SyntheticPlaybackCapabilities.md index 55939e5a..d7056098 100644 --- a/docs/SyntheticPlaybackCapabilities.md +++ b/docs/SyntheticPlaybackCapabilities.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **browser_type** | **List[str]** | | **execution_type** | **List[str]** | | [optional] +**extensions** | **List[str]** | | [optional] **synthetic_type** | **List[str]** | | ## Example diff --git a/docs/SyntheticTypeConfiguration.md b/docs/SyntheticTypeConfiguration.md index 1e6a9ef6..050538af 100644 --- a/docs/SyntheticTypeConfiguration.md +++ b/docs/SyntheticTypeConfiguration.md @@ -1,6 +1,6 @@ # SyntheticTypeConfiguration -Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript. +Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, DNS, ICMP, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript. ## Properties diff --git a/docs/TeamsApi.md b/docs/TeamsApi.md index 0111e2c6..1688752a 100644 --- a/docs/TeamsApi.md +++ b/docs/TeamsApi.md @@ -442,7 +442,7 @@ with instana_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = instana_client.TeamsApi(api_client) id = 'teamId' # str | Id of the team to update - api_team = {"id":"teamId","tag":"teamTag","info":{"description":"description for the team"},"scope":{"accessPermissions":["LIMITED_APPLICATIONS_SCOPE"],"actionFilter":"","applications":["applicationId1","applicationId2"],"restrictedApplicationFilter":{"restrictingApplicationId":"applicationId3","label":"demo","tagFilterExpression":{"type":"TAG_FILTER","name":"service.name","operator":"EQUALS","entity":"DESTINATION","value":"butler"},"scope":"INCLUDE_NO_DOWNSTREAM"}},"members":[{"userId":"userId","email":"username@example.com","name":"userName","roles":[{"roleId":"-3","roleName":"Default","viaIdP":false}]}],"entities":[]} # ApiTeam | + api_team = instana_client.ApiTeam() # ApiTeam | Team to update try: # Update team @@ -459,7 +459,7 @@ with instana_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | **str**| Id of the team to update | - **api_team** | [**ApiTeam**](ApiTeam.md)| | + **api_team** | [**ApiTeam**](ApiTeam.md)| Team to update | ### Return type diff --git a/docs/TestResultCommonProperties.md b/docs/TestResultCommonProperties.md index 52b00cbc..b0eb013d 100644 --- a/docs/TestResultCommonProperties.md +++ b/docs/TestResultCommonProperties.md @@ -12,6 +12,11 @@ Name | Type | Description | Notes **dns_server_name** | **str** | | [optional] **dns_transport** | **str** | | [optional] **errors** | **List[str]** | | [optional] +**icmp_packet_count** | **int** | | [optional] +**icmp_packet_interval** | **str** | | [optional] +**icmp_packet_size** | **int** | | [optional] +**icmp_packet_timeout** | **str** | | [optional] +**icmp_target_host** | **str** | | [optional] **id** | **str** | | [optional] **ism_details** | **Dict[str, str]** | | [optional] **last_errors** | [**TestLastError**](TestLastError.md) | | [optional] @@ -19,6 +24,7 @@ Name | Type | Description | Notes **location_id** | **str** | | [optional] **run_type** | **str** | | [optional] **ssl_days_remaining** | **str** | | [optional] +**ssl_hostname** | **str** | | [optional] **test_common_properties** | [**TestCommonProperties**](TestCommonProperties.md) | | [optional] **test_id** | **str** | | **test_last_error** | [**TestLastError**](TestLastError.md) | | [optional] diff --git a/docs/TestResultDetailData.md b/docs/TestResultDetailData.md index ab032e02..7994fcf6 100644 --- a/docs/TestResultDetailData.md +++ b/docs/TestResultDetailData.md @@ -6,14 +6,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **har** | **Dict[str, object]** | | [optional] -**image_files** | **Dict[str, bytearray]** | | [optional] +**image_files** | **Dict[str, bytes]** | | [optional] **log_files** | **Dict[str, str]** | | [optional] **logs** | **str** | | [optional] **subtransaction_avg_metrics** | **Dict[str, object]** | | [optional] **subtransactions** | [**List[TestResultSubtransaction]**](TestResultSubtransaction.md) | | [optional] **test_id** | **str** | | [optional] **test_result_id** | **str** | | [optional] -**videos** | **bytearray** | | [optional] +**videos** | **bytes** | | [optional] ## Example diff --git a/docs/TimeConfig.md b/docs/TimeConfig.md new file mode 100644 index 00000000..3cae0bcc --- /dev/null +++ b/docs/TimeConfig.md @@ -0,0 +1,32 @@ +# TimeConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auto_refresh** | **bool** | | [optional] +**focused_moment** | **int** | | [optional] +**to** | **int** | | [optional] +**window_size** | **int** | | [optional] + +## Example + +```python +from instana_client.models.time_config import TimeConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of TimeConfig from a JSON string +time_config_instance = TimeConfig.from_json(json) +# print the JSON string representation of the object +print(TimeConfig.to_json()) + +# convert the object into a dict +time_config_dict = time_config_instance.to_dict() +# create an instance of TimeConfig from a dict +time_config_from_dict = TimeConfig.from_dict(time_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/TraceSamplingConfig.md b/docs/TraceSamplingConfig.md new file mode 100644 index 00000000..34999c62 --- /dev/null +++ b/docs/TraceSamplingConfig.md @@ -0,0 +1,38 @@ +# TraceSamplingConfig + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_at** | **int** | | [optional] +**enabled** | **bool** | | +**evaluation_window_minutes** | **int** | | [optional] +**retention_percentage** | **float** | | [optional] +**sampling_frequency_hours** | **int** | | [optional] +**sampling_rate** | **float** | | [optional] +**sampling_type** | **str** | | +**tenant_unit_id** | **str** | | [optional] +**updated_at** | **int** | | [optional] +**volume_strategy** | **str** | | + +## Example + +```python +from instana_client.models.trace_sampling_config import TraceSamplingConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of TraceSamplingConfig from a JSON string +trace_sampling_config_instance = TraceSamplingConfig.from_json(json) +# print the JSON string representation of the object +print(TraceSamplingConfig.to_json()) + +# convert the object into a dict +trace_sampling_config_dict = trace_sampling_config_instance.to_dict() +# create an instance of TraceSamplingConfig from a dict +trace_sampling_config_from_dict = TraceSamplingConfig.from_dict(trace_sampling_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/TrafficBlueprintIndicator.md b/docs/TrafficBlueprintIndicator.md index 2c9dde4c..a6d10945 100644 --- a/docs/TrafficBlueprintIndicator.md +++ b/docs/TrafficBlueprintIndicator.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**metric** | [**EntityMetric**](EntityMetric.md) | | [optional] **threshold** | **float** | Threshold Value for the Blueprint | [optional] **traffic_type** | **str** | | diff --git a/docs/TypeConfiguration.md b/docs/TypeConfiguration.md index afb90ed6..f4261f9d 100644 --- a/docs/TypeConfiguration.md +++ b/docs/TypeConfiguration.md @@ -7,6 +7,7 @@ List of configurations that contains the list of actions to run and the mode (au Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **condition** | [**Condition**](Condition.md) | | [optional] +**maintenance_window_ids** | **List[str]** | Optional list of maintenance window identifiers. When set, the policy will only run outside of the specified maintenance windows. | [optional] **name** | **str** | The policy type determines how a policy is run. Value must be one of the enum values. Value `manual` means the policy is run manually when an event is raised. Value `automatic` means policy is run automatically when an event is raised. | **runnable** | [**PolicyRunnable**](PolicyRunnable.md) | | diff --git a/docs/UpdateEvaluationRequest.md b/docs/UpdateEvaluationRequest.md new file mode 100644 index 00000000..e53ab421 --- /dev/null +++ b/docs/UpdateEvaluationRequest.md @@ -0,0 +1,39 @@ +# UpdateEvaluationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**description** | **str** | | [optional] +**evaluation_id** | **str** | | +**evaluation_name** | **str** | | +**evaluator_ids** | **List[str]** | | +**metadata** | **Dict[str, object]** | | [optional] +**model_names** | **List[str]** | | [optional] +**sampling_percentage** | **float** | | [optional] +**service_names** | **List[str]** | | [optional] +**time_before_run_hours** | **int** | | [optional] +**time_before_run_minutes** | **int** | | [optional] +**trace_ids** | **List[str]** | | [optional] + +## Example + +```python +from instana_client.models.update_evaluation_request import UpdateEvaluationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateEvaluationRequest from a JSON string +update_evaluation_request_instance = UpdateEvaluationRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateEvaluationRequest.to_json()) + +# convert the object into a dict +update_evaluation_request_dict = update_evaluation_request_instance.to_dict() +# create an instance of UpdateEvaluationRequest from a dict +update_evaluation_request_from_dict = UpdateEvaluationRequest.from_dict(update_evaluation_request_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/UpdateFleetConfigurationRequest.md b/docs/UpdateFleetConfigurationRequest.md new file mode 100644 index 00000000..122650f3 --- /dev/null +++ b/docs/UpdateFleetConfigurationRequest.md @@ -0,0 +1,31 @@ +# UpdateFleetConfigurationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**configuration** | **object** | | +**name** | **str** | | +**version** | **str** | | + +## Example + +```python +from instana_client.models.update_fleet_configuration_request import UpdateFleetConfigurationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateFleetConfigurationRequest from a JSON string +update_fleet_configuration_request_instance = UpdateFleetConfigurationRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateFleetConfigurationRequest.to_json()) + +# convert the object into a dict +update_fleet_configuration_request_dict = update_fleet_configuration_request_instance.to_dict() +# create an instance of UpdateFleetConfigurationRequest from a dict +update_fleet_configuration_request_from_dict = UpdateFleetConfigurationRequest.from_dict(update_fleet_configuration_request_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/UserApi.md b/docs/UserApi.md index 1a5d9f04..e265b97b 100644 --- a/docs/UserApi.md +++ b/docs/UserApi.md @@ -6,6 +6,7 @@ Method | HTTP request | Description ------------- | ------------- | ------------- [**get_invitations**](UserApi.md#get_invitations) | **GET** /api/settings/invitations | All pending invitations [**get_user_by_id**](UserApi.md#get_user_by_id) | **GET** /api/settings/users/{userId} | Get single user +[**get_user_mappings**](UserApi.md#get_user_mappings) | **GET** /api/settings/users/{userId}/mappings | Get user role mappings [**get_users**](UserApi.md#get_users) | **GET** /api/settings/users | All users (without invitations) [**get_users_including_invitations**](UserApi.md#get_users_including_invitations) | **GET** /api/settings/users/overview | All users (incl. invitations) [**invite_users**](UserApi.md#invite_users) | **POST** /api/settings/invitations | Send user invitations @@ -169,6 +170,87 @@ 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_user_mappings** +> List[RoleMappingOverview] get_user_mappings(user_id) + +Get user role mappings + +Retrieves all IdP role mappings applicable to the specified user. + +### Example + +* Api Key Authentication (ApiKeyAuth): + +```python +import instana_client +from instana_client.models.role_mapping_overview import RoleMappingOverview +from instana_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://unit-tenant.instana.io +# See configuration.py for a list of all supported configuration parameters. +configuration = instana_client.Configuration( + host = "https://unit-tenant.instana.io" +) + +# 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. + +# Configure API key authorization: ApiKeyAuth +configuration.api_key['ApiKeyAuth'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['ApiKeyAuth'] = 'Bearer' + +# Enter a context with an instance of the API client +with instana_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = instana_client.UserApi(api_client) + user_id = 'userId' # str | Id of the user + + try: + # Get user role mappings + api_response = api_instance.get_user_mappings(user_id) + print("The response of UserApi->get_user_mappings:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UserApi->get_user_mappings: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_id** | **str**| Id of the user | + +### Return type + +[**List[RoleMappingOverview]**](RoleMappingOverview.md) + +### Authorization + +[ApiKeyAuth](../README.md#ApiKeyAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**401** | Unauthorized access - requires user authentication. | - | +**403** | Insufficient permissions or limited in access. | - | + +[[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_users** > List[UserResult] get_users() diff --git a/docs/Website.md b/docs/Website.md index cb0b0c86..a39cd068 100644 --- a/docs/Website.md +++ b/docs/Website.md @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **app_name** | **str** | | [optional] +**business_criticality** | **int** | | [optional] **id** | **str** | | **name** | **str** | | diff --git a/docs/WebsiteConfigurationApi.md b/docs/WebsiteConfigurationApi.md index bcdba91e..7647e81a 100644 --- a/docs/WebsiteConfigurationApi.md +++ b/docs/WebsiteConfigurationApi.md @@ -1427,7 +1427,7 @@ with instana_client.ApiClient(configuration) as api_client: api_instance = instana_client.WebsiteConfigurationApi(api_client) website_id = 'UhzF-fWORlyVLHDlvutYYQ' # str | Website ID source_map_config_id = '97e0ad312110d3ad' # str | Source Map Config ID - source_map = None # bytearray | Local Source Map file path + source_map = None # bytes | Local Source Map file path url = 'url_example' # str | URL of the website file_format = 'file_format_example' # str | (optional) @@ -1449,7 +1449,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **website_id** | **str**| Website ID | **source_map_config_id** | **str**| Source Map Config ID | - **source_map** | **bytearray**| Local Source Map file path | + **source_map** | **bytes**| Local Source Map file path | **url** | **str**| URL of the website | **file_format** | **str**| | [optional] diff --git a/instana_client/__init__.py b/instana_client/__init__.py index 27816e23..ac3167e6 100644 --- a/instana_client/__init__.py +++ b/instana_client/__init__.py @@ -7,7 +7,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -15,627 +15,1317 @@ """ # noqa: E501 -__version__ = "1.0.9" +__version__ = "1.1.0" + +# Define package exports +__all__ = [ + "AIManagementApi", + "APITokenApi", + "ActionCatalogApi", + "ActionHistoryApi", + "ApdexReportApi", + "ApdexSettingsApi", + "ApplicationAlertConfigurationApi", + "ApplicationAnalyzeApi", + "ApplicationCatalogApi", + "ApplicationMetricsApi", + "ApplicationResourcesApi", + "ApplicationSettingsApi", + "ApplicationTopologyApi", + "AuditLogApi", + "AuthenticationApi", + "BusinessMonitoringApi", + "CustomDashboardsApi", + "CustomEntitiesApi", + "EndUserMonitoringApi", + "EventSettingsApi", + "EventsApi", + "FleetManagementApi", + "GlobalApplicationAlertConfigurationApi", + "GroupsApi", + "HealthApi", + "HostAgentApi", + "IPFilteringApi", + "InfrastructureAlertConfigurationApi", + "InfrastructureAnalyzeApi", + "InfrastructureCatalogApi", + "InfrastructureMetricsApi", + "InfrastructureResourcesApi", + "InfrastructureTopologyApi", + "LLMEvaluationApi", + "LLMPriceConfigurationApi", + "LogAlertConfigurationApi", + "LoggingAnalyzeApi", + "MaintenanceConfigurationApi", + "MobileAppAnalyzeApi", + "MobileAppCatalogApi", + "MobileAppConfigurationApi", + "MobileAppMetricsApi", + "MobileAppSessionReplayApi", + "PoliciesApi", + "ReleasesApi", + "RolesApi", + "SLIReportApi", + "SLISettingsApi", + "SLOCatalogForMobileAppApi", + "SLOConfigurationsApi", + "SLOCorrectionConfigurationsApi", + "SLOCorrectionWindowsApi", + "ServiceLevelsAlertConfigurationApi", + "ServiceLevelsObjectiveSLOReportApi", + "SessionSettingsApi", + "SyntheticAlertConfigurationApi", + "SyntheticCallsApi", + "SyntheticCatalogApi", + "SyntheticMetricsApi", + "SyntheticSettingsApi", + "SyntheticTestPlaybackResultsApi", + "TeamsApi", + "UsageApi", + "UserApi", + "WebsiteAnalyzeApi", + "WebsiteCatalogApi", + "WebsiteConfigurationApi", + "WebsiteMetricsApi", + "DefaultApi", + "ApiResponse", + "ApiClient", + "Configuration", + "OpenApiException", + "ApiTypeError", + "ApiValueError", + "ApiKeyError", + "ApiAttributeError", + "ApiException", + "AbstractIntegration", + "AbstractRule", + "AccessRule", + "Action", + "ActionBeacon", + "ActionConfiguration", + "ActionInstance", + "ActionInstanceMetadataEntry", + "ActionInstanceParameter", + "ActionInstanceRequest", + "ActionInstanceRequestParameters", + "ActionMatch", + "ActionSearchSpace", + "AdaptiveBaseline", + "AdaptiveThresholdRule", + "AdjustedTimeframe", + "AdvancedCustomBlueprintIndicator", + "AdvancedFilter", + "AgentConfigurationUpdate", + "AgentModeUpdate", + "AlertingConfiguration", + "AlertingConfigurationWithLastUpdated", + "AlertingTimeWindow", + "ApdexAlertRule", + "ApdexConfigWithRBACTag", + "ApdexConfiguration", + "ApdexConfigurationInput", + "ApdexEntity", + "ApdexLevel", + "ApdexReport", + "ApiCreateGroup", + "ApiCreateRole", + "ApiGroup", + "ApiLogItem", + "ApiLogTag", + "ApiMember", + "ApiPermissionSet", + "ApiRestrictedApplicationFilter", + "ApiRole", + "ApiTag", + "ApiTeam", + "ApiTeamInfo", + "ApiTeamMember", + "ApiTeamRole", + "ApiTeamScope", + "ApiToken", + "AppDataMetricConfiguration", + "Application", + "ApplicationAlertConfig", + "ApplicationAlertConfigWithMetadata", + "ApplicationAlertRule", + "ApplicationApdexEntity", + "ApplicationConfig", + "ApplicationEventResult", + "ApplicationItem", + "ApplicationMetricResult", + "ApplicationNode", + "ApplicationResult", + "ApplicationScope", + "ApplicationScopeWithMetadata", + "ApplicationSliEntity", + "ApplicationSloEntity", + "ApplicationTimeThreshold", + "AuditLogUiResponse", + "Author", + "AvailabilityBlueprintIndicator", + "AvailabilitySliEntity", + "AvailableMetrics", + "AvailablePlugins", + "BackendTraceReference", + "BidirectionalMsTeamsAppIntegration", + "BidirectionalSlackAppIntegration", + "BinaryOperatorDTO", + "BrowserScriptConfiguration", + "BrowserScriptConfigurationUpdate", + "BuiltInEventSpecification", + "BuiltInEventSpecificationWithLastUpdated", + "BulkAlertConfigRequest", + "BusinessActivity", + "BusinessPerspectiveConfig", + "CallGroupsItem", + "CallGroupsResult", + "CallRelation", + "ChangeSummary", + "CloudfoundryPhysicalContext", + "Condition", + "ConfigVersion", + "Correction", + "CorrectionConfiguration", + "CorrectionScheduling", + "CorrectionWindow", + "CrashMobileAppAlertRule", + "CreateEvaluationRequest", + "CreateEvaluationResponse", + "CreateWebsiteRequestInner", + "CursorPaginatedBusinessActivityItem", + "CursorPagination", + "CursorPaginationWithUiCursorInfraExploreCursor", + "CustomBlueprintIndicator", + "CustomDashboard", + "CustomDashboardPreview", + "CustomDashboardWithUserSpecificInformation", + "CustomDependency", + "CustomEmailSubjectPrefix", + "CustomEntityModel", + "CustomEntityWithMetadata", + "CustomEventMobileAppAlertRule", + "CustomEventSpecification", + "CustomEventSpecificationWithLastUpdated", + "CustomEventWebsiteAlertRule", + "CustomMetric", + "CustomPayloadConfiguration", + "CustomPayloadField", + "CustomPayloadWithLastUpdated", + "CustomPayloadWithVersion", + "CustomTag", + "CustomerEmail", + "DNSConfiguration", + "DNSConfigurationUpdate", + "DNSFilterQueryTime", + "DNSFilterTargetValue", + "DashboardApiToken", + "DatabaseIntegration", + "DeprecatedTagFilter", + "Duration", + "DynamicField", + "DynamicFieldValue", + "DynamicParameter", + "DynamicTag", + "EditUser", + "EmailIntegration", + "EmptyConfiguration", + "Endpoint", + "EndpointConfig", + "EndpointEventResult", + "EndpointItem", + "EndpointMetricResult", + "EndpointNode", + "EndpointResult", + "EndpointSimple", + "EntityCountRule", + "EntityCountVerificationRule", + "EntityHealthInfo", + "EntityId", + "EntityMetric", + "EntityMetricScope", + "EntityVerificationRule", + "ErrorBudgetAlertRule", + "ErrorsApplicationAlertRule", + "EvaluationDetailResponse", + "EvaluationListItem", + "EvaluationListResponse", + "Evaluator", + "Event", + "EventFilteringConfiguration", + "EventResult", + "EventSpecificationInfo", + "ExtendedService", + "FailureSyntheticAlertRule", + "FilterInterface", + "FixedHttpPathSegmentMatchingRule", + "FixedTimeWindow", + "FleetConfiguration", + "FleetConfigurationAssignment", + "FleetConfigurationAssignmentResponse", + "FleetConfigurationResponse", + "GatewayStatusResponse", + "GenericInfraAlertRule", + "GeoLocationConfiguration", + "GeoMappingRule", + "GeoSubdivision", + "GetActionBeaconsResult", + "GetActivities", + "GetApplicationMetrics", + "GetApplications", + "GetAvailableMetricsQuery", + "GetAvailablePluginsQuery", + "GetCallGroups", + "GetCombinedMetrics", + "GetDynamicParameterValues", + "GetEndpoints", + "GetInfrastructureGroupsQuery", + "GetInfrastructureQuery", + "GetMetricsResult", + "GetMobileAppBeaconGroups", + "GetMobileAppBeacons", + "GetMobileAppMetrics", + "GetMobileAppMetricsV2", + "GetPayloadKeysResult", + "GetServices", + "GetSessionReplayMetadataResult", + "GetSnapshotsQuery", + "GetTestResult", + "GetTestResultAnalytic", + "GetTestResultBase", + "GetTestResultList", + "GetTestSummaryResult", + "GetTraceDownloadResultItem", + "GetTraceGroups", + "GetTraces", + "GetWebsiteBeaconGroups", + "GetWebsiteBeacons", + "GetWebsiteMetrics", + "GetWebsiteMetricsV2", + "GitHubConfiguration", + "GlobalApplicationAlertConfigWithMetadata", + "GlobalApplicationsAlertConfig", + "GoogleChatIntegration", + "GraphEdge", + "GraphNode", + "Group", + "GroupByTag", + "GroupMapping", + "GroupMappingOverview", + "HealthState", + "HistoricBaseline", + "HostAvailabilityRule", + "HttpActionConfiguration", + "HttpActionConfigurationUpdate", + "HttpEndpointConfig", + "HttpEndpointRule", + "HttpPathSegmentMatchingRule", + "HttpScriptConfiguration", + "HttpScriptConfigurationUpdate", + "HyperParam", + "ICMPConfiguration", + "ICMPConfigurationUpdate", + "ICMPValidation", + "IPFiltering", + "IPFilteringRuleDto", + "IPFilteringUpsert", + "IdentityProviderPatch", + "IdpStatusUpdate", + "ImpactedBeaconInfo", + "InfraAlertConfig", + "InfraAlertConfigWithMetadata", + "InfraAlertRule", + "InfraEventResult", + "InfraSloEntity", + "InfraTimeThreshold", + "InfrastructureEntitiesResult", + "InfrastructureGroup", + "InfrastructureGroupsResult", + "InfrastructureItem", + "InfrastructureMetricResult", + "InstanaVersionInfo", + "IntegrationOverview", + "Invitation", + "InvitationResponse", + "InvitationResult", + "IpMaskingConfiguration", + "JsStackTraceLine", + "KubernetesPhysicalContext", + "LLMEgressGateway", + "LLMGatewayCapability", + "LLMGatewayModel", + "LLMGatewayService", + "LLMGatewayTestConnectionRequest", + "LatencyBlueprintIndicator", + "LlmModelPrice", + "LlmModelPriceMetadata", + "LocationStatus", + "LogAlertConfig", + "LogAlertConfigWithMetadata", + "LogAlertRule", + "LogCountAlertRule", + "LogEventResult", + "LogTimeThreshold", + "LogVolumeGroup", + "LogVolumeUsageItem", + "LogVolumeUsageResult", + "LogsApiResponse", + "LogsApplicationAlertRule", + "LogsQuery", + "MaintenanceConfig", + "MaintenanceConfigScheduling", + "MaintenanceConfigV2", + "MaintenanceConfigV2WithStateAndOccurrence", + "MaintenanceConfigWithLastUpdated", + "MaintenanceWindow", + "ManualAlertingChannelConfiguration", + "ManualCloseInfo", + "ManualServiceConfig", + "MatchAllHttpPathSegmentMatchingRule", + "MatchExpressionDTO", + "MetaData", + "MetricAPIResult", + "MetricConfig", + "MetricConfiguration", + "MetricDescription", + "MetricField", + "MetricFieldValue", + "MetricInstance", + "MetricItem", + "MetricMetadata", + "MetricPattern", + "MetricsResult", + "MetricsResultItem", + "MetricsTestResultItem", + "MobileApp", + "MobileAppAlertConfig", + "MobileAppAlertConfigWithRBACTag", + "MobileAppAlertRule", + "MobileAppBeaconGroupsItem", + "MobileAppBeaconGroupsResult", + "MobileAppBeaconResult", + "MobileAppBeaconTagGroup", + "MobileAppBeaconsItem", + "MobileAppEventResult", + "MobileAppMetricResult", + "MobileAppMonitoringBeacon", + "MobileAppMonitoringMetricDescription", + "MobileAppMonitoringMetricsConfiguration", + "MobileAppTimeThreshold", + "MobileSloEntity", + "ModelField", + "MonitoredEntitiesStats", + "MonitoringState", + "MultipleScriptsConfiguration", + "NS1Integration", + "NewApplicationConfig", + "NewBusinessPerspectiveConfig", + "NewManualServiceConfig", + "Notification", + "OAuthConfig", + "OAuthIntegration", + "OAuthToken", + "Occurrence", + "Office365Integration", + "OneTimeMaintenanceWindow", + "OpsgenieIntegration", + "Order", + "PagerdutyIntegration", + "PaginatedResult", + "Pagination", + "Parameter", + "ParameterValue", + "PathParameterHttpPathSegmentMatchingRule", + "PhysicalContext", + "PluginResult", + "Policy", + "PolicyRunnable", + "PolicyScheduling", + "PostMobileAppSourceMapConfigRequest", + "PostSnapshotsResult", + "PrefixObject", + "Problem", + "PrometheusWebhookIntegration", + "RbacRestrictions", + "RecurrentMaintenanceWindow", + "Release", + "ReleaseScope", + "ReleaseWithMetadata", + "RetentionPeriod", + "RoleMappingOverview", + "RollingTimeWindow", + "RuleInput", + "RuleWithThresholdApplicationAlertRule", + "RuleWithThresholdInfraAlertRule", + "RuleWithThresholdLogAlertRule", + "RuleWithThresholdMobileAppAlertRule", + "RuleWithThresholdWebsiteAlertRule", + "RunConfiguration", + "RunEvaluationResponse", + "SLOConfigWithRBACTag", + "SSLCertificateConfiguration", + "SSLCertificateConfigurationUpdate", + "SSLCertificateValidation", + "SalesforceIntegration", + "SamplingMetadata", + "SaturationBlueprintIndicator", + "ScopeBinding", + "SearchFieldResult", + "Service", + "ServiceConfig", + "ServiceEventResult", + "ServiceItem", + "ServiceLevelIndicator", + "ServiceLevelObjectiveAlertRule", + "ServiceLevelsAlertConfig", + "ServiceLevelsAlertConfigWithRBACTag", + "ServiceLevelsAlertRule", + "ServiceLevelsBurnRateConfig", + "ServiceLevelsBurnRateTimeWindows", + "ServiceLevelsStaticThresholdConfig", + "ServiceLevelsTimeThreshold", + "ServiceLevelseAlertConfigWithMetadata", + "ServiceMap", + "ServiceMapConnection", + "ServiceMatchingRule", + "ServiceMetricResult", + "ServiceNode", + "ServiceNowEnhancedIntegration", + "ServiceNowIntegration", + "ServiceResult", + "ServiceScope", + "ServiceScopeWithMetadata", + "ServiceScopedTo", + "ServiceScopedToWithMetadata", + "ServiceSimple", + "SessionReplayMetadata", + "SessionReplayTimestamps", + "SessionSettings", + "SimpleMetricConfiguration", + "SlackIntegration", + "SliConfiguration", + "SliConfigurationWithLastUpdated", + "SliEntity", + "SliReport", + "SloEntity", + "SloReport", + "SlownessApplicationAlertRule", + "SlownessMobileAppAlertRule", + "SlownessWebsiteAlertRule", + "SnapshotItem", + "SnapshotPreview", + "SnapshotResult", + "SoftwareUser", + "SoftwareVersion", + "SourceMapFileBlob", + "SourceMapFileMeta", + "SourceMapUploadConfig", + "SourceMapUploadConfigs", + "SpanExcerpt", + "SpanRelation", + "SpecificJsErrorsWebsiteAlertRule", + "SplunkIntegration", + "StackTraceItem", + "StackTraceLine", + "StaticBaselineThresholdRule", + "StaticStringField", + "StaticThreshold", + "StaticThresholdRule", + "StatusCodeApplicationAlertRule", + "StatusCodeMobileAppAlertRule", + "StatusCodeWebsiteAlertRule", + "SyntheticAlertConfig", + "SyntheticAlertConfigWithMetadata", + "SyntheticAlertConfigWithRBACTag", + "SyntheticAlertRule", + "SyntheticBulkResponse", + "SyntheticCallConfig", + "SyntheticCallRule", + "SyntheticCallWithDefaultsConfig", + "SyntheticConfiguration", + "SyntheticConfigurationUpdate", + "SyntheticCredential", + "SyntheticDatacenter", + "SyntheticDatacenterConfiguration", + "SyntheticGeoPoint", + "SyntheticLocation", + "SyntheticLocationConfiguration", + "SyntheticMetricConfiguration", + "SyntheticMetricTagGroup", + "SyntheticPlaybackCapabilities", + "SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue", + "SyntheticResourceUpdateListICMPValidationListICMPValidation", + "SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation", + "SyntheticResourceUpdateListStringListString", + "SyntheticResourceUpdateMapStringStringListString", + "SyntheticSloEntity", + "SyntheticTest", + "SyntheticTestCICD", + "SyntheticTestCICDCustomization", + "SyntheticTestCICDItem", + "SyntheticTestCICDResponse", + "SyntheticTestDeepUpdate", + "SyntheticTestShallowUpdate", + "SyntheticTestUpdate", + "SyntheticTimeThreshold", + "SyntheticTypeConfiguration", + "SyntheticTypeConfigurationUpdate", + "SyntheticsEventResult", + "SystemRule", + "SystemRuleLabel", + "Tag", + "TagCatalog", + "TagFilter", + "TagFilterExpression", + "TagFilterExpressionElement", + "TagMatcherDTO", + "TagTreeLevel", + "TagTreeNode", + "TagTreeTag", + "TestCommonProperties", + "TestConnectionResponse", + "TestLastError", + "TestResult", + "TestResultCommonProperties", + "TestResultDetailData", + "TestResultItem", + "TestResultListItem", + "TestResultListResult", + "TestResultMetadata", + "TestResultSubtransaction", + "Threshold", + "ThresholdConfigRule", + "ThresholdRule", + "ThroughputApplicationAlertRule", + "ThroughputMobileAppAlertRule", + "ThroughputWebsiteAlertRule", + "TimeConfig", + "TimeFrame", + "TimeWindow", + "Topology", + "Trace", + "TraceActivityTreeNodeDetails", + "TraceDownloadResult", + "TraceGroupsItem", + "TraceGroupsResult", + "TraceImpactApplicationTimeThreshold", + "TraceItem", + "TraceResult", + "TraceSamplingConfig", + "TrafficBlueprintIndicator", + "Trigger", + "TypeConfiguration", + "UnsupportedHttpPathSegmentMatchingRule", + "UpdateEvaluationRequest", + "UpdateFleetConfigurationRequest", + "UpdatedBusinessPerspectiveConfig", + "UsageResult", + "UsageResultItems", + "UserBasicResult", + "UserImpactMobileAppTimeThreshold", + "UserImpactWebsiteTimeThreshold", + "UserResult", + "UsersResult", + "ValidatedAlertingChannelInputInfo", + "ValidatedAlertingConfiguration", + "ValidatedMaintenanceConfigV2WithStateAndOccurrence", + "ValidatedMaintenanceConfigWithStatus", + "VictorOpsIntegration", + "ViolationsInPeriodApplicationTimeThreshold", + "ViolationsInPeriodMobileAppTimeThreshold", + "ViolationsInPeriodWebsiteTimeThreshold", + "ViolationsInSequenceApplicationTimeThreshold", + "ViolationsInSequenceInfraTimeThreshold", + "ViolationsInSequenceLogTimeThreshold", + "ViolationsInSequenceMobileAppTimeThreshold", + "ViolationsInSequenceSyntheticTimeThreshold", + "ViolationsInSequenceWebsiteTimeThreshold", + "WatsonAIOpsWebhookIntegration", + "WebexTeamsWebhookIntegration", + "WebhookIntegration", + "WebpageActionConfiguration", + "WebpageActionConfigurationUpdate", + "WebpageScriptConfiguration", + "WebpageScriptConfigurationUpdate", + "Website", + "WebsiteAlertConfig", + "WebsiteAlertConfigWithMetadata", + "WebsiteAlertConfigWithRBACTag", + "WebsiteAlertRule", + "WebsiteApdexEntity", + "WebsiteBeaconGroupsItem", + "WebsiteBeaconGroupsResult", + "WebsiteBeaconResult", + "WebsiteBeaconTagGroup", + "WebsiteBeaconsItem", + "WebsiteEventBasedSliEntity", + "WebsiteEventResult", + "WebsiteMetricResult", + "WebsiteMonitoringBeacon", + "WebsiteMonitoringMetricDescription", + "WebsiteMonitoringMetricsConfiguration", + "WebsiteSloEntity", + "WebsiteTimeBasedSliEntity", + "WebsiteTimeThreshold", + "Widget", + "WithMetaData", + "WithResolvedName", + "ZChatOpsIntegration", +] # import apis into sdk package -from instana_client.api.ai_management_api import AIManagementApi -from instana_client.api.api_token_api import APITokenApi -from instana_client.api.action_catalog_api import ActionCatalogApi -from instana_client.api.action_history_api import ActionHistoryApi -from instana_client.api.apdex_report_api import ApdexReportApi -from instana_client.api.apdex_settings_api import ApdexSettingsApi -from instana_client.api.application_alert_configuration_api import ApplicationAlertConfigurationApi -from instana_client.api.application_analyze_api import ApplicationAnalyzeApi -from instana_client.api.application_catalog_api import ApplicationCatalogApi -from instana_client.api.application_metrics_api import ApplicationMetricsApi -from instana_client.api.application_resources_api import ApplicationResourcesApi -from instana_client.api.application_settings_api import ApplicationSettingsApi -from instana_client.api.application_topology_api import ApplicationTopologyApi -from instana_client.api.audit_log_api import AuditLogApi -from instana_client.api.authentication_api import AuthenticationApi -from instana_client.api.business_monitoring_api import BusinessMonitoringApi -from instana_client.api.custom_dashboards_api import CustomDashboardsApi -from instana_client.api.custom_entities_api import CustomEntitiesApi -from instana_client.api.end_user_monitoring_api import EndUserMonitoringApi -from instana_client.api.event_settings_api import EventSettingsApi -from instana_client.api.events_api import EventsApi -from instana_client.api.global_application_alert_configuration_api import GlobalApplicationAlertConfigurationApi -from instana_client.api.groups_api import GroupsApi -from instana_client.api.health_api import HealthApi -from instana_client.api.host_agent_api import HostAgentApi -from instana_client.api.ip_filtering_api import IPFilteringApi -from instana_client.api.infrastructure_alert_configuration_api import InfrastructureAlertConfigurationApi -from instana_client.api.infrastructure_analyze_api import InfrastructureAnalyzeApi -from instana_client.api.infrastructure_catalog_api import InfrastructureCatalogApi -from instana_client.api.infrastructure_metrics_api import InfrastructureMetricsApi -from instana_client.api.infrastructure_resources_api import InfrastructureResourcesApi -from instana_client.api.infrastructure_topology_api import InfrastructureTopologyApi -from instana_client.api.llm_price_configuration_api import LLMPriceConfigurationApi -from instana_client.api.log_alert_configuration_api import LogAlertConfigurationApi -from instana_client.api.logging_analyze_api import LoggingAnalyzeApi -from instana_client.api.maintenance_configuration_api import MaintenanceConfigurationApi -from instana_client.api.mobile_app_analyze_api import MobileAppAnalyzeApi -from instana_client.api.mobile_app_catalog_api import MobileAppCatalogApi -from instana_client.api.mobile_app_configuration_api import MobileAppConfigurationApi -from instana_client.api.mobile_app_metrics_api import MobileAppMetricsApi -from instana_client.api.policies_api import PoliciesApi -from instana_client.api.releases_api import ReleasesApi -from instana_client.api.roles_api import RolesApi -from instana_client.api.sli_report_api import SLIReportApi -from instana_client.api.sli_settings_api import SLISettingsApi -from instana_client.api.slo_catalog_for_mobile_app_api import SLOCatalogForMobileAppApi -from instana_client.api.slo_configurations_api import SLOConfigurationsApi -from instana_client.api.slo_correction_configurations_api import SLOCorrectionConfigurationsApi -from instana_client.api.slo_correction_windows_api import SLOCorrectionWindowsApi -from instana_client.api.service_levels_alert_configuration_api import ServiceLevelsAlertConfigurationApi -from instana_client.api.service_levels_objective_slo_report_api import ServiceLevelsObjectiveSLOReportApi -from instana_client.api.session_settings_api import SessionSettingsApi -from instana_client.api.synthetic_alert_configuration_api import SyntheticAlertConfigurationApi -from instana_client.api.synthetic_calls_api import SyntheticCallsApi -from instana_client.api.synthetic_catalog_api import SyntheticCatalogApi -from instana_client.api.synthetic_metrics_api import SyntheticMetricsApi -from instana_client.api.synthetic_settings_api import SyntheticSettingsApi -from instana_client.api.synthetic_test_playback_results_api import SyntheticTestPlaybackResultsApi -from instana_client.api.teams_api import TeamsApi -from instana_client.api.usage_api import UsageApi -from instana_client.api.user_api import UserApi -from instana_client.api.website_analyze_api import WebsiteAnalyzeApi -from instana_client.api.website_catalog_api import WebsiteCatalogApi -from instana_client.api.website_configuration_api import WebsiteConfigurationApi -from instana_client.api.website_metrics_api import WebsiteMetricsApi -from instana_client.api.default_api import DefaultApi +from instana_client.api.ai_management_api import AIManagementApi as AIManagementApi +from instana_client.api.api_token_api import APITokenApi as APITokenApi +from instana_client.api.action_catalog_api import ActionCatalogApi as ActionCatalogApi +from instana_client.api.action_history_api import ActionHistoryApi as ActionHistoryApi +from instana_client.api.apdex_report_api import ApdexReportApi as ApdexReportApi +from instana_client.api.apdex_settings_api import ApdexSettingsApi as ApdexSettingsApi +from instana_client.api.application_alert_configuration_api import ApplicationAlertConfigurationApi as ApplicationAlertConfigurationApi +from instana_client.api.application_analyze_api import ApplicationAnalyzeApi as ApplicationAnalyzeApi +from instana_client.api.application_catalog_api import ApplicationCatalogApi as ApplicationCatalogApi +from instana_client.api.application_metrics_api import ApplicationMetricsApi as ApplicationMetricsApi +from instana_client.api.application_resources_api import ApplicationResourcesApi as ApplicationResourcesApi +from instana_client.api.application_settings_api import ApplicationSettingsApi as ApplicationSettingsApi +from instana_client.api.application_topology_api import ApplicationTopologyApi as ApplicationTopologyApi +from instana_client.api.audit_log_api import AuditLogApi as AuditLogApi +from instana_client.api.authentication_api import AuthenticationApi as AuthenticationApi +from instana_client.api.business_monitoring_api import BusinessMonitoringApi as BusinessMonitoringApi +from instana_client.api.custom_dashboards_api import CustomDashboardsApi as CustomDashboardsApi +from instana_client.api.custom_entities_api import CustomEntitiesApi as CustomEntitiesApi +from instana_client.api.end_user_monitoring_api import EndUserMonitoringApi as EndUserMonitoringApi +from instana_client.api.event_settings_api import EventSettingsApi as EventSettingsApi +from instana_client.api.events_api import EventsApi as EventsApi +from instana_client.api.fleet_management_api import FleetManagementApi as FleetManagementApi +from instana_client.api.global_application_alert_configuration_api import GlobalApplicationAlertConfigurationApi as GlobalApplicationAlertConfigurationApi +from instana_client.api.groups_api import GroupsApi as GroupsApi +from instana_client.api.health_api import HealthApi as HealthApi +from instana_client.api.host_agent_api import HostAgentApi as HostAgentApi +from instana_client.api.ip_filtering_api import IPFilteringApi as IPFilteringApi +from instana_client.api.infrastructure_alert_configuration_api import InfrastructureAlertConfigurationApi as InfrastructureAlertConfigurationApi +from instana_client.api.infrastructure_analyze_api import InfrastructureAnalyzeApi as InfrastructureAnalyzeApi +from instana_client.api.infrastructure_catalog_api import InfrastructureCatalogApi as InfrastructureCatalogApi +from instana_client.api.infrastructure_metrics_api import InfrastructureMetricsApi as InfrastructureMetricsApi +from instana_client.api.infrastructure_resources_api import InfrastructureResourcesApi as InfrastructureResourcesApi +from instana_client.api.infrastructure_topology_api import InfrastructureTopologyApi as InfrastructureTopologyApi +from instana_client.api.llm_evaluation_api import LLMEvaluationApi as LLMEvaluationApi +from instana_client.api.llm_price_configuration_api import LLMPriceConfigurationApi as LLMPriceConfigurationApi +from instana_client.api.log_alert_configuration_api import LogAlertConfigurationApi as LogAlertConfigurationApi +from instana_client.api.logging_analyze_api import LoggingAnalyzeApi as LoggingAnalyzeApi +from instana_client.api.maintenance_configuration_api import MaintenanceConfigurationApi as MaintenanceConfigurationApi +from instana_client.api.mobile_app_analyze_api import MobileAppAnalyzeApi as MobileAppAnalyzeApi +from instana_client.api.mobile_app_catalog_api import MobileAppCatalogApi as MobileAppCatalogApi +from instana_client.api.mobile_app_configuration_api import MobileAppConfigurationApi as MobileAppConfigurationApi +from instana_client.api.mobile_app_metrics_api import MobileAppMetricsApi as MobileAppMetricsApi +from instana_client.api.mobile_app_session_replay_api import MobileAppSessionReplayApi as MobileAppSessionReplayApi +from instana_client.api.policies_api import PoliciesApi as PoliciesApi +from instana_client.api.releases_api import ReleasesApi as ReleasesApi +from instana_client.api.roles_api import RolesApi as RolesApi +from instana_client.api.sli_report_api import SLIReportApi as SLIReportApi +from instana_client.api.sli_settings_api import SLISettingsApi as SLISettingsApi +from instana_client.api.slo_catalog_for_mobile_app_api import SLOCatalogForMobileAppApi as SLOCatalogForMobileAppApi +from instana_client.api.slo_configurations_api import SLOConfigurationsApi as SLOConfigurationsApi +from instana_client.api.slo_correction_configurations_api import SLOCorrectionConfigurationsApi as SLOCorrectionConfigurationsApi +from instana_client.api.slo_correction_windows_api import SLOCorrectionWindowsApi as SLOCorrectionWindowsApi +from instana_client.api.service_levels_alert_configuration_api import ServiceLevelsAlertConfigurationApi as ServiceLevelsAlertConfigurationApi +from instana_client.api.service_levels_objective_slo_report_api import ServiceLevelsObjectiveSLOReportApi as ServiceLevelsObjectiveSLOReportApi +from instana_client.api.session_settings_api import SessionSettingsApi as SessionSettingsApi +from instana_client.api.synthetic_alert_configuration_api import SyntheticAlertConfigurationApi as SyntheticAlertConfigurationApi +from instana_client.api.synthetic_calls_api import SyntheticCallsApi as SyntheticCallsApi +from instana_client.api.synthetic_catalog_api import SyntheticCatalogApi as SyntheticCatalogApi +from instana_client.api.synthetic_metrics_api import SyntheticMetricsApi as SyntheticMetricsApi +from instana_client.api.synthetic_settings_api import SyntheticSettingsApi as SyntheticSettingsApi +from instana_client.api.synthetic_test_playback_results_api import SyntheticTestPlaybackResultsApi as SyntheticTestPlaybackResultsApi +from instana_client.api.teams_api import TeamsApi as TeamsApi +from instana_client.api.usage_api import UsageApi as UsageApi +from instana_client.api.user_api import UserApi as UserApi +from instana_client.api.website_analyze_api import WebsiteAnalyzeApi as WebsiteAnalyzeApi +from instana_client.api.website_catalog_api import WebsiteCatalogApi as WebsiteCatalogApi +from instana_client.api.website_configuration_api import WebsiteConfigurationApi as WebsiteConfigurationApi +from instana_client.api.website_metrics_api import WebsiteMetricsApi as WebsiteMetricsApi +from instana_client.api.default_api import DefaultApi as DefaultApi # import ApiClient -from instana_client.api_response import ApiResponse -from instana_client.api_client import ApiClient -from instana_client.configuration import Configuration -from instana_client.exceptions import OpenApiException -from instana_client.exceptions import ApiTypeError -from instana_client.exceptions import ApiValueError -from instana_client.exceptions import ApiKeyError -from instana_client.exceptions import ApiAttributeError -from instana_client.exceptions import ApiException +from instana_client.api_response import ApiResponse as ApiResponse +from instana_client.api_client import ApiClient as ApiClient +from instana_client.configuration import Configuration as Configuration +from instana_client.exceptions import OpenApiException as OpenApiException +from instana_client.exceptions import ApiTypeError as ApiTypeError +from instana_client.exceptions import ApiValueError as ApiValueError +from instana_client.exceptions import ApiKeyError as ApiKeyError +from instana_client.exceptions import ApiAttributeError as ApiAttributeError +from instana_client.exceptions import ApiException as ApiException # import models into sdk package -from instana_client.models.abstract_integration import AbstractIntegration -from instana_client.models.abstract_rule import AbstractRule -from instana_client.models.access_rule import AccessRule -from instana_client.models.action import Action -from instana_client.models.action_beacon import ActionBeacon -from instana_client.models.action_configuration import ActionConfiguration -from instana_client.models.action_instance import ActionInstance -from instana_client.models.action_instance_metadata_entry import ActionInstanceMetadataEntry -from instana_client.models.action_instance_parameter import ActionInstanceParameter -from instana_client.models.action_instance_request import ActionInstanceRequest -from instana_client.models.action_instance_request_parameters import ActionInstanceRequestParameters -from instana_client.models.action_match import ActionMatch -from instana_client.models.action_search_space import ActionSearchSpace -from instana_client.models.adaptive_baseline import AdaptiveBaseline -from instana_client.models.adaptive_threshold_rule import AdaptiveThresholdRule -from instana_client.models.adjusted_timeframe import AdjustedTimeframe -from instana_client.models.agent_configuration_update import AgentConfigurationUpdate -from instana_client.models.agent_mode_update import AgentModeUpdate -from instana_client.models.alerting_configuration import AlertingConfiguration -from instana_client.models.alerting_configuration_with_last_updated import AlertingConfigurationWithLastUpdated -from instana_client.models.alerting_time_window import AlertingTimeWindow -from instana_client.models.apdex_alert_rule import ApdexAlertRule -from instana_client.models.apdex_configuration import ApdexConfiguration -from instana_client.models.apdex_configuration_input import ApdexConfigurationInput -from instana_client.models.apdex_entity import ApdexEntity -from instana_client.models.apdex_level import ApdexLevel -from instana_client.models.apdex_report import ApdexReport -from instana_client.models.api_create_group import ApiCreateGroup -from instana_client.models.api_create_role import ApiCreateRole -from instana_client.models.api_group import ApiGroup -from instana_client.models.api_member import ApiMember -from instana_client.models.api_permission_set import ApiPermissionSet -from instana_client.models.api_restricted_application_filter import ApiRestrictedApplicationFilter -from instana_client.models.api_role import ApiRole -from instana_client.models.api_tag import ApiTag -from instana_client.models.api_team import ApiTeam -from instana_client.models.api_team_info import ApiTeamInfo -from instana_client.models.api_team_member import ApiTeamMember -from instana_client.models.api_team_role import ApiTeamRole -from instana_client.models.api_team_scope import ApiTeamScope -from instana_client.models.api_token import ApiToken -from instana_client.models.app_data_metric_configuration import AppDataMetricConfiguration -from instana_client.models.application import Application -from instana_client.models.application_alert_config import ApplicationAlertConfig -from instana_client.models.application_alert_config_with_metadata import ApplicationAlertConfigWithMetadata -from instana_client.models.application_alert_rule import ApplicationAlertRule -from instana_client.models.application_apdex_entity import ApplicationApdexEntity -from instana_client.models.application_config import ApplicationConfig -from instana_client.models.application_event_result import ApplicationEventResult -from instana_client.models.application_item import ApplicationItem -from instana_client.models.application_metric_result import ApplicationMetricResult -from instana_client.models.application_node import ApplicationNode -from instana_client.models.application_result import ApplicationResult -from instana_client.models.application_scope import ApplicationScope -from instana_client.models.application_scope_with_metadata import ApplicationScopeWithMetadata -from instana_client.models.application_sli_entity import ApplicationSliEntity -from instana_client.models.application_slo_entity import ApplicationSloEntity -from instana_client.models.application_time_threshold import ApplicationTimeThreshold -from instana_client.models.audit_log_ui_response import AuditLogUiResponse -from instana_client.models.author import Author -from instana_client.models.availability_blueprint_indicator import AvailabilityBlueprintIndicator -from instana_client.models.availability_sli_entity import AvailabilitySliEntity -from instana_client.models.available_metrics import AvailableMetrics -from instana_client.models.available_plugins import AvailablePlugins -from instana_client.models.backend_trace_reference import BackendTraceReference -from instana_client.models.bidirectional_ms_teams_app_integration import BidirectionalMsTeamsAppIntegration -from instana_client.models.bidirectional_slack_app_integration import BidirectionalSlackAppIntegration -from instana_client.models.binary_operator_dto import BinaryOperatorDTO -from instana_client.models.browser_script_configuration import BrowserScriptConfiguration -from instana_client.models.browser_script_configuration_update import BrowserScriptConfigurationUpdate -from instana_client.models.built_in_event_specification import BuiltInEventSpecification -from instana_client.models.built_in_event_specification_with_last_updated import BuiltInEventSpecificationWithLastUpdated -from instana_client.models.bulk_alert_config_request import BulkAlertConfigRequest -from instana_client.models.business_activity import BusinessActivity -from instana_client.models.business_perspective_config import BusinessPerspectiveConfig -from instana_client.models.call_groups_item import CallGroupsItem -from instana_client.models.call_groups_result import CallGroupsResult -from instana_client.models.call_relation import CallRelation -from instana_client.models.change_summary import ChangeSummary -from instana_client.models.cloudfoundry_physical_context import CloudfoundryPhysicalContext -from instana_client.models.condition import Condition -from instana_client.models.config_version import ConfigVersion -from instana_client.models.correction import Correction -from instana_client.models.correction_configuration import CorrectionConfiguration -from instana_client.models.correction_scheduling import CorrectionScheduling -from instana_client.models.correction_window import CorrectionWindow -from instana_client.models.crash_mobile_app_alert_rule import CrashMobileAppAlertRule -from instana_client.models.create_website_request_inner import CreateWebsiteRequestInner -from instana_client.models.cursor_paginated_business_activity_item import CursorPaginatedBusinessActivityItem -from instana_client.models.cursor_pagination import CursorPagination -from instana_client.models.cursor_pagination_with_ui_cursor_infra_explore_cursor import CursorPaginationWithUiCursorInfraExploreCursor -from instana_client.models.custom_blueprint_indicator import CustomBlueprintIndicator -from instana_client.models.custom_dashboard import CustomDashboard -from instana_client.models.custom_dashboard_preview import CustomDashboardPreview -from instana_client.models.custom_dashboard_with_user_specific_information import CustomDashboardWithUserSpecificInformation -from instana_client.models.custom_dependency import CustomDependency -from instana_client.models.custom_email_subject_prefix import CustomEmailSubjectPrefix -from instana_client.models.custom_entity_model import CustomEntityModel -from instana_client.models.custom_entity_with_metadata import CustomEntityWithMetadata -from instana_client.models.custom_event_mobile_app_alert_rule import CustomEventMobileAppAlertRule -from instana_client.models.custom_event_specification import CustomEventSpecification -from instana_client.models.custom_event_specification_with_last_updated import CustomEventSpecificationWithLastUpdated -from instana_client.models.custom_event_website_alert_rule import CustomEventWebsiteAlertRule -from instana_client.models.custom_metric import CustomMetric -from instana_client.models.custom_payload_configuration import CustomPayloadConfiguration -from instana_client.models.custom_payload_field import CustomPayloadField -from instana_client.models.custom_payload_with_last_updated import CustomPayloadWithLastUpdated -from instana_client.models.custom_payload_with_version import CustomPayloadWithVersion -from instana_client.models.custom_tag import CustomTag -from instana_client.models.dns_configuration import DNSConfiguration -from instana_client.models.dns_configuration_update import DNSConfigurationUpdate -from instana_client.models.dns_filter_query_time import DNSFilterQueryTime -from instana_client.models.dns_filter_target_value import DNSFilterTargetValue -from instana_client.models.dashboard_api_token import DashboardApiToken -from instana_client.models.database_integration import DatabaseIntegration -from instana_client.models.deprecated_tag_filter import DeprecatedTagFilter -from instana_client.models.duration import Duration -from instana_client.models.dynamic_field import DynamicField -from instana_client.models.dynamic_field_value import DynamicFieldValue -from instana_client.models.dynamic_parameter import DynamicParameter -from instana_client.models.dynamic_tag import DynamicTag -from instana_client.models.edit_user import EditUser -from instana_client.models.email_integration import EmailIntegration -from instana_client.models.empty_configuration import EmptyConfiguration -from instana_client.models.endpoint import Endpoint -from instana_client.models.endpoint_config import EndpointConfig -from instana_client.models.endpoint_event_result import EndpointEventResult -from instana_client.models.endpoint_item import EndpointItem -from instana_client.models.endpoint_metric_result import EndpointMetricResult -from instana_client.models.endpoint_node import EndpointNode -from instana_client.models.endpoint_result import EndpointResult -from instana_client.models.endpoint_simple import EndpointSimple -from instana_client.models.entity_count_rule import EntityCountRule -from instana_client.models.entity_count_verification_rule import EntityCountVerificationRule -from instana_client.models.entity_health_info import EntityHealthInfo -from instana_client.models.entity_id import EntityId -from instana_client.models.entity_verification_rule import EntityVerificationRule -from instana_client.models.error_budget_alert_rule import ErrorBudgetAlertRule -from instana_client.models.errors_application_alert_rule import ErrorsApplicationAlertRule -from instana_client.models.event import Event -from instana_client.models.event_filtering_configuration import EventFilteringConfiguration -from instana_client.models.event_result import EventResult -from instana_client.models.event_specification_info import EventSpecificationInfo -from instana_client.models.extended_service import ExtendedService -from instana_client.models.failure_synthetic_alert_rule import FailureSyntheticAlertRule -from instana_client.models.fixed_http_path_segment_matching_rule import FixedHttpPathSegmentMatchingRule -from instana_client.models.fixed_time_window import FixedTimeWindow -from instana_client.models.generic_infra_alert_rule import GenericInfraAlertRule -from instana_client.models.geo_location_configuration import GeoLocationConfiguration -from instana_client.models.geo_mapping_rule import GeoMappingRule -from instana_client.models.geo_subdivision import GeoSubdivision -from instana_client.models.get_action_beacons_result import GetActionBeaconsResult -from instana_client.models.get_activities import GetActivities -from instana_client.models.get_application_metrics import GetApplicationMetrics -from instana_client.models.get_applications import GetApplications -from instana_client.models.get_available_metrics_query import GetAvailableMetricsQuery -from instana_client.models.get_available_plugins_query import GetAvailablePluginsQuery -from instana_client.models.get_call_groups import GetCallGroups -from instana_client.models.get_combined_metrics import GetCombinedMetrics -from instana_client.models.get_dynamic_parameter_values import GetDynamicParameterValues -from instana_client.models.get_endpoints import GetEndpoints -from instana_client.models.get_infrastructure_groups_query import GetInfrastructureGroupsQuery -from instana_client.models.get_infrastructure_query import GetInfrastructureQuery -from instana_client.models.get_metrics_result import GetMetricsResult -from instana_client.models.get_mobile_app_beacon_groups import GetMobileAppBeaconGroups -from instana_client.models.get_mobile_app_beacons import GetMobileAppBeacons -from instana_client.models.get_mobile_app_metrics import GetMobileAppMetrics -from instana_client.models.get_mobile_app_metrics_v2 import GetMobileAppMetricsV2 -from instana_client.models.get_payload_keys_result import GetPayloadKeysResult -from instana_client.models.get_services import GetServices -from instana_client.models.get_session_replay_metadata_result import GetSessionReplayMetadataResult -from instana_client.models.get_snapshots_query import GetSnapshotsQuery -from instana_client.models.get_test_result import GetTestResult -from instana_client.models.get_test_result_analytic import GetTestResultAnalytic -from instana_client.models.get_test_result_base import GetTestResultBase -from instana_client.models.get_test_result_list import GetTestResultList -from instana_client.models.get_test_summary_result import GetTestSummaryResult -from instana_client.models.get_trace_download_result_item import GetTraceDownloadResultItem -from instana_client.models.get_trace_groups import GetTraceGroups -from instana_client.models.get_traces import GetTraces -from instana_client.models.get_website_beacon_groups import GetWebsiteBeaconGroups -from instana_client.models.get_website_beacons import GetWebsiteBeacons -from instana_client.models.get_website_metrics import GetWebsiteMetrics -from instana_client.models.get_website_metrics_v2 import GetWebsiteMetricsV2 -from instana_client.models.git_hub_configuration import GitHubConfiguration -from instana_client.models.global_application_alert_config_with_metadata import GlobalApplicationAlertConfigWithMetadata -from instana_client.models.global_applications_alert_config import GlobalApplicationsAlertConfig -from instana_client.models.google_chat_integration import GoogleChatIntegration -from instana_client.models.graph_edge import GraphEdge -from instana_client.models.graph_node import GraphNode -from instana_client.models.group import Group -from instana_client.models.group_by_tag import GroupByTag -from instana_client.models.group_mapping import GroupMapping -from instana_client.models.group_mapping_overview import GroupMappingOverview -from instana_client.models.health_state import HealthState -from instana_client.models.historic_baseline import HistoricBaseline -from instana_client.models.host_availability_rule import HostAvailabilityRule -from instana_client.models.http_action_configuration import HttpActionConfiguration -from instana_client.models.http_action_configuration_update import HttpActionConfigurationUpdate -from instana_client.models.http_endpoint_config import HttpEndpointConfig -from instana_client.models.http_endpoint_rule import HttpEndpointRule -from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule -from instana_client.models.http_script_configuration import HttpScriptConfiguration -from instana_client.models.http_script_configuration_update import HttpScriptConfigurationUpdate -from instana_client.models.hyper_param import HyperParam -from instana_client.models.icmp_configuration import ICMPConfiguration -from instana_client.models.icmp_configuration_update import ICMPConfigurationUpdate -from instana_client.models.icmp_validation import ICMPValidation -from instana_client.models.ip_filtering import IPFiltering -from instana_client.models.ip_filtering_rule_dto import IPFilteringRuleDto -from instana_client.models.ip_filtering_upsert import IPFilteringUpsert -from instana_client.models.identity_provider_patch import IdentityProviderPatch -from instana_client.models.idp_status_update import IdpStatusUpdate -from instana_client.models.impacted_beacon_info import ImpactedBeaconInfo -from instana_client.models.infra_alert_config import InfraAlertConfig -from instana_client.models.infra_alert_config_with_metadata import InfraAlertConfigWithMetadata -from instana_client.models.infra_alert_rule import InfraAlertRule -from instana_client.models.infra_event_result import InfraEventResult -from instana_client.models.infra_slo_entity import InfraSloEntity -from instana_client.models.infra_time_threshold import InfraTimeThreshold -from instana_client.models.infrastructure_entities_result import InfrastructureEntitiesResult -from instana_client.models.infrastructure_group import InfrastructureGroup -from instana_client.models.infrastructure_groups_result import InfrastructureGroupsResult -from instana_client.models.infrastructure_item import InfrastructureItem -from instana_client.models.infrastructure_metric_result import InfrastructureMetricResult -from instana_client.models.instana_version_info import InstanaVersionInfo -from instana_client.models.integration_overview import IntegrationOverview -from instana_client.models.invitation import Invitation -from instana_client.models.invitation_response import InvitationResponse -from instana_client.models.invitation_result import InvitationResult -from instana_client.models.ip_masking_configuration import IpMaskingConfiguration -from instana_client.models.js_stack_trace_line import JsStackTraceLine -from instana_client.models.kubernetes_physical_context import KubernetesPhysicalContext -from instana_client.models.llm_egress_gateway import LLMEgressGateway -from instana_client.models.llm_gateway_capability import LLMGatewayCapability -from instana_client.models.llm_gateway_model import LLMGatewayModel -from instana_client.models.llm_gateway_service import LLMGatewayService -from instana_client.models.llm_gateway_test_connection_request import LLMGatewayTestConnectionRequest -from instana_client.models.latency_blueprint_indicator import LatencyBlueprintIndicator -from instana_client.models.llm_model_price import LlmModelPrice -from instana_client.models.llm_model_price_metadata import LlmModelPriceMetadata -from instana_client.models.location_status import LocationStatus -from instana_client.models.log_alert_config import LogAlertConfig -from instana_client.models.log_alert_config_with_metadata import LogAlertConfigWithMetadata -from instana_client.models.log_alert_rule import LogAlertRule -from instana_client.models.log_count_alert_rule import LogCountAlertRule -from instana_client.models.log_event_result import LogEventResult -from instana_client.models.log_time_threshold import LogTimeThreshold -from instana_client.models.log_volume_group import LogVolumeGroup -from instana_client.models.log_volume_usage_item import LogVolumeUsageItem -from instana_client.models.log_volume_usage_result import LogVolumeUsageResult -from instana_client.models.logs_application_alert_rule import LogsApplicationAlertRule -from instana_client.models.maintenance_config import MaintenanceConfig -from instana_client.models.maintenance_config_scheduling import MaintenanceConfigScheduling -from instana_client.models.maintenance_config_v2 import MaintenanceConfigV2 -from instana_client.models.maintenance_config_v2_with_state_and_occurrence import MaintenanceConfigV2WithStateAndOccurrence -from instana_client.models.maintenance_config_with_last_updated import MaintenanceConfigWithLastUpdated -from instana_client.models.maintenance_window import MaintenanceWindow -from instana_client.models.manual_alerting_channel_configuration import ManualAlertingChannelConfiguration -from instana_client.models.manual_close_info import ManualCloseInfo -from instana_client.models.manual_service_config import ManualServiceConfig -from instana_client.models.match_all_http_path_segment_matching_rule import MatchAllHttpPathSegmentMatchingRule -from instana_client.models.match_expression_dto import MatchExpressionDTO -from instana_client.models.meta_data import MetaData -from instana_client.models.metric_api_result import MetricAPIResult -from instana_client.models.metric_config import MetricConfig -from instana_client.models.metric_configuration import MetricConfiguration -from instana_client.models.metric_description import MetricDescription -from instana_client.models.metric_field import MetricField -from instana_client.models.metric_field_value import MetricFieldValue -from instana_client.models.metric_instance import MetricInstance -from instana_client.models.metric_item import MetricItem -from instana_client.models.metric_metadata import MetricMetadata -from instana_client.models.metric_pattern import MetricPattern -from instana_client.models.metrics_result import MetricsResult -from instana_client.models.metrics_result_item import MetricsResultItem -from instana_client.models.metrics_test_result_item import MetricsTestResultItem -from instana_client.models.mobile_app import MobileApp -from instana_client.models.mobile_app_alert_config import MobileAppAlertConfig -from instana_client.models.mobile_app_alert_config_with_rbac_tag import MobileAppAlertConfigWithRBACTag -from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule -from instana_client.models.mobile_app_beacon_groups_item import MobileAppBeaconGroupsItem -from instana_client.models.mobile_app_beacon_groups_result import MobileAppBeaconGroupsResult -from instana_client.models.mobile_app_beacon_result import MobileAppBeaconResult -from instana_client.models.mobile_app_beacon_tag_group import MobileAppBeaconTagGroup -from instana_client.models.mobile_app_beacons_item import MobileAppBeaconsItem -from instana_client.models.mobile_app_event_result import MobileAppEventResult -from instana_client.models.mobile_app_metric_result import MobileAppMetricResult -from instana_client.models.mobile_app_monitoring_beacon import MobileAppMonitoringBeacon -from instana_client.models.mobile_app_monitoring_metric_description import MobileAppMonitoringMetricDescription -from instana_client.models.mobile_app_monitoring_metrics_configuration import MobileAppMonitoringMetricsConfiguration -from instana_client.models.mobile_app_time_threshold import MobileAppTimeThreshold -from instana_client.models.model_field import ModelField -from instana_client.models.monitored_entities_stats import MonitoredEntitiesStats -from instana_client.models.monitoring_state import MonitoringState -from instana_client.models.multiple_scripts_configuration import MultipleScriptsConfiguration -from instana_client.models.ns1_integration import NS1Integration -from instana_client.models.new_application_config import NewApplicationConfig -from instana_client.models.new_business_perspective_config import NewBusinessPerspectiveConfig -from instana_client.models.new_manual_service_config import NewManualServiceConfig -from instana_client.models.o_auth_config import OAuthConfig -from instana_client.models.o_auth_integration import OAuthIntegration -from instana_client.models.o_auth_token import OAuthToken -from instana_client.models.occurrence import Occurrence -from instana_client.models.office365_integration import Office365Integration -from instana_client.models.one_time_maintenance_window import OneTimeMaintenanceWindow -from instana_client.models.opsgenie_integration import OpsgenieIntegration -from instana_client.models.order import Order -from instana_client.models.pagerduty_integration import PagerdutyIntegration -from instana_client.models.paginated_result import PaginatedResult -from instana_client.models.pagination import Pagination -from instana_client.models.parameter import Parameter -from instana_client.models.parameter_value import ParameterValue -from instana_client.models.path_parameter_http_path_segment_matching_rule import PathParameterHttpPathSegmentMatchingRule -from instana_client.models.physical_context import PhysicalContext -from instana_client.models.plugin_result import PluginResult -from instana_client.models.policy import Policy -from instana_client.models.policy_runnable import PolicyRunnable -from instana_client.models.policy_scheduling import PolicyScheduling -from instana_client.models.post_mobile_app_source_map_config_request import PostMobileAppSourceMapConfigRequest -from instana_client.models.post_snapshots_result import PostSnapshotsResult -from instana_client.models.prefix_object import PrefixObject -from instana_client.models.problem import Problem -from instana_client.models.prometheus_webhook_integration import PrometheusWebhookIntegration -from instana_client.models.recurrent_maintenance_window import RecurrentMaintenanceWindow -from instana_client.models.release import Release -from instana_client.models.release_scope import ReleaseScope -from instana_client.models.release_with_metadata import ReleaseWithMetadata -from instana_client.models.retention_period import RetentionPeriod -from instana_client.models.role_mapping_overview import RoleMappingOverview -from instana_client.models.rolling_time_window import RollingTimeWindow -from instana_client.models.rule_input import RuleInput -from instana_client.models.rule_with_threshold_application_alert_rule import RuleWithThresholdApplicationAlertRule -from instana_client.models.rule_with_threshold_infra_alert_rule import RuleWithThresholdInfraAlertRule -from instana_client.models.rule_with_threshold_log_alert_rule import RuleWithThresholdLogAlertRule -from instana_client.models.rule_with_threshold_mobile_app_alert_rule import RuleWithThresholdMobileAppAlertRule -from instana_client.models.rule_with_threshold_website_alert_rule import RuleWithThresholdWebsiteAlertRule -from instana_client.models.run_configuration import RunConfiguration -from instana_client.models.slo_config_with_rbac_tag import SLOConfigWithRBACTag -from instana_client.models.ssl_certificate_configuration import SSLCertificateConfiguration -from instana_client.models.ssl_certificate_configuration_update import SSLCertificateConfigurationUpdate -from instana_client.models.ssl_certificate_validation import SSLCertificateValidation -from instana_client.models.salesforce_integration import SalesforceIntegration -from instana_client.models.saturation_blueprint_indicator import SaturationBlueprintIndicator -from instana_client.models.scope_binding import ScopeBinding -from instana_client.models.search_field_result import SearchFieldResult -from instana_client.models.service import Service -from instana_client.models.service_config import ServiceConfig -from instana_client.models.service_event_result import ServiceEventResult -from instana_client.models.service_item import ServiceItem -from instana_client.models.service_level_indicator import ServiceLevelIndicator -from instana_client.models.service_level_objective_alert_rule import ServiceLevelObjectiveAlertRule -from instana_client.models.service_levels_alert_config import ServiceLevelsAlertConfig -from instana_client.models.service_levels_alert_config_with_rbac_tag import ServiceLevelsAlertConfigWithRBACTag -from instana_client.models.service_levels_alert_rule import ServiceLevelsAlertRule -from instana_client.models.service_levels_burn_rate_config import ServiceLevelsBurnRateConfig -from instana_client.models.service_levels_burn_rate_time_windows import ServiceLevelsBurnRateTimeWindows -from instana_client.models.service_levels_static_threshold_config import ServiceLevelsStaticThresholdConfig -from instana_client.models.service_levels_time_threshold import ServiceLevelsTimeThreshold -from instana_client.models.service_levelse_alert_config_with_metadata import ServiceLevelseAlertConfigWithMetadata -from instana_client.models.service_map import ServiceMap -from instana_client.models.service_map_connection import ServiceMapConnection -from instana_client.models.service_matching_rule import ServiceMatchingRule -from instana_client.models.service_metric_result import ServiceMetricResult -from instana_client.models.service_node import ServiceNode -from instana_client.models.service_now_enhanced_integration import ServiceNowEnhancedIntegration -from instana_client.models.service_now_integration import ServiceNowIntegration -from instana_client.models.service_result import ServiceResult -from instana_client.models.service_scope import ServiceScope -from instana_client.models.service_scope_with_metadata import ServiceScopeWithMetadata -from instana_client.models.service_scoped_to import ServiceScopedTo -from instana_client.models.service_scoped_to_with_metadata import ServiceScopedToWithMetadata -from instana_client.models.service_simple import ServiceSimple -from instana_client.models.session_replay_metadata import SessionReplayMetadata -from instana_client.models.session_replay_timestamps import SessionReplayTimestamps -from instana_client.models.session_settings import SessionSettings -from instana_client.models.simple_metric_configuration import SimpleMetricConfiguration -from instana_client.models.slack_integration import SlackIntegration -from instana_client.models.sli_configuration import SliConfiguration -from instana_client.models.sli_configuration_with_last_updated import SliConfigurationWithLastUpdated -from instana_client.models.sli_entity import SliEntity -from instana_client.models.sli_report import SliReport -from instana_client.models.slo_entity import SloEntity -from instana_client.models.slo_report import SloReport -from instana_client.models.slowness_application_alert_rule import SlownessApplicationAlertRule -from instana_client.models.slowness_mobile_app_alert_rule import SlownessMobileAppAlertRule -from instana_client.models.slowness_website_alert_rule import SlownessWebsiteAlertRule -from instana_client.models.snapshot_item import SnapshotItem -from instana_client.models.snapshot_preview import SnapshotPreview -from instana_client.models.snapshot_result import SnapshotResult -from instana_client.models.software_user import SoftwareUser -from instana_client.models.software_version import SoftwareVersion -from instana_client.models.source_map_file_blob import SourceMapFileBlob -from instana_client.models.source_map_file_meta import SourceMapFileMeta -from instana_client.models.source_map_upload_config import SourceMapUploadConfig -from instana_client.models.source_map_upload_configs import SourceMapUploadConfigs -from instana_client.models.span_excerpt import SpanExcerpt -from instana_client.models.span_relation import SpanRelation -from instana_client.models.specific_js_errors_website_alert_rule import SpecificJsErrorsWebsiteAlertRule -from instana_client.models.splunk_integration import SplunkIntegration -from instana_client.models.stack_trace_item import StackTraceItem -from instana_client.models.stack_trace_line import StackTraceLine -from instana_client.models.static_baseline_threshold_rule import StaticBaselineThresholdRule -from instana_client.models.static_string_field import StaticStringField -from instana_client.models.static_threshold import StaticThreshold -from instana_client.models.static_threshold_rule import StaticThresholdRule -from instana_client.models.status_code_application_alert_rule import StatusCodeApplicationAlertRule -from instana_client.models.status_code_mobile_app_alert_rule import StatusCodeMobileAppAlertRule -from instana_client.models.status_code_website_alert_rule import StatusCodeWebsiteAlertRule -from instana_client.models.synthetic_alert_config import SyntheticAlertConfig -from instana_client.models.synthetic_alert_config_with_metadata import SyntheticAlertConfigWithMetadata -from instana_client.models.synthetic_alert_config_with_rbac_tag import SyntheticAlertConfigWithRBACTag -from instana_client.models.synthetic_alert_rule import SyntheticAlertRule -from instana_client.models.synthetic_bulk_response import SyntheticBulkResponse -from instana_client.models.synthetic_call_config import SyntheticCallConfig -from instana_client.models.synthetic_call_rule import SyntheticCallRule -from instana_client.models.synthetic_call_with_defaults_config import SyntheticCallWithDefaultsConfig -from instana_client.models.synthetic_configuration import SyntheticConfiguration -from instana_client.models.synthetic_configuration_update import SyntheticConfigurationUpdate -from instana_client.models.synthetic_credential import SyntheticCredential -from instana_client.models.synthetic_datacenter import SyntheticDatacenter -from instana_client.models.synthetic_datacenter_configuration import SyntheticDatacenterConfiguration -from instana_client.models.synthetic_geo_point import SyntheticGeoPoint -from instana_client.models.synthetic_location import SyntheticLocation -from instana_client.models.synthetic_location_configuration import SyntheticLocationConfiguration -from instana_client.models.synthetic_metric_configuration import SyntheticMetricConfiguration -from instana_client.models.synthetic_metric_tag_group import SyntheticMetricTagGroup -from instana_client.models.synthetic_playback_capabilities import SyntheticPlaybackCapabilities -from instana_client.models.synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value import SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue -from instana_client.models.synthetic_resource_update_list_icmp_validation_list_icmp_validation import SyntheticResourceUpdateListICMPValidationListICMPValidation -from instana_client.models.synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation import SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation -from instana_client.models.synthetic_resource_update_list_string_list_string import SyntheticResourceUpdateListStringListString -from instana_client.models.synthetic_resource_update_map_string_string_list_string import SyntheticResourceUpdateMapStringStringListString -from instana_client.models.synthetic_slo_entity import SyntheticSloEntity -from instana_client.models.synthetic_test import SyntheticTest -from instana_client.models.synthetic_test_cicd import SyntheticTestCICD -from instana_client.models.synthetic_test_cicd_customization import SyntheticTestCICDCustomization -from instana_client.models.synthetic_test_cicd_item import SyntheticTestCICDItem -from instana_client.models.synthetic_test_cicd_response import SyntheticTestCICDResponse -from instana_client.models.synthetic_test_deep_update import SyntheticTestDeepUpdate -from instana_client.models.synthetic_test_shallow_update import SyntheticTestShallowUpdate -from instana_client.models.synthetic_test_update import SyntheticTestUpdate -from instana_client.models.synthetic_time_threshold import SyntheticTimeThreshold -from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration -from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate -from instana_client.models.synthetics_event_result import SyntheticsEventResult -from instana_client.models.system_rule import SystemRule -from instana_client.models.system_rule_label import SystemRuleLabel -from instana_client.models.tag import Tag -from instana_client.models.tag_catalog import TagCatalog -from instana_client.models.tag_filter import TagFilter -from instana_client.models.tag_filter_expression import TagFilterExpression -from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement -from instana_client.models.tag_matcher_dto import TagMatcherDTO -from instana_client.models.tag_tree_level import TagTreeLevel -from instana_client.models.tag_tree_node import TagTreeNode -from instana_client.models.tag_tree_tag import TagTreeTag -from instana_client.models.test_common_properties import TestCommonProperties -from instana_client.models.test_connection_response import TestConnectionResponse -from instana_client.models.test_last_error import TestLastError -from instana_client.models.test_result import TestResult -from instana_client.models.test_result_common_properties import TestResultCommonProperties -from instana_client.models.test_result_detail_data import TestResultDetailData -from instana_client.models.test_result_item import TestResultItem -from instana_client.models.test_result_list_item import TestResultListItem -from instana_client.models.test_result_list_result import TestResultListResult -from instana_client.models.test_result_metadata import TestResultMetadata -from instana_client.models.test_result_subtransaction import TestResultSubtransaction -from instana_client.models.threshold import Threshold -from instana_client.models.threshold_config_rule import ThresholdConfigRule -from instana_client.models.threshold_rule import ThresholdRule -from instana_client.models.throughput_application_alert_rule import ThroughputApplicationAlertRule -from instana_client.models.throughput_mobile_app_alert_rule import ThroughputMobileAppAlertRule -from instana_client.models.throughput_website_alert_rule import ThroughputWebsiteAlertRule -from instana_client.models.time_frame import TimeFrame -from instana_client.models.time_window import TimeWindow -from instana_client.models.topology import Topology -from instana_client.models.trace import Trace -from instana_client.models.trace_activity_tree_node_details import TraceActivityTreeNodeDetails -from instana_client.models.trace_download_result import TraceDownloadResult -from instana_client.models.trace_groups_item import TraceGroupsItem -from instana_client.models.trace_groups_result import TraceGroupsResult -from instana_client.models.trace_impact_application_time_threshold import TraceImpactApplicationTimeThreshold -from instana_client.models.trace_item import TraceItem -from instana_client.models.trace_result import TraceResult -from instana_client.models.traffic_blueprint_indicator import TrafficBlueprintIndicator -from instana_client.models.trigger import Trigger -from instana_client.models.type_configuration import TypeConfiguration -from instana_client.models.unsupported_http_path_segment_matching_rule import UnsupportedHttpPathSegmentMatchingRule -from instana_client.models.updated_business_perspective_config import UpdatedBusinessPerspectiveConfig -from instana_client.models.usage_result import UsageResult -from instana_client.models.usage_result_items import UsageResultItems -from instana_client.models.user_basic_result import UserBasicResult -from instana_client.models.user_impact_mobile_app_time_threshold import UserImpactMobileAppTimeThreshold -from instana_client.models.user_impact_website_time_threshold import UserImpactWebsiteTimeThreshold -from instana_client.models.user_result import UserResult -from instana_client.models.users_result import UsersResult -from instana_client.models.validated_alerting_channel_input_info import ValidatedAlertingChannelInputInfo -from instana_client.models.validated_alerting_configuration import ValidatedAlertingConfiguration -from instana_client.models.validated_maintenance_config_v2_with_state_and_occurrence import ValidatedMaintenanceConfigV2WithStateAndOccurrence -from instana_client.models.validated_maintenance_config_with_status import ValidatedMaintenanceConfigWithStatus -from instana_client.models.victor_ops_integration import VictorOpsIntegration -from instana_client.models.violations_in_period_application_time_threshold import ViolationsInPeriodApplicationTimeThreshold -from instana_client.models.violations_in_period_mobile_app_time_threshold import ViolationsInPeriodMobileAppTimeThreshold -from instana_client.models.violations_in_period_website_time_threshold import ViolationsInPeriodWebsiteTimeThreshold -from instana_client.models.violations_in_sequence_application_time_threshold import ViolationsInSequenceApplicationTimeThreshold -from instana_client.models.violations_in_sequence_infra_time_threshold import ViolationsInSequenceInfraTimeThreshold -from instana_client.models.violations_in_sequence_log_time_threshold import ViolationsInSequenceLogTimeThreshold -from instana_client.models.violations_in_sequence_mobile_app_time_threshold import ViolationsInSequenceMobileAppTimeThreshold -from instana_client.models.violations_in_sequence_synthetic_time_threshold import ViolationsInSequenceSyntheticTimeThreshold -from instana_client.models.violations_in_sequence_website_time_threshold import ViolationsInSequenceWebsiteTimeThreshold -from instana_client.models.watson_ai_ops_webhook_integration import WatsonAIOpsWebhookIntegration -from instana_client.models.webex_teams_webhook_integration import WebexTeamsWebhookIntegration -from instana_client.models.webhook_integration import WebhookIntegration -from instana_client.models.webpage_action_configuration import WebpageActionConfiguration -from instana_client.models.webpage_action_configuration_update import WebpageActionConfigurationUpdate -from instana_client.models.webpage_script_configuration import WebpageScriptConfiguration -from instana_client.models.webpage_script_configuration_update import WebpageScriptConfigurationUpdate -from instana_client.models.website import Website -from instana_client.models.website_alert_config import WebsiteAlertConfig -from instana_client.models.website_alert_config_with_metadata import WebsiteAlertConfigWithMetadata -from instana_client.models.website_alert_config_with_rbac_tag import WebsiteAlertConfigWithRBACTag -from instana_client.models.website_alert_rule import WebsiteAlertRule -from instana_client.models.website_apdex_entity import WebsiteApdexEntity -from instana_client.models.website_beacon_groups_item import WebsiteBeaconGroupsItem -from instana_client.models.website_beacon_groups_result import WebsiteBeaconGroupsResult -from instana_client.models.website_beacon_result import WebsiteBeaconResult -from instana_client.models.website_beacon_tag_group import WebsiteBeaconTagGroup -from instana_client.models.website_beacons_item import WebsiteBeaconsItem -from instana_client.models.website_event_based_sli_entity import WebsiteEventBasedSliEntity -from instana_client.models.website_event_result import WebsiteEventResult -from instana_client.models.website_metric_result import WebsiteMetricResult -from instana_client.models.website_monitoring_beacon import WebsiteMonitoringBeacon -from instana_client.models.website_monitoring_metric_description import WebsiteMonitoringMetricDescription -from instana_client.models.website_monitoring_metrics_configuration import WebsiteMonitoringMetricsConfiguration -from instana_client.models.website_slo_entity import WebsiteSloEntity -from instana_client.models.website_time_based_sli_entity import WebsiteTimeBasedSliEntity -from instana_client.models.website_time_threshold import WebsiteTimeThreshold -from instana_client.models.widget import Widget -from instana_client.models.with_meta_data import WithMetaData -from instana_client.models.with_resolved_name import WithResolvedName -from instana_client.models.z_chat_ops_integration import ZChatOpsIntegration +from instana_client.models.abstract_integration import AbstractIntegration as AbstractIntegration +from instana_client.models.abstract_rule import AbstractRule as AbstractRule +from instana_client.models.access_rule import AccessRule as AccessRule +from instana_client.models.action import Action as Action +from instana_client.models.action_beacon import ActionBeacon as ActionBeacon +from instana_client.models.action_configuration import ActionConfiguration as ActionConfiguration +from instana_client.models.action_instance import ActionInstance as ActionInstance +from instana_client.models.action_instance_metadata_entry import ActionInstanceMetadataEntry as ActionInstanceMetadataEntry +from instana_client.models.action_instance_parameter import ActionInstanceParameter as ActionInstanceParameter +from instana_client.models.action_instance_request import ActionInstanceRequest as ActionInstanceRequest +from instana_client.models.action_instance_request_parameters import ActionInstanceRequestParameters as ActionInstanceRequestParameters +from instana_client.models.action_match import ActionMatch as ActionMatch +from instana_client.models.action_search_space import ActionSearchSpace as ActionSearchSpace +from instana_client.models.adaptive_baseline import AdaptiveBaseline as AdaptiveBaseline +from instana_client.models.adaptive_threshold_rule import AdaptiveThresholdRule as AdaptiveThresholdRule +from instana_client.models.adjusted_timeframe import AdjustedTimeframe as AdjustedTimeframe +from instana_client.models.advanced_custom_blueprint_indicator import AdvancedCustomBlueprintIndicator as AdvancedCustomBlueprintIndicator +from instana_client.models.advanced_filter import AdvancedFilter as AdvancedFilter +from instana_client.models.agent_configuration_update import AgentConfigurationUpdate as AgentConfigurationUpdate +from instana_client.models.agent_mode_update import AgentModeUpdate as AgentModeUpdate +from instana_client.models.alerting_configuration import AlertingConfiguration as AlertingConfiguration +from instana_client.models.alerting_configuration_with_last_updated import AlertingConfigurationWithLastUpdated as AlertingConfigurationWithLastUpdated +from instana_client.models.alerting_time_window import AlertingTimeWindow as AlertingTimeWindow +from instana_client.models.apdex_alert_rule import ApdexAlertRule as ApdexAlertRule +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag as ApdexConfigWithRBACTag +from instana_client.models.apdex_configuration import ApdexConfiguration as ApdexConfiguration +from instana_client.models.apdex_configuration_input import ApdexConfigurationInput as ApdexConfigurationInput +from instana_client.models.apdex_entity import ApdexEntity as ApdexEntity +from instana_client.models.apdex_level import ApdexLevel as ApdexLevel +from instana_client.models.apdex_report import ApdexReport as ApdexReport +from instana_client.models.api_create_group import ApiCreateGroup as ApiCreateGroup +from instana_client.models.api_create_role import ApiCreateRole as ApiCreateRole +from instana_client.models.api_group import ApiGroup as ApiGroup +from instana_client.models.api_log_item import ApiLogItem as ApiLogItem +from instana_client.models.api_log_tag import ApiLogTag as ApiLogTag +from instana_client.models.api_member import ApiMember as ApiMember +from instana_client.models.api_permission_set import ApiPermissionSet as ApiPermissionSet +from instana_client.models.api_restricted_application_filter import ApiRestrictedApplicationFilter as ApiRestrictedApplicationFilter +from instana_client.models.api_role import ApiRole as ApiRole +from instana_client.models.api_tag import ApiTag as ApiTag +from instana_client.models.api_team import ApiTeam as ApiTeam +from instana_client.models.api_team_info import ApiTeamInfo as ApiTeamInfo +from instana_client.models.api_team_member import ApiTeamMember as ApiTeamMember +from instana_client.models.api_team_role import ApiTeamRole as ApiTeamRole +from instana_client.models.api_team_scope import ApiTeamScope as ApiTeamScope +from instana_client.models.api_token import ApiToken as ApiToken +from instana_client.models.app_data_metric_configuration import AppDataMetricConfiguration as AppDataMetricConfiguration +from instana_client.models.application import Application as Application +from instana_client.models.application_alert_config import ApplicationAlertConfig as ApplicationAlertConfig +from instana_client.models.application_alert_config_with_metadata import ApplicationAlertConfigWithMetadata as ApplicationAlertConfigWithMetadata +from instana_client.models.application_alert_rule import ApplicationAlertRule as ApplicationAlertRule +from instana_client.models.application_apdex_entity import ApplicationApdexEntity as ApplicationApdexEntity +from instana_client.models.application_config import ApplicationConfig as ApplicationConfig +from instana_client.models.application_event_result import ApplicationEventResult as ApplicationEventResult +from instana_client.models.application_item import ApplicationItem as ApplicationItem +from instana_client.models.application_metric_result import ApplicationMetricResult as ApplicationMetricResult +from instana_client.models.application_node import ApplicationNode as ApplicationNode +from instana_client.models.application_result import ApplicationResult as ApplicationResult +from instana_client.models.application_scope import ApplicationScope as ApplicationScope +from instana_client.models.application_scope_with_metadata import ApplicationScopeWithMetadata as ApplicationScopeWithMetadata +from instana_client.models.application_sli_entity import ApplicationSliEntity as ApplicationSliEntity +from instana_client.models.application_slo_entity import ApplicationSloEntity as ApplicationSloEntity +from instana_client.models.application_time_threshold import ApplicationTimeThreshold as ApplicationTimeThreshold +from instana_client.models.audit_log_ui_response import AuditLogUiResponse as AuditLogUiResponse +from instana_client.models.author import Author as Author +from instana_client.models.availability_blueprint_indicator import AvailabilityBlueprintIndicator as AvailabilityBlueprintIndicator +from instana_client.models.availability_sli_entity import AvailabilitySliEntity as AvailabilitySliEntity +from instana_client.models.available_metrics import AvailableMetrics as AvailableMetrics +from instana_client.models.available_plugins import AvailablePlugins as AvailablePlugins +from instana_client.models.backend_trace_reference import BackendTraceReference as BackendTraceReference +from instana_client.models.bidirectional_ms_teams_app_integration import BidirectionalMsTeamsAppIntegration as BidirectionalMsTeamsAppIntegration +from instana_client.models.bidirectional_slack_app_integration import BidirectionalSlackAppIntegration as BidirectionalSlackAppIntegration +from instana_client.models.binary_operator_dto import BinaryOperatorDTO as BinaryOperatorDTO +from instana_client.models.browser_script_configuration import BrowserScriptConfiguration as BrowserScriptConfiguration +from instana_client.models.browser_script_configuration_update import BrowserScriptConfigurationUpdate as BrowserScriptConfigurationUpdate +from instana_client.models.built_in_event_specification import BuiltInEventSpecification as BuiltInEventSpecification +from instana_client.models.built_in_event_specification_with_last_updated import BuiltInEventSpecificationWithLastUpdated as BuiltInEventSpecificationWithLastUpdated +from instana_client.models.bulk_alert_config_request import BulkAlertConfigRequest as BulkAlertConfigRequest +from instana_client.models.business_activity import BusinessActivity as BusinessActivity +from instana_client.models.business_perspective_config import BusinessPerspectiveConfig as BusinessPerspectiveConfig +from instana_client.models.call_groups_item import CallGroupsItem as CallGroupsItem +from instana_client.models.call_groups_result import CallGroupsResult as CallGroupsResult +from instana_client.models.call_relation import CallRelation as CallRelation +from instana_client.models.change_summary import ChangeSummary as ChangeSummary +from instana_client.models.cloudfoundry_physical_context import CloudfoundryPhysicalContext as CloudfoundryPhysicalContext +from instana_client.models.condition import Condition as Condition +from instana_client.models.config_version import ConfigVersion as ConfigVersion +from instana_client.models.correction import Correction as Correction +from instana_client.models.correction_configuration import CorrectionConfiguration as CorrectionConfiguration +from instana_client.models.correction_scheduling import CorrectionScheduling as CorrectionScheduling +from instana_client.models.correction_window import CorrectionWindow as CorrectionWindow +from instana_client.models.crash_mobile_app_alert_rule import CrashMobileAppAlertRule as CrashMobileAppAlertRule +from instana_client.models.create_evaluation_request import CreateEvaluationRequest as CreateEvaluationRequest +from instana_client.models.create_evaluation_response import CreateEvaluationResponse as CreateEvaluationResponse +from instana_client.models.create_website_request_inner import CreateWebsiteRequestInner as CreateWebsiteRequestInner +from instana_client.models.cursor_paginated_business_activity_item import CursorPaginatedBusinessActivityItem as CursorPaginatedBusinessActivityItem +from instana_client.models.cursor_pagination import CursorPagination as CursorPagination +from instana_client.models.cursor_pagination_with_ui_cursor_infra_explore_cursor import CursorPaginationWithUiCursorInfraExploreCursor as CursorPaginationWithUiCursorInfraExploreCursor +from instana_client.models.custom_blueprint_indicator import CustomBlueprintIndicator as CustomBlueprintIndicator +from instana_client.models.custom_dashboard import CustomDashboard as CustomDashboard +from instana_client.models.custom_dashboard_preview import CustomDashboardPreview as CustomDashboardPreview +from instana_client.models.custom_dashboard_with_user_specific_information import CustomDashboardWithUserSpecificInformation as CustomDashboardWithUserSpecificInformation +from instana_client.models.custom_dependency import CustomDependency as CustomDependency +from instana_client.models.custom_email_subject_prefix import CustomEmailSubjectPrefix as CustomEmailSubjectPrefix +from instana_client.models.custom_entity_model import CustomEntityModel as CustomEntityModel +from instana_client.models.custom_entity_with_metadata import CustomEntityWithMetadata as CustomEntityWithMetadata +from instana_client.models.custom_event_mobile_app_alert_rule import CustomEventMobileAppAlertRule as CustomEventMobileAppAlertRule +from instana_client.models.custom_event_specification import CustomEventSpecification as CustomEventSpecification +from instana_client.models.custom_event_specification_with_last_updated import CustomEventSpecificationWithLastUpdated as CustomEventSpecificationWithLastUpdated +from instana_client.models.custom_event_website_alert_rule import CustomEventWebsiteAlertRule as CustomEventWebsiteAlertRule +from instana_client.models.custom_metric import CustomMetric as CustomMetric +from instana_client.models.custom_payload_configuration import CustomPayloadConfiguration as CustomPayloadConfiguration +from instana_client.models.custom_payload_field import CustomPayloadField as CustomPayloadField +from instana_client.models.custom_payload_with_last_updated import CustomPayloadWithLastUpdated as CustomPayloadWithLastUpdated +from instana_client.models.custom_payload_with_version import CustomPayloadWithVersion as CustomPayloadWithVersion +from instana_client.models.custom_tag import CustomTag as CustomTag +from instana_client.models.customer_email import CustomerEmail as CustomerEmail +from instana_client.models.dns_configuration import DNSConfiguration as DNSConfiguration +from instana_client.models.dns_configuration_update import DNSConfigurationUpdate as DNSConfigurationUpdate +from instana_client.models.dns_filter_query_time import DNSFilterQueryTime as DNSFilterQueryTime +from instana_client.models.dns_filter_target_value import DNSFilterTargetValue as DNSFilterTargetValue +from instana_client.models.dashboard_api_token import DashboardApiToken as DashboardApiToken +from instana_client.models.database_integration import DatabaseIntegration as DatabaseIntegration +from instana_client.models.deprecated_tag_filter import DeprecatedTagFilter as DeprecatedTagFilter +from instana_client.models.duration import Duration as Duration +from instana_client.models.dynamic_field import DynamicField as DynamicField +from instana_client.models.dynamic_field_value import DynamicFieldValue as DynamicFieldValue +from instana_client.models.dynamic_parameter import DynamicParameter as DynamicParameter +from instana_client.models.dynamic_tag import DynamicTag as DynamicTag +from instana_client.models.edit_user import EditUser as EditUser +from instana_client.models.email_integration import EmailIntegration as EmailIntegration +from instana_client.models.empty_configuration import EmptyConfiguration as EmptyConfiguration +from instana_client.models.endpoint import Endpoint as Endpoint +from instana_client.models.endpoint_config import EndpointConfig as EndpointConfig +from instana_client.models.endpoint_event_result import EndpointEventResult as EndpointEventResult +from instana_client.models.endpoint_item import EndpointItem as EndpointItem +from instana_client.models.endpoint_metric_result import EndpointMetricResult as EndpointMetricResult +from instana_client.models.endpoint_node import EndpointNode as EndpointNode +from instana_client.models.endpoint_result import EndpointResult as EndpointResult +from instana_client.models.endpoint_simple import EndpointSimple as EndpointSimple +from instana_client.models.entity_count_rule import EntityCountRule as EntityCountRule +from instana_client.models.entity_count_verification_rule import EntityCountVerificationRule as EntityCountVerificationRule +from instana_client.models.entity_health_info import EntityHealthInfo as EntityHealthInfo +from instana_client.models.entity_id import EntityId as EntityId +from instana_client.models.entity_metric import EntityMetric as EntityMetric +from instana_client.models.entity_metric_scope import EntityMetricScope as EntityMetricScope +from instana_client.models.entity_verification_rule import EntityVerificationRule as EntityVerificationRule +from instana_client.models.error_budget_alert_rule import ErrorBudgetAlertRule as ErrorBudgetAlertRule +from instana_client.models.errors_application_alert_rule import ErrorsApplicationAlertRule as ErrorsApplicationAlertRule +from instana_client.models.evaluation_detail_response import EvaluationDetailResponse as EvaluationDetailResponse +from instana_client.models.evaluation_list_item import EvaluationListItem as EvaluationListItem +from instana_client.models.evaluation_list_response import EvaluationListResponse as EvaluationListResponse +from instana_client.models.evaluator import Evaluator as Evaluator +from instana_client.models.event import Event as Event +from instana_client.models.event_filtering_configuration import EventFilteringConfiguration as EventFilteringConfiguration +from instana_client.models.event_result import EventResult as EventResult +from instana_client.models.event_specification_info import EventSpecificationInfo as EventSpecificationInfo +from instana_client.models.extended_service import ExtendedService as ExtendedService +from instana_client.models.failure_synthetic_alert_rule import FailureSyntheticAlertRule as FailureSyntheticAlertRule +from instana_client.models.filter_interface import FilterInterface as FilterInterface +from instana_client.models.fixed_http_path_segment_matching_rule import FixedHttpPathSegmentMatchingRule as FixedHttpPathSegmentMatchingRule +from instana_client.models.fixed_time_window import FixedTimeWindow as FixedTimeWindow +from instana_client.models.fleet_configuration import FleetConfiguration as FleetConfiguration +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment as FleetConfigurationAssignment +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse as FleetConfigurationAssignmentResponse +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse as FleetConfigurationResponse +from instana_client.models.gateway_status_response import GatewayStatusResponse as GatewayStatusResponse +from instana_client.models.generic_infra_alert_rule import GenericInfraAlertRule as GenericInfraAlertRule +from instana_client.models.geo_location_configuration import GeoLocationConfiguration as GeoLocationConfiguration +from instana_client.models.geo_mapping_rule import GeoMappingRule as GeoMappingRule +from instana_client.models.geo_subdivision import GeoSubdivision as GeoSubdivision +from instana_client.models.get_action_beacons_result import GetActionBeaconsResult as GetActionBeaconsResult +from instana_client.models.get_activities import GetActivities as GetActivities +from instana_client.models.get_application_metrics import GetApplicationMetrics as GetApplicationMetrics +from instana_client.models.get_applications import GetApplications as GetApplications +from instana_client.models.get_available_metrics_query import GetAvailableMetricsQuery as GetAvailableMetricsQuery +from instana_client.models.get_available_plugins_query import GetAvailablePluginsQuery as GetAvailablePluginsQuery +from instana_client.models.get_call_groups import GetCallGroups as GetCallGroups +from instana_client.models.get_combined_metrics import GetCombinedMetrics as GetCombinedMetrics +from instana_client.models.get_dynamic_parameter_values import GetDynamicParameterValues as GetDynamicParameterValues +from instana_client.models.get_endpoints import GetEndpoints as GetEndpoints +from instana_client.models.get_infrastructure_groups_query import GetInfrastructureGroupsQuery as GetInfrastructureGroupsQuery +from instana_client.models.get_infrastructure_query import GetInfrastructureQuery as GetInfrastructureQuery +from instana_client.models.get_metrics_result import GetMetricsResult as GetMetricsResult +from instana_client.models.get_mobile_app_beacon_groups import GetMobileAppBeaconGroups as GetMobileAppBeaconGroups +from instana_client.models.get_mobile_app_beacons import GetMobileAppBeacons as GetMobileAppBeacons +from instana_client.models.get_mobile_app_metrics import GetMobileAppMetrics as GetMobileAppMetrics +from instana_client.models.get_mobile_app_metrics_v2 import GetMobileAppMetricsV2 as GetMobileAppMetricsV2 +from instana_client.models.get_payload_keys_result import GetPayloadKeysResult as GetPayloadKeysResult +from instana_client.models.get_services import GetServices as GetServices +from instana_client.models.get_session_replay_metadata_result import GetSessionReplayMetadataResult as GetSessionReplayMetadataResult +from instana_client.models.get_snapshots_query import GetSnapshotsQuery as GetSnapshotsQuery +from instana_client.models.get_test_result import GetTestResult as GetTestResult +from instana_client.models.get_test_result_analytic import GetTestResultAnalytic as GetTestResultAnalytic +from instana_client.models.get_test_result_base import GetTestResultBase as GetTestResultBase +from instana_client.models.get_test_result_list import GetTestResultList as GetTestResultList +from instana_client.models.get_test_summary_result import GetTestSummaryResult as GetTestSummaryResult +from instana_client.models.get_trace_download_result_item import GetTraceDownloadResultItem as GetTraceDownloadResultItem +from instana_client.models.get_trace_groups import GetTraceGroups as GetTraceGroups +from instana_client.models.get_traces import GetTraces as GetTraces +from instana_client.models.get_website_beacon_groups import GetWebsiteBeaconGroups as GetWebsiteBeaconGroups +from instana_client.models.get_website_beacons import GetWebsiteBeacons as GetWebsiteBeacons +from instana_client.models.get_website_metrics import GetWebsiteMetrics as GetWebsiteMetrics +from instana_client.models.get_website_metrics_v2 import GetWebsiteMetricsV2 as GetWebsiteMetricsV2 +from instana_client.models.git_hub_configuration import GitHubConfiguration as GitHubConfiguration +from instana_client.models.global_application_alert_config_with_metadata import GlobalApplicationAlertConfigWithMetadata as GlobalApplicationAlertConfigWithMetadata +from instana_client.models.global_applications_alert_config import GlobalApplicationsAlertConfig as GlobalApplicationsAlertConfig +from instana_client.models.google_chat_integration import GoogleChatIntegration as GoogleChatIntegration +from instana_client.models.graph_edge import GraphEdge as GraphEdge +from instana_client.models.graph_node import GraphNode as GraphNode +from instana_client.models.group import Group as Group +from instana_client.models.group_by_tag import GroupByTag as GroupByTag +from instana_client.models.group_mapping import GroupMapping as GroupMapping +from instana_client.models.group_mapping_overview import GroupMappingOverview as GroupMappingOverview +from instana_client.models.health_state import HealthState as HealthState +from instana_client.models.historic_baseline import HistoricBaseline as HistoricBaseline +from instana_client.models.host_availability_rule import HostAvailabilityRule as HostAvailabilityRule +from instana_client.models.http_action_configuration import HttpActionConfiguration as HttpActionConfiguration +from instana_client.models.http_action_configuration_update import HttpActionConfigurationUpdate as HttpActionConfigurationUpdate +from instana_client.models.http_endpoint_config import HttpEndpointConfig as HttpEndpointConfig +from instana_client.models.http_endpoint_rule import HttpEndpointRule as HttpEndpointRule +from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule as HttpPathSegmentMatchingRule +from instana_client.models.http_script_configuration import HttpScriptConfiguration as HttpScriptConfiguration +from instana_client.models.http_script_configuration_update import HttpScriptConfigurationUpdate as HttpScriptConfigurationUpdate +from instana_client.models.hyper_param import HyperParam as HyperParam +from instana_client.models.icmp_configuration import ICMPConfiguration as ICMPConfiguration +from instana_client.models.icmp_configuration_update import ICMPConfigurationUpdate as ICMPConfigurationUpdate +from instana_client.models.icmp_validation import ICMPValidation as ICMPValidation +from instana_client.models.ip_filtering import IPFiltering as IPFiltering +from instana_client.models.ip_filtering_rule_dto import IPFilteringRuleDto as IPFilteringRuleDto +from instana_client.models.ip_filtering_upsert import IPFilteringUpsert as IPFilteringUpsert +from instana_client.models.identity_provider_patch import IdentityProviderPatch as IdentityProviderPatch +from instana_client.models.idp_status_update import IdpStatusUpdate as IdpStatusUpdate +from instana_client.models.impacted_beacon_info import ImpactedBeaconInfo as ImpactedBeaconInfo +from instana_client.models.infra_alert_config import InfraAlertConfig as InfraAlertConfig +from instana_client.models.infra_alert_config_with_metadata import InfraAlertConfigWithMetadata as InfraAlertConfigWithMetadata +from instana_client.models.infra_alert_rule import InfraAlertRule as InfraAlertRule +from instana_client.models.infra_event_result import InfraEventResult as InfraEventResult +from instana_client.models.infra_slo_entity import InfraSloEntity as InfraSloEntity +from instana_client.models.infra_time_threshold import InfraTimeThreshold as InfraTimeThreshold +from instana_client.models.infrastructure_entities_result import InfrastructureEntitiesResult as InfrastructureEntitiesResult +from instana_client.models.infrastructure_group import InfrastructureGroup as InfrastructureGroup +from instana_client.models.infrastructure_groups_result import InfrastructureGroupsResult as InfrastructureGroupsResult +from instana_client.models.infrastructure_item import InfrastructureItem as InfrastructureItem +from instana_client.models.infrastructure_metric_result import InfrastructureMetricResult as InfrastructureMetricResult +from instana_client.models.instana_version_info import InstanaVersionInfo as InstanaVersionInfo +from instana_client.models.integration_overview import IntegrationOverview as IntegrationOverview +from instana_client.models.invitation import Invitation as Invitation +from instana_client.models.invitation_response import InvitationResponse as InvitationResponse +from instana_client.models.invitation_result import InvitationResult as InvitationResult +from instana_client.models.ip_masking_configuration import IpMaskingConfiguration as IpMaskingConfiguration +from instana_client.models.js_stack_trace_line import JsStackTraceLine as JsStackTraceLine +from instana_client.models.kubernetes_physical_context import KubernetesPhysicalContext as KubernetesPhysicalContext +from instana_client.models.llm_egress_gateway import LLMEgressGateway as LLMEgressGateway +from instana_client.models.llm_gateway_capability import LLMGatewayCapability as LLMGatewayCapability +from instana_client.models.llm_gateway_model import LLMGatewayModel as LLMGatewayModel +from instana_client.models.llm_gateway_service import LLMGatewayService as LLMGatewayService +from instana_client.models.llm_gateway_test_connection_request import LLMGatewayTestConnectionRequest as LLMGatewayTestConnectionRequest +from instana_client.models.latency_blueprint_indicator import LatencyBlueprintIndicator as LatencyBlueprintIndicator +from instana_client.models.llm_model_price import LlmModelPrice as LlmModelPrice +from instana_client.models.llm_model_price_metadata import LlmModelPriceMetadata as LlmModelPriceMetadata +from instana_client.models.location_status import LocationStatus as LocationStatus +from instana_client.models.log_alert_config import LogAlertConfig as LogAlertConfig +from instana_client.models.log_alert_config_with_metadata import LogAlertConfigWithMetadata as LogAlertConfigWithMetadata +from instana_client.models.log_alert_rule import LogAlertRule as LogAlertRule +from instana_client.models.log_count_alert_rule import LogCountAlertRule as LogCountAlertRule +from instana_client.models.log_event_result import LogEventResult as LogEventResult +from instana_client.models.log_time_threshold import LogTimeThreshold as LogTimeThreshold +from instana_client.models.log_volume_group import LogVolumeGroup as LogVolumeGroup +from instana_client.models.log_volume_usage_item import LogVolumeUsageItem as LogVolumeUsageItem +from instana_client.models.log_volume_usage_result import LogVolumeUsageResult as LogVolumeUsageResult +from instana_client.models.logs_api_response import LogsApiResponse as LogsApiResponse +from instana_client.models.logs_application_alert_rule import LogsApplicationAlertRule as LogsApplicationAlertRule +from instana_client.models.logs_query import LogsQuery as LogsQuery +from instana_client.models.maintenance_config import MaintenanceConfig as MaintenanceConfig +from instana_client.models.maintenance_config_scheduling import MaintenanceConfigScheduling as MaintenanceConfigScheduling +from instana_client.models.maintenance_config_v2 import MaintenanceConfigV2 as MaintenanceConfigV2 +from instana_client.models.maintenance_config_v2_with_state_and_occurrence import MaintenanceConfigV2WithStateAndOccurrence as MaintenanceConfigV2WithStateAndOccurrence +from instana_client.models.maintenance_config_with_last_updated import MaintenanceConfigWithLastUpdated as MaintenanceConfigWithLastUpdated +from instana_client.models.maintenance_window import MaintenanceWindow as MaintenanceWindow +from instana_client.models.manual_alerting_channel_configuration import ManualAlertingChannelConfiguration as ManualAlertingChannelConfiguration +from instana_client.models.manual_close_info import ManualCloseInfo as ManualCloseInfo +from instana_client.models.manual_service_config import ManualServiceConfig as ManualServiceConfig +from instana_client.models.match_all_http_path_segment_matching_rule import MatchAllHttpPathSegmentMatchingRule as MatchAllHttpPathSegmentMatchingRule +from instana_client.models.match_expression_dto import MatchExpressionDTO as MatchExpressionDTO +from instana_client.models.meta_data import MetaData as MetaData +from instana_client.models.metric_api_result import MetricAPIResult as MetricAPIResult +from instana_client.models.metric_config import MetricConfig as MetricConfig +from instana_client.models.metric_configuration import MetricConfiguration as MetricConfiguration +from instana_client.models.metric_description import MetricDescription as MetricDescription +from instana_client.models.metric_field import MetricField as MetricField +from instana_client.models.metric_field_value import MetricFieldValue as MetricFieldValue +from instana_client.models.metric_instance import MetricInstance as MetricInstance +from instana_client.models.metric_item import MetricItem as MetricItem +from instana_client.models.metric_metadata import MetricMetadata as MetricMetadata +from instana_client.models.metric_pattern import MetricPattern as MetricPattern +from instana_client.models.metrics_result import MetricsResult as MetricsResult +from instana_client.models.metrics_result_item import MetricsResultItem as MetricsResultItem +from instana_client.models.metrics_test_result_item import MetricsTestResultItem as MetricsTestResultItem +from instana_client.models.mobile_app import MobileApp as MobileApp +from instana_client.models.mobile_app_alert_config import MobileAppAlertConfig as MobileAppAlertConfig +from instana_client.models.mobile_app_alert_config_with_rbac_tag import MobileAppAlertConfigWithRBACTag as MobileAppAlertConfigWithRBACTag +from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule as MobileAppAlertRule +from instana_client.models.mobile_app_beacon_groups_item import MobileAppBeaconGroupsItem as MobileAppBeaconGroupsItem +from instana_client.models.mobile_app_beacon_groups_result import MobileAppBeaconGroupsResult as MobileAppBeaconGroupsResult +from instana_client.models.mobile_app_beacon_result import MobileAppBeaconResult as MobileAppBeaconResult +from instana_client.models.mobile_app_beacon_tag_group import MobileAppBeaconTagGroup as MobileAppBeaconTagGroup +from instana_client.models.mobile_app_beacons_item import MobileAppBeaconsItem as MobileAppBeaconsItem +from instana_client.models.mobile_app_event_result import MobileAppEventResult as MobileAppEventResult +from instana_client.models.mobile_app_metric_result import MobileAppMetricResult as MobileAppMetricResult +from instana_client.models.mobile_app_monitoring_beacon import MobileAppMonitoringBeacon as MobileAppMonitoringBeacon +from instana_client.models.mobile_app_monitoring_metric_description import MobileAppMonitoringMetricDescription as MobileAppMonitoringMetricDescription +from instana_client.models.mobile_app_monitoring_metrics_configuration import MobileAppMonitoringMetricsConfiguration as MobileAppMonitoringMetricsConfiguration +from instana_client.models.mobile_app_time_threshold import MobileAppTimeThreshold as MobileAppTimeThreshold +from instana_client.models.mobile_slo_entity import MobileSloEntity as MobileSloEntity +from instana_client.models.model_field import ModelField as ModelField +from instana_client.models.monitored_entities_stats import MonitoredEntitiesStats as MonitoredEntitiesStats +from instana_client.models.monitoring_state import MonitoringState as MonitoringState +from instana_client.models.multiple_scripts_configuration import MultipleScriptsConfiguration as MultipleScriptsConfiguration +from instana_client.models.ns1_integration import NS1Integration as NS1Integration +from instana_client.models.new_application_config import NewApplicationConfig as NewApplicationConfig +from instana_client.models.new_business_perspective_config import NewBusinessPerspectiveConfig as NewBusinessPerspectiveConfig +from instana_client.models.new_manual_service_config import NewManualServiceConfig as NewManualServiceConfig +from instana_client.models.notification import Notification as Notification +from instana_client.models.o_auth_config import OAuthConfig as OAuthConfig +from instana_client.models.o_auth_integration import OAuthIntegration as OAuthIntegration +from instana_client.models.o_auth_token import OAuthToken as OAuthToken +from instana_client.models.occurrence import Occurrence as Occurrence +from instana_client.models.office365_integration import Office365Integration as Office365Integration +from instana_client.models.one_time_maintenance_window import OneTimeMaintenanceWindow as OneTimeMaintenanceWindow +from instana_client.models.opsgenie_integration import OpsgenieIntegration as OpsgenieIntegration +from instana_client.models.order import Order as Order +from instana_client.models.pagerduty_integration import PagerdutyIntegration as PagerdutyIntegration +from instana_client.models.paginated_result import PaginatedResult as PaginatedResult +from instana_client.models.pagination import Pagination as Pagination +from instana_client.models.parameter import Parameter as Parameter +from instana_client.models.parameter_value import ParameterValue as ParameterValue +from instana_client.models.path_parameter_http_path_segment_matching_rule import PathParameterHttpPathSegmentMatchingRule as PathParameterHttpPathSegmentMatchingRule +from instana_client.models.physical_context import PhysicalContext as PhysicalContext +from instana_client.models.plugin_result import PluginResult as PluginResult +from instana_client.models.policy import Policy as Policy +from instana_client.models.policy_runnable import PolicyRunnable as PolicyRunnable +from instana_client.models.policy_scheduling import PolicyScheduling as PolicyScheduling +from instana_client.models.post_mobile_app_source_map_config_request import PostMobileAppSourceMapConfigRequest as PostMobileAppSourceMapConfigRequest +from instana_client.models.post_snapshots_result import PostSnapshotsResult as PostSnapshotsResult +from instana_client.models.prefix_object import PrefixObject as PrefixObject +from instana_client.models.problem import Problem as Problem +from instana_client.models.prometheus_webhook_integration import PrometheusWebhookIntegration as PrometheusWebhookIntegration +from instana_client.models.rbac_restrictions import RbacRestrictions as RbacRestrictions +from instana_client.models.recurrent_maintenance_window import RecurrentMaintenanceWindow as RecurrentMaintenanceWindow +from instana_client.models.release import Release as Release +from instana_client.models.release_scope import ReleaseScope as ReleaseScope +from instana_client.models.release_with_metadata import ReleaseWithMetadata as ReleaseWithMetadata +from instana_client.models.retention_period import RetentionPeriod as RetentionPeriod +from instana_client.models.role_mapping_overview import RoleMappingOverview as RoleMappingOverview +from instana_client.models.rolling_time_window import RollingTimeWindow as RollingTimeWindow +from instana_client.models.rule_input import RuleInput as RuleInput +from instana_client.models.rule_with_threshold_application_alert_rule import RuleWithThresholdApplicationAlertRule as RuleWithThresholdApplicationAlertRule +from instana_client.models.rule_with_threshold_infra_alert_rule import RuleWithThresholdInfraAlertRule as RuleWithThresholdInfraAlertRule +from instana_client.models.rule_with_threshold_log_alert_rule import RuleWithThresholdLogAlertRule as RuleWithThresholdLogAlertRule +from instana_client.models.rule_with_threshold_mobile_app_alert_rule import RuleWithThresholdMobileAppAlertRule as RuleWithThresholdMobileAppAlertRule +from instana_client.models.rule_with_threshold_website_alert_rule import RuleWithThresholdWebsiteAlertRule as RuleWithThresholdWebsiteAlertRule +from instana_client.models.run_configuration import RunConfiguration as RunConfiguration +from instana_client.models.run_evaluation_response import RunEvaluationResponse as RunEvaluationResponse +from instana_client.models.slo_config_with_rbac_tag import SLOConfigWithRBACTag as SLOConfigWithRBACTag +from instana_client.models.ssl_certificate_configuration import SSLCertificateConfiguration as SSLCertificateConfiguration +from instana_client.models.ssl_certificate_configuration_update import SSLCertificateConfigurationUpdate as SSLCertificateConfigurationUpdate +from instana_client.models.ssl_certificate_validation import SSLCertificateValidation as SSLCertificateValidation +from instana_client.models.salesforce_integration import SalesforceIntegration as SalesforceIntegration +from instana_client.models.sampling_metadata import SamplingMetadata as SamplingMetadata +from instana_client.models.saturation_blueprint_indicator import SaturationBlueprintIndicator as SaturationBlueprintIndicator +from instana_client.models.scope_binding import ScopeBinding as ScopeBinding +from instana_client.models.search_field_result import SearchFieldResult as SearchFieldResult +from instana_client.models.service import Service as Service +from instana_client.models.service_config import ServiceConfig as ServiceConfig +from instana_client.models.service_event_result import ServiceEventResult as ServiceEventResult +from instana_client.models.service_item import ServiceItem as ServiceItem +from instana_client.models.service_level_indicator import ServiceLevelIndicator as ServiceLevelIndicator +from instana_client.models.service_level_objective_alert_rule import ServiceLevelObjectiveAlertRule as ServiceLevelObjectiveAlertRule +from instana_client.models.service_levels_alert_config import ServiceLevelsAlertConfig as ServiceLevelsAlertConfig +from instana_client.models.service_levels_alert_config_with_rbac_tag import ServiceLevelsAlertConfigWithRBACTag as ServiceLevelsAlertConfigWithRBACTag +from instana_client.models.service_levels_alert_rule import ServiceLevelsAlertRule as ServiceLevelsAlertRule +from instana_client.models.service_levels_burn_rate_config import ServiceLevelsBurnRateConfig as ServiceLevelsBurnRateConfig +from instana_client.models.service_levels_burn_rate_time_windows import ServiceLevelsBurnRateTimeWindows as ServiceLevelsBurnRateTimeWindows +from instana_client.models.service_levels_static_threshold_config import ServiceLevelsStaticThresholdConfig as ServiceLevelsStaticThresholdConfig +from instana_client.models.service_levels_time_threshold import ServiceLevelsTimeThreshold as ServiceLevelsTimeThreshold +from instana_client.models.service_levelse_alert_config_with_metadata import ServiceLevelseAlertConfigWithMetadata as ServiceLevelseAlertConfigWithMetadata +from instana_client.models.service_map import ServiceMap as ServiceMap +from instana_client.models.service_map_connection import ServiceMapConnection as ServiceMapConnection +from instana_client.models.service_matching_rule import ServiceMatchingRule as ServiceMatchingRule +from instana_client.models.service_metric_result import ServiceMetricResult as ServiceMetricResult +from instana_client.models.service_node import ServiceNode as ServiceNode +from instana_client.models.service_now_enhanced_integration import ServiceNowEnhancedIntegration as ServiceNowEnhancedIntegration +from instana_client.models.service_now_integration import ServiceNowIntegration as ServiceNowIntegration +from instana_client.models.service_result import ServiceResult as ServiceResult +from instana_client.models.service_scope import ServiceScope as ServiceScope +from instana_client.models.service_scope_with_metadata import ServiceScopeWithMetadata as ServiceScopeWithMetadata +from instana_client.models.service_scoped_to import ServiceScopedTo as ServiceScopedTo +from instana_client.models.service_scoped_to_with_metadata import ServiceScopedToWithMetadata as ServiceScopedToWithMetadata +from instana_client.models.service_simple import ServiceSimple as ServiceSimple +from instana_client.models.session_replay_metadata import SessionReplayMetadata as SessionReplayMetadata +from instana_client.models.session_replay_timestamps import SessionReplayTimestamps as SessionReplayTimestamps +from instana_client.models.session_settings import SessionSettings as SessionSettings +from instana_client.models.simple_metric_configuration import SimpleMetricConfiguration as SimpleMetricConfiguration +from instana_client.models.slack_integration import SlackIntegration as SlackIntegration +from instana_client.models.sli_configuration import SliConfiguration as SliConfiguration +from instana_client.models.sli_configuration_with_last_updated import SliConfigurationWithLastUpdated as SliConfigurationWithLastUpdated +from instana_client.models.sli_entity import SliEntity as SliEntity +from instana_client.models.sli_report import SliReport as SliReport +from instana_client.models.slo_entity import SloEntity as SloEntity +from instana_client.models.slo_report import SloReport as SloReport +from instana_client.models.slowness_application_alert_rule import SlownessApplicationAlertRule as SlownessApplicationAlertRule +from instana_client.models.slowness_mobile_app_alert_rule import SlownessMobileAppAlertRule as SlownessMobileAppAlertRule +from instana_client.models.slowness_website_alert_rule import SlownessWebsiteAlertRule as SlownessWebsiteAlertRule +from instana_client.models.snapshot_item import SnapshotItem as SnapshotItem +from instana_client.models.snapshot_preview import SnapshotPreview as SnapshotPreview +from instana_client.models.snapshot_result import SnapshotResult as SnapshotResult +from instana_client.models.software_user import SoftwareUser as SoftwareUser +from instana_client.models.software_version import SoftwareVersion as SoftwareVersion +from instana_client.models.source_map_file_blob import SourceMapFileBlob as SourceMapFileBlob +from instana_client.models.source_map_file_meta import SourceMapFileMeta as SourceMapFileMeta +from instana_client.models.source_map_upload_config import SourceMapUploadConfig as SourceMapUploadConfig +from instana_client.models.source_map_upload_configs import SourceMapUploadConfigs as SourceMapUploadConfigs +from instana_client.models.span_excerpt import SpanExcerpt as SpanExcerpt +from instana_client.models.span_relation import SpanRelation as SpanRelation +from instana_client.models.specific_js_errors_website_alert_rule import SpecificJsErrorsWebsiteAlertRule as SpecificJsErrorsWebsiteAlertRule +from instana_client.models.splunk_integration import SplunkIntegration as SplunkIntegration +from instana_client.models.stack_trace_item import StackTraceItem as StackTraceItem +from instana_client.models.stack_trace_line import StackTraceLine as StackTraceLine +from instana_client.models.static_baseline_threshold_rule import StaticBaselineThresholdRule as StaticBaselineThresholdRule +from instana_client.models.static_string_field import StaticStringField as StaticStringField +from instana_client.models.static_threshold import StaticThreshold as StaticThreshold +from instana_client.models.static_threshold_rule import StaticThresholdRule as StaticThresholdRule +from instana_client.models.status_code_application_alert_rule import StatusCodeApplicationAlertRule as StatusCodeApplicationAlertRule +from instana_client.models.status_code_mobile_app_alert_rule import StatusCodeMobileAppAlertRule as StatusCodeMobileAppAlertRule +from instana_client.models.status_code_website_alert_rule import StatusCodeWebsiteAlertRule as StatusCodeWebsiteAlertRule +from instana_client.models.synthetic_alert_config import SyntheticAlertConfig as SyntheticAlertConfig +from instana_client.models.synthetic_alert_config_with_metadata import SyntheticAlertConfigWithMetadata as SyntheticAlertConfigWithMetadata +from instana_client.models.synthetic_alert_config_with_rbac_tag import SyntheticAlertConfigWithRBACTag as SyntheticAlertConfigWithRBACTag +from instana_client.models.synthetic_alert_rule import SyntheticAlertRule as SyntheticAlertRule +from instana_client.models.synthetic_bulk_response import SyntheticBulkResponse as SyntheticBulkResponse +from instana_client.models.synthetic_call_config import SyntheticCallConfig as SyntheticCallConfig +from instana_client.models.synthetic_call_rule import SyntheticCallRule as SyntheticCallRule +from instana_client.models.synthetic_call_with_defaults_config import SyntheticCallWithDefaultsConfig as SyntheticCallWithDefaultsConfig +from instana_client.models.synthetic_configuration import SyntheticConfiguration as SyntheticConfiguration +from instana_client.models.synthetic_configuration_update import SyntheticConfigurationUpdate as SyntheticConfigurationUpdate +from instana_client.models.synthetic_credential import SyntheticCredential as SyntheticCredential +from instana_client.models.synthetic_datacenter import SyntheticDatacenter as SyntheticDatacenter +from instana_client.models.synthetic_datacenter_configuration import SyntheticDatacenterConfiguration as SyntheticDatacenterConfiguration +from instana_client.models.synthetic_geo_point import SyntheticGeoPoint as SyntheticGeoPoint +from instana_client.models.synthetic_location import SyntheticLocation as SyntheticLocation +from instana_client.models.synthetic_location_configuration import SyntheticLocationConfiguration as SyntheticLocationConfiguration +from instana_client.models.synthetic_metric_configuration import SyntheticMetricConfiguration as SyntheticMetricConfiguration +from instana_client.models.synthetic_metric_tag_group import SyntheticMetricTagGroup as SyntheticMetricTagGroup +from instana_client.models.synthetic_playback_capabilities import SyntheticPlaybackCapabilities as SyntheticPlaybackCapabilities +from instana_client.models.synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value import SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue as SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue +from instana_client.models.synthetic_resource_update_list_icmp_validation_list_icmp_validation import SyntheticResourceUpdateListICMPValidationListICMPValidation as SyntheticResourceUpdateListICMPValidationListICMPValidation +from instana_client.models.synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation import SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation as SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation +from instana_client.models.synthetic_resource_update_list_string_list_string import SyntheticResourceUpdateListStringListString as SyntheticResourceUpdateListStringListString +from instana_client.models.synthetic_resource_update_map_string_string_list_string import SyntheticResourceUpdateMapStringStringListString as SyntheticResourceUpdateMapStringStringListString +from instana_client.models.synthetic_slo_entity import SyntheticSloEntity as SyntheticSloEntity +from instana_client.models.synthetic_test import SyntheticTest as SyntheticTest +from instana_client.models.synthetic_test_cicd import SyntheticTestCICD as SyntheticTestCICD +from instana_client.models.synthetic_test_cicd_customization import SyntheticTestCICDCustomization as SyntheticTestCICDCustomization +from instana_client.models.synthetic_test_cicd_item import SyntheticTestCICDItem as SyntheticTestCICDItem +from instana_client.models.synthetic_test_cicd_response import SyntheticTestCICDResponse as SyntheticTestCICDResponse +from instana_client.models.synthetic_test_deep_update import SyntheticTestDeepUpdate as SyntheticTestDeepUpdate +from instana_client.models.synthetic_test_shallow_update import SyntheticTestShallowUpdate as SyntheticTestShallowUpdate +from instana_client.models.synthetic_test_update import SyntheticTestUpdate as SyntheticTestUpdate +from instana_client.models.synthetic_time_threshold import SyntheticTimeThreshold as SyntheticTimeThreshold +from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration as SyntheticTypeConfiguration +from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate as SyntheticTypeConfigurationUpdate +from instana_client.models.synthetics_event_result import SyntheticsEventResult as SyntheticsEventResult +from instana_client.models.system_rule import SystemRule as SystemRule +from instana_client.models.system_rule_label import SystemRuleLabel as SystemRuleLabel +from instana_client.models.tag import Tag as Tag +from instana_client.models.tag_catalog import TagCatalog as TagCatalog +from instana_client.models.tag_filter import TagFilter as TagFilter +from instana_client.models.tag_filter_expression import TagFilterExpression as TagFilterExpression +from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement as TagFilterExpressionElement +from instana_client.models.tag_matcher_dto import TagMatcherDTO as TagMatcherDTO +from instana_client.models.tag_tree_level import TagTreeLevel as TagTreeLevel +from instana_client.models.tag_tree_node import TagTreeNode as TagTreeNode +from instana_client.models.tag_tree_tag import TagTreeTag as TagTreeTag +from instana_client.models.test_common_properties import TestCommonProperties as TestCommonProperties +from instana_client.models.test_connection_response import TestConnectionResponse as TestConnectionResponse +from instana_client.models.test_last_error import TestLastError as TestLastError +from instana_client.models.test_result import TestResult as TestResult +from instana_client.models.test_result_common_properties import TestResultCommonProperties as TestResultCommonProperties +from instana_client.models.test_result_detail_data import TestResultDetailData as TestResultDetailData +from instana_client.models.test_result_item import TestResultItem as TestResultItem +from instana_client.models.test_result_list_item import TestResultListItem as TestResultListItem +from instana_client.models.test_result_list_result import TestResultListResult as TestResultListResult +from instana_client.models.test_result_metadata import TestResultMetadata as TestResultMetadata +from instana_client.models.test_result_subtransaction import TestResultSubtransaction as TestResultSubtransaction +from instana_client.models.threshold import Threshold as Threshold +from instana_client.models.threshold_config_rule import ThresholdConfigRule as ThresholdConfigRule +from instana_client.models.threshold_rule import ThresholdRule as ThresholdRule +from instana_client.models.throughput_application_alert_rule import ThroughputApplicationAlertRule as ThroughputApplicationAlertRule +from instana_client.models.throughput_mobile_app_alert_rule import ThroughputMobileAppAlertRule as ThroughputMobileAppAlertRule +from instana_client.models.throughput_website_alert_rule import ThroughputWebsiteAlertRule as ThroughputWebsiteAlertRule +from instana_client.models.time_config import TimeConfig as TimeConfig +from instana_client.models.time_frame import TimeFrame as TimeFrame +from instana_client.models.time_window import TimeWindow as TimeWindow +from instana_client.models.topology import Topology as Topology +from instana_client.models.trace import Trace as Trace +from instana_client.models.trace_activity_tree_node_details import TraceActivityTreeNodeDetails as TraceActivityTreeNodeDetails +from instana_client.models.trace_download_result import TraceDownloadResult as TraceDownloadResult +from instana_client.models.trace_groups_item import TraceGroupsItem as TraceGroupsItem +from instana_client.models.trace_groups_result import TraceGroupsResult as TraceGroupsResult +from instana_client.models.trace_impact_application_time_threshold import TraceImpactApplicationTimeThreshold as TraceImpactApplicationTimeThreshold +from instana_client.models.trace_item import TraceItem as TraceItem +from instana_client.models.trace_result import TraceResult as TraceResult +from instana_client.models.trace_sampling_config import TraceSamplingConfig as TraceSamplingConfig +from instana_client.models.traffic_blueprint_indicator import TrafficBlueprintIndicator as TrafficBlueprintIndicator +from instana_client.models.trigger import Trigger as Trigger +from instana_client.models.type_configuration import TypeConfiguration as TypeConfiguration +from instana_client.models.unsupported_http_path_segment_matching_rule import UnsupportedHttpPathSegmentMatchingRule as UnsupportedHttpPathSegmentMatchingRule +from instana_client.models.update_evaluation_request import UpdateEvaluationRequest as UpdateEvaluationRequest +from instana_client.models.update_fleet_configuration_request import UpdateFleetConfigurationRequest as UpdateFleetConfigurationRequest +from instana_client.models.updated_business_perspective_config import UpdatedBusinessPerspectiveConfig as UpdatedBusinessPerspectiveConfig +from instana_client.models.usage_result import UsageResult as UsageResult +from instana_client.models.usage_result_items import UsageResultItems as UsageResultItems +from instana_client.models.user_basic_result import UserBasicResult as UserBasicResult +from instana_client.models.user_impact_mobile_app_time_threshold import UserImpactMobileAppTimeThreshold as UserImpactMobileAppTimeThreshold +from instana_client.models.user_impact_website_time_threshold import UserImpactWebsiteTimeThreshold as UserImpactWebsiteTimeThreshold +from instana_client.models.user_result import UserResult as UserResult +from instana_client.models.users_result import UsersResult as UsersResult +from instana_client.models.validated_alerting_channel_input_info import ValidatedAlertingChannelInputInfo as ValidatedAlertingChannelInputInfo +from instana_client.models.validated_alerting_configuration import ValidatedAlertingConfiguration as ValidatedAlertingConfiguration +from instana_client.models.validated_maintenance_config_v2_with_state_and_occurrence import ValidatedMaintenanceConfigV2WithStateAndOccurrence as ValidatedMaintenanceConfigV2WithStateAndOccurrence +from instana_client.models.validated_maintenance_config_with_status import ValidatedMaintenanceConfigWithStatus as ValidatedMaintenanceConfigWithStatus +from instana_client.models.victor_ops_integration import VictorOpsIntegration as VictorOpsIntegration +from instana_client.models.violations_in_period_application_time_threshold import ViolationsInPeriodApplicationTimeThreshold as ViolationsInPeriodApplicationTimeThreshold +from instana_client.models.violations_in_period_mobile_app_time_threshold import ViolationsInPeriodMobileAppTimeThreshold as ViolationsInPeriodMobileAppTimeThreshold +from instana_client.models.violations_in_period_website_time_threshold import ViolationsInPeriodWebsiteTimeThreshold as ViolationsInPeriodWebsiteTimeThreshold +from instana_client.models.violations_in_sequence_application_time_threshold import ViolationsInSequenceApplicationTimeThreshold as ViolationsInSequenceApplicationTimeThreshold +from instana_client.models.violations_in_sequence_infra_time_threshold import ViolationsInSequenceInfraTimeThreshold as ViolationsInSequenceInfraTimeThreshold +from instana_client.models.violations_in_sequence_log_time_threshold import ViolationsInSequenceLogTimeThreshold as ViolationsInSequenceLogTimeThreshold +from instana_client.models.violations_in_sequence_mobile_app_time_threshold import ViolationsInSequenceMobileAppTimeThreshold as ViolationsInSequenceMobileAppTimeThreshold +from instana_client.models.violations_in_sequence_synthetic_time_threshold import ViolationsInSequenceSyntheticTimeThreshold as ViolationsInSequenceSyntheticTimeThreshold +from instana_client.models.violations_in_sequence_website_time_threshold import ViolationsInSequenceWebsiteTimeThreshold as ViolationsInSequenceWebsiteTimeThreshold +from instana_client.models.watson_ai_ops_webhook_integration import WatsonAIOpsWebhookIntegration as WatsonAIOpsWebhookIntegration +from instana_client.models.webex_teams_webhook_integration import WebexTeamsWebhookIntegration as WebexTeamsWebhookIntegration +from instana_client.models.webhook_integration import WebhookIntegration as WebhookIntegration +from instana_client.models.webpage_action_configuration import WebpageActionConfiguration as WebpageActionConfiguration +from instana_client.models.webpage_action_configuration_update import WebpageActionConfigurationUpdate as WebpageActionConfigurationUpdate +from instana_client.models.webpage_script_configuration import WebpageScriptConfiguration as WebpageScriptConfiguration +from instana_client.models.webpage_script_configuration_update import WebpageScriptConfigurationUpdate as WebpageScriptConfigurationUpdate +from instana_client.models.website import Website as Website +from instana_client.models.website_alert_config import WebsiteAlertConfig as WebsiteAlertConfig +from instana_client.models.website_alert_config_with_metadata import WebsiteAlertConfigWithMetadata as WebsiteAlertConfigWithMetadata +from instana_client.models.website_alert_config_with_rbac_tag import WebsiteAlertConfigWithRBACTag as WebsiteAlertConfigWithRBACTag +from instana_client.models.website_alert_rule import WebsiteAlertRule as WebsiteAlertRule +from instana_client.models.website_apdex_entity import WebsiteApdexEntity as WebsiteApdexEntity +from instana_client.models.website_beacon_groups_item import WebsiteBeaconGroupsItem as WebsiteBeaconGroupsItem +from instana_client.models.website_beacon_groups_result import WebsiteBeaconGroupsResult as WebsiteBeaconGroupsResult +from instana_client.models.website_beacon_result import WebsiteBeaconResult as WebsiteBeaconResult +from instana_client.models.website_beacon_tag_group import WebsiteBeaconTagGroup as WebsiteBeaconTagGroup +from instana_client.models.website_beacons_item import WebsiteBeaconsItem as WebsiteBeaconsItem +from instana_client.models.website_event_based_sli_entity import WebsiteEventBasedSliEntity as WebsiteEventBasedSliEntity +from instana_client.models.website_event_result import WebsiteEventResult as WebsiteEventResult +from instana_client.models.website_metric_result import WebsiteMetricResult as WebsiteMetricResult +from instana_client.models.website_monitoring_beacon import WebsiteMonitoringBeacon as WebsiteMonitoringBeacon +from instana_client.models.website_monitoring_metric_description import WebsiteMonitoringMetricDescription as WebsiteMonitoringMetricDescription +from instana_client.models.website_monitoring_metrics_configuration import WebsiteMonitoringMetricsConfiguration as WebsiteMonitoringMetricsConfiguration +from instana_client.models.website_slo_entity import WebsiteSloEntity as WebsiteSloEntity +from instana_client.models.website_time_based_sli_entity import WebsiteTimeBasedSliEntity as WebsiteTimeBasedSliEntity +from instana_client.models.website_time_threshold import WebsiteTimeThreshold as WebsiteTimeThreshold +from instana_client.models.widget import Widget as Widget +from instana_client.models.with_meta_data import WithMetaData as WithMetaData +from instana_client.models.with_resolved_name import WithResolvedName as WithResolvedName +from instana_client.models.z_chat_ops_integration import ZChatOpsIntegration as ZChatOpsIntegration + diff --git a/instana_client/api/__init__.py b/instana_client/api/__init__.py index d626738c..3d80967a 100644 --- a/instana_client/api/__init__.py +++ b/instana_client/api/__init__.py @@ -22,6 +22,7 @@ from instana_client.api.end_user_monitoring_api import EndUserMonitoringApi from instana_client.api.event_settings_api import EventSettingsApi from instana_client.api.events_api import EventsApi +from instana_client.api.fleet_management_api import FleetManagementApi from instana_client.api.global_application_alert_configuration_api import GlobalApplicationAlertConfigurationApi from instana_client.api.groups_api import GroupsApi from instana_client.api.health_api import HealthApi @@ -33,6 +34,7 @@ from instana_client.api.infrastructure_metrics_api import InfrastructureMetricsApi from instana_client.api.infrastructure_resources_api import InfrastructureResourcesApi from instana_client.api.infrastructure_topology_api import InfrastructureTopologyApi +from instana_client.api.llm_evaluation_api import LLMEvaluationApi from instana_client.api.llm_price_configuration_api import LLMPriceConfigurationApi from instana_client.api.log_alert_configuration_api import LogAlertConfigurationApi from instana_client.api.logging_analyze_api import LoggingAnalyzeApi @@ -41,6 +43,7 @@ from instana_client.api.mobile_app_catalog_api import MobileAppCatalogApi from instana_client.api.mobile_app_configuration_api import MobileAppConfigurationApi from instana_client.api.mobile_app_metrics_api import MobileAppMetricsApi +from instana_client.api.mobile_app_session_replay_api import MobileAppSessionReplayApi from instana_client.api.policies_api import PoliciesApi from instana_client.api.releases_api import ReleasesApi from instana_client.api.roles_api import RolesApi diff --git a/instana_client/api/action_catalog_api.py b/instana_client/api/action_catalog_api.py index c7bc3a06..051298e6 100644 --- a/instana_client/api/action_catalog_api.py +++ b/instana_client/api/action_catalog_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/action_history_api.py b/instana_client/api/action_history_api.py index bae09dee..11390eec 100644 --- a/instana_client/api/action_history_api.py +++ b/instana_client/api/action_history_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/ai_management_api.py b/instana_client/api/ai_management_api.py index 6f66c550..f6a89f11 100644 --- a/instana_client/api/ai_management_api.py +++ b/instana_client/api/ai_management_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -59,9 +58,9 @@ def add_llm_egress_gateway( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LLMEgressGateway: - """Create a new LLM gateway + """Create a new AI connection - Create a new LLM gateway + Create a new AI connection :param llm_egress_gateway: (required) :type llm_egress_gateway: LLMEgressGateway @@ -129,9 +128,9 @@ def add_llm_egress_gateway_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LLMEgressGateway]: - """Create a new LLM gateway + """Create a new AI connection - Create a new LLM gateway + Create a new AI connection :param llm_egress_gateway: (required) :type llm_egress_gateway: LLMEgressGateway @@ -199,9 +198,9 @@ def add_llm_egress_gateway_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Create a new LLM gateway + """Create a new AI connection - Create a new LLM gateway + Create a new AI connection :param llm_egress_gateway: (required) :type llm_egress_gateway: LLMEgressGateway @@ -328,7 +327,7 @@ def _add_llm_egress_gateway_serialize( @validate_call def delete_llm_egress_gateway( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -342,11 +341,11 @@ def delete_llm_egress_gateway( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """Delete a LLM egress gateway + """Delete an AI connection - Delete a LLM egress gateway by ID. + Delete an AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -399,7 +398,7 @@ def delete_llm_egress_gateway( @validate_call def delete_llm_egress_gateway_with_http_info( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -413,11 +412,11 @@ def delete_llm_egress_gateway_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """Delete a LLM egress gateway + """Delete an AI connection - Delete a LLM egress gateway by ID. + Delete an AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -470,7 +469,7 @@ def delete_llm_egress_gateway_with_http_info( @validate_call def delete_llm_egress_gateway_without_preload_content( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -484,11 +483,11 @@ def delete_llm_egress_gateway_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Delete a LLM egress gateway + """Delete an AI connection - Delete a LLM egress gateway by ID. + Delete an AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -591,10 +590,276 @@ def _delete_llm_egress_gateway_serialize( + @validate_call + def disable_llm_egress_gateway( + self, + id: Annotated[StrictStr, Field(description="AI connection ID")], + _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: + """Disable an AI connection + + Disable an AI connection by ID. + + :param id: AI connection ID (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 + (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._disable_llm_egress_gateway_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def disable_llm_egress_gateway_with_http_info( + self, + id: Annotated[StrictStr, Field(description="AI connection ID")], + _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]: + """Disable an AI connection + + Disable an AI connection by ID. + + :param id: AI connection ID (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 + (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._disable_llm_egress_gateway_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def disable_llm_egress_gateway_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="AI connection ID")], + _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: + """Disable an AI connection + + Disable an AI connection by ID. + + :param id: AI connection ID (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 + (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._disable_llm_egress_gateway_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _disable_llm_egress_gateway_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/llm/gateways/{id}/disable', + 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 enable_llm_egress_gateway( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -608,11 +873,11 @@ def enable_llm_egress_gateway( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """Set the enabled status of a LLM gateway + """Enable an AI connection - Enable a LLM gateway by ID. Any other enabled gateway for the same capability will be automatically disabled. + Enable an AI connection by ID. Any other enabled connection for the same capability will be automatically disabled. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -665,7 +930,7 @@ def enable_llm_egress_gateway( @validate_call def enable_llm_egress_gateway_with_http_info( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -679,11 +944,11 @@ def enable_llm_egress_gateway_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """Set the enabled status of a LLM gateway + """Enable an AI connection - Enable a LLM gateway by ID. Any other enabled gateway for the same capability will be automatically disabled. + Enable an AI connection by ID. Any other enabled connection for the same capability will be automatically disabled. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -736,7 +1001,7 @@ def enable_llm_egress_gateway_with_http_info( @validate_call def enable_llm_egress_gateway_without_preload_content( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -750,11 +1015,11 @@ def enable_llm_egress_gateway_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Set the enabled status of a LLM gateway + """Enable an AI connection - Enable a LLM gateway by ID. Any other enabled gateway for the same capability will be automatically disabled. + Enable an AI connection by ID. Any other enabled connection for the same capability will be automatically disabled. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1112,7 +1377,7 @@ def _get_llm_capabilities_serialize( @validate_call def get_llm_egress_gateway_by_id( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1126,11 +1391,11 @@ def get_llm_egress_gateway_by_id( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LLMEgressGateway: - """Get a LLM gateway by ID + """Get an AI connection by ID - Retrieve a LLM gateway by ID. + Retrieve an AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1183,7 +1448,7 @@ def get_llm_egress_gateway_by_id( @validate_call def get_llm_egress_gateway_by_id_with_http_info( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1197,11 +1462,11 @@ def get_llm_egress_gateway_by_id_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LLMEgressGateway]: - """Get a LLM gateway by ID + """Get an AI connection by ID - Retrieve a LLM gateway by ID. + Retrieve an AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1254,7 +1519,7 @@ def get_llm_egress_gateway_by_id_with_http_info( @validate_call def get_llm_egress_gateway_by_id_without_preload_content( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1268,11 +1533,11 @@ def get_llm_egress_gateway_by_id_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get a LLM gateway by ID + """Get an AI connection by ID - Retrieve a LLM gateway by ID. + Retrieve an AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1400,9 +1665,9 @@ def get_llm_egress_gateways( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[LLMEgressGateway]: - """Get all LLM gateways + """Get all AI connections - Retrieve all LLM gateways. Optionally filter by enabled status or capability. + Retrieve all AI connections. Optionally filter by enabled status or capability. :param enabled: Filter by enabled status (true/false) :type enabled: bool @@ -1475,9 +1740,9 @@ def get_llm_egress_gateways_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[LLMEgressGateway]]: - """Get all LLM gateways + """Get all AI connections - Retrieve all LLM gateways. Optionally filter by enabled status or capability. + Retrieve all AI connections. Optionally filter by enabled status or capability. :param enabled: Filter by enabled status (true/false) :type enabled: bool @@ -1550,9 +1815,9 @@ def get_llm_egress_gateways_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get all LLM gateways + """Get all AI connections - Retrieve all LLM gateways. Optionally filter by enabled status or capability. + Retrieve all AI connections. Optionally filter by enabled status or capability. :param enabled: Filter by enabled status (true/false) :type enabled: bool @@ -1691,9 +1956,9 @@ def test_llm_gateway( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TestConnectionResponse: - """Test LLM gateway connection parameters + """Test AI connection connection parameters - Test LLM gateway connection parameters + Test AI connection connection parameters :param llm_gateway_test_connection_request: (required) :type llm_gateway_test_connection_request: LLMGatewayTestConnectionRequest @@ -1762,9 +2027,9 @@ def test_llm_gateway_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TestConnectionResponse]: - """Test LLM gateway connection parameters + """Test AI connection connection parameters - Test LLM gateway connection parameters + Test AI connection connection parameters :param llm_gateway_test_connection_request: (required) :type llm_gateway_test_connection_request: LLMGatewayTestConnectionRequest @@ -1833,9 +2098,9 @@ def test_llm_gateway_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Test LLM gateway connection parameters + """Test AI connection connection parameters - Test LLM gateway connection parameters + Test AI connection connection parameters :param llm_gateway_test_connection_request: (required) :type llm_gateway_test_connection_request: LLMGatewayTestConnectionRequest @@ -1963,7 +2228,7 @@ def _test_llm_gateway_serialize( @validate_call def update_llm_egress_gateway( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], llm_egress_gateway: LLMEgressGateway, _request_timeout: Union[ None, @@ -1978,11 +2243,11 @@ def update_llm_egress_gateway( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LLMEgressGateway: - """Update an existing LLM gateway. + """Update an existing AI connection. - Update an existing LLM gateway by ID. + Update an existing AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param llm_egress_gateway: (required) :type llm_egress_gateway: LLMEgressGateway @@ -2038,7 +2303,7 @@ def update_llm_egress_gateway( @validate_call def update_llm_egress_gateway_with_http_info( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], llm_egress_gateway: LLMEgressGateway, _request_timeout: Union[ None, @@ -2053,11 +2318,11 @@ def update_llm_egress_gateway_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LLMEgressGateway]: - """Update an existing LLM gateway. + """Update an existing AI connection. - Update an existing LLM gateway by ID. + Update an existing AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param llm_egress_gateway: (required) :type llm_egress_gateway: LLMEgressGateway @@ -2113,7 +2378,7 @@ def update_llm_egress_gateway_with_http_info( @validate_call def update_llm_egress_gateway_without_preload_content( self, - id: Annotated[StrictStr, Field(description="LLM gateway ID")], + id: Annotated[StrictStr, Field(description="AI connection ID")], llm_egress_gateway: LLMEgressGateway, _request_timeout: Union[ None, @@ -2128,11 +2393,11 @@ def update_llm_egress_gateway_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update an existing LLM gateway. + """Update an existing AI connection. - Update an existing LLM gateway by ID. + Update an existing AI connection by ID. - :param id: LLM gateway ID (required) + :param id: AI connection ID (required) :type id: str :param llm_egress_gateway: (required) :type llm_egress_gateway: LLMEgressGateway diff --git a/instana_client/api/apdex_report_api.py b/instana_client/api/apdex_report_api.py index 46eb39c3..f2ce2c37 100644 --- a/instana_client/api/apdex_report_api.py +++ b/instana_client/api/apdex_report_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/apdex_settings_api.py b/instana_client/api/apdex_settings_api.py index 00ae5577..588411f7 100644 --- a/instana_client/api/apdex_settings_api.py +++ b/instana_client/api/apdex_settings_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -20,10 +19,10 @@ from pydantic import Field, StrictBool, StrictInt, StrictStr, field_validator from typing import List, Optional from typing_extensions import Annotated +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag from instana_client.models.apdex_configuration import ApdexConfiguration from instana_client.models.apdex_configuration_input import ApdexConfigurationInput from instana_client.models.apdex_level import ApdexLevel -from instana_client.models.slo_config_with_rbac_tag import SLOConfigWithRBACTag from instana_client.api_client import ApiClient, RequestSerialized from instana_client.api_response import ApiResponse @@ -330,7 +329,7 @@ def create_apdex_configuration_v2( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApdexConfiguration: + ) -> ApdexConfigWithRBACTag: """Create Apdex Configuration @@ -367,7 +366,7 @@ def create_apdex_configuration_v2( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApdexConfiguration", + '200': "ApdexConfigWithRBACTag", } response_data = self.api_client.call_api( *_param, @@ -396,7 +395,7 @@ def create_apdex_configuration_v2_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[ApdexConfiguration]: + ) -> ApiResponse[ApdexConfigWithRBACTag]: """Create Apdex Configuration @@ -433,7 +432,7 @@ def create_apdex_configuration_v2_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApdexConfiguration", + '200': "ApdexConfigWithRBACTag", } response_data = self.api_client.call_api( *_param, @@ -499,7 +498,7 @@ def create_apdex_configuration_v2_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApdexConfiguration", + '200': "ApdexConfigWithRBACTag", } response_data = self.api_client.call_api( *_param, @@ -1338,7 +1337,7 @@ def get_all_apdex_config_tags_v2( self, query: Optional[StrictStr] = None, tag: Optional[List[StrictStr]] = None, - entity_type: Optional[StrictStr] = None, + entity_type: Optional[List[StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1360,7 +1359,7 @@ def get_all_apdex_config_tags_v2( :param tag: :type tag: List[str] :param entity_type: - :type entity_type: str + :type entity_type: List[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 @@ -1412,7 +1411,7 @@ def get_all_apdex_config_tags_v2_with_http_info( self, query: Optional[StrictStr] = None, tag: Optional[List[StrictStr]] = None, - entity_type: Optional[StrictStr] = None, + entity_type: Optional[List[StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1434,7 +1433,7 @@ def get_all_apdex_config_tags_v2_with_http_info( :param tag: :type tag: List[str] :param entity_type: - :type entity_type: str + :type entity_type: List[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 @@ -1486,7 +1485,7 @@ def get_all_apdex_config_tags_v2_without_preload_content( self, query: Optional[StrictStr] = None, tag: Optional[List[StrictStr]] = None, - entity_type: Optional[StrictStr] = None, + entity_type: Optional[List[StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1508,7 +1507,7 @@ def get_all_apdex_config_tags_v2_without_preload_content( :param tag: :type tag: List[str] :param entity_type: - :type entity_type: str + :type entity_type: List[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 @@ -1566,6 +1565,7 @@ def _get_all_apdex_config_tags_v2_serialize( _collection_formats: Dict[str, str] = { 'tag': 'multi', + 'entityType': 'multi', } _path_params: Dict[str, str] = {} @@ -1886,9 +1886,11 @@ def get_all_apdex_configurations_v2( refresh: Optional[StrictBool] = None, var_from: Optional[StrictInt] = None, to: Optional[StrictInt] = None, - entity_type: Optional[StrictStr] = None, + entity_type: Optional[List[StrictStr]] = None, entity_id: Optional[StrictStr] = None, apdex_ids: Optional[List[StrictStr]] = None, + tag: Optional[List[StrictStr]] = None, + rbac_tags: Optional[List[StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1901,7 +1903,7 @@ def get_all_apdex_configurations_v2( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[ApdexConfiguration]: + ) -> List[ApdexConfigWithRBACTag]: """Get All Apdex Configurations API to Get All Apdex Configurations. @@ -1925,11 +1927,15 @@ def get_all_apdex_configurations_v2( :param to: :type to: int :param entity_type: - :type entity_type: str + :type entity_type: List[str] :param entity_id: :type entity_id: str :param apdex_ids: :type apdex_ids: List[str] + :param tag: + :type tag: List[str] + :param rbac_tags: + :type rbac_tags: List[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 @@ -1965,6 +1971,8 @@ def get_all_apdex_configurations_v2( entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids, + tag=tag, + rbac_tags=rbac_tags, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1972,7 +1980,7 @@ def get_all_apdex_configurations_v2( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[ApdexConfiguration]", + '200': "List[ApdexConfigWithRBACTag]", } response_data = self.api_client.call_api( *_param, @@ -1997,9 +2005,11 @@ def get_all_apdex_configurations_v2_with_http_info( refresh: Optional[StrictBool] = None, var_from: Optional[StrictInt] = None, to: Optional[StrictInt] = None, - entity_type: Optional[StrictStr] = None, + entity_type: Optional[List[StrictStr]] = None, entity_id: Optional[StrictStr] = None, apdex_ids: Optional[List[StrictStr]] = None, + tag: Optional[List[StrictStr]] = None, + rbac_tags: Optional[List[StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2012,7 +2022,7 @@ def get_all_apdex_configurations_v2_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[ApdexConfiguration]]: + ) -> ApiResponse[List[ApdexConfigWithRBACTag]]: """Get All Apdex Configurations API to Get All Apdex Configurations. @@ -2036,11 +2046,15 @@ def get_all_apdex_configurations_v2_with_http_info( :param to: :type to: int :param entity_type: - :type entity_type: str + :type entity_type: List[str] :param entity_id: :type entity_id: str :param apdex_ids: :type apdex_ids: List[str] + :param tag: + :type tag: List[str] + :param rbac_tags: + :type rbac_tags: List[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 @@ -2076,6 +2090,8 @@ def get_all_apdex_configurations_v2_with_http_info( entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids, + tag=tag, + rbac_tags=rbac_tags, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2083,7 +2099,7 @@ def get_all_apdex_configurations_v2_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[ApdexConfiguration]", + '200': "List[ApdexConfigWithRBACTag]", } response_data = self.api_client.call_api( *_param, @@ -2108,9 +2124,11 @@ def get_all_apdex_configurations_v2_without_preload_content( refresh: Optional[StrictBool] = None, var_from: Optional[StrictInt] = None, to: Optional[StrictInt] = None, - entity_type: Optional[StrictStr] = None, + entity_type: Optional[List[StrictStr]] = None, entity_id: Optional[StrictStr] = None, apdex_ids: Optional[List[StrictStr]] = None, + tag: Optional[List[StrictStr]] = None, + rbac_tags: Optional[List[StrictStr]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2147,11 +2165,15 @@ def get_all_apdex_configurations_v2_without_preload_content( :param to: :type to: int :param entity_type: - :type entity_type: str + :type entity_type: List[str] :param entity_id: :type entity_id: str :param apdex_ids: :type apdex_ids: List[str] + :param tag: + :type tag: List[str] + :param rbac_tags: + :type rbac_tags: List[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 +2209,8 @@ def get_all_apdex_configurations_v2_without_preload_content( entity_type=entity_type, entity_id=entity_id, apdex_ids=apdex_ids, + tag=tag, + rbac_tags=rbac_tags, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2194,7 +2218,7 @@ def get_all_apdex_configurations_v2_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[ApdexConfiguration]", + '200': "List[ApdexConfigWithRBACTag]", } response_data = self.api_client.call_api( *_param, @@ -2217,6 +2241,8 @@ def _get_all_apdex_configurations_v2_serialize( entity_type, entity_id, apdex_ids, + tag, + rbac_tags, _request_auth, _content_type, _headers, @@ -2226,7 +2252,10 @@ def _get_all_apdex_configurations_v2_serialize( _host = None _collection_formats: Dict[str, str] = { + 'entityType': 'multi', 'apdexIds': 'multi', + 'tag': 'multi', + 'rbacTags': 'multi', } _path_params: Dict[str, str] = {} @@ -2288,6 +2317,14 @@ def _get_all_apdex_configurations_v2_serialize( _query_params.append(('apdexIds', apdex_ids)) + if tag is not None: + + _query_params.append(('tag', tag)) + + if rbac_tags is not None: + + _query_params.append(('rbacTags', rbac_tags)) + # process the header parameters # process the form parameters # process the body parameter @@ -2605,7 +2642,7 @@ def get_apdex_configuration_v2( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApdexConfiguration: + ) -> ApdexConfigWithRBACTag: """Get Apdex Configuration API to Get Apdex Configuration for specified ID. @@ -2643,7 +2680,7 @@ def get_apdex_configuration_v2( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApdexConfiguration", + '200': "ApdexConfigWithRBACTag", '404': "str", } response_data = self.api_client.call_api( @@ -2673,7 +2710,7 @@ def get_apdex_configuration_v2_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[ApdexConfiguration]: + ) -> ApiResponse[ApdexConfigWithRBACTag]: """Get Apdex Configuration API to Get Apdex Configuration for specified ID. @@ -2711,7 +2748,7 @@ def get_apdex_configuration_v2_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApdexConfiguration", + '200': "ApdexConfigWithRBACTag", '404': "str", } response_data = self.api_client.call_api( @@ -2779,7 +2816,7 @@ def get_apdex_configuration_v2_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApdexConfiguration", + '200': "ApdexConfigWithRBACTag", '404': "str", } response_data = self.api_client.call_api( @@ -3149,7 +3186,7 @@ def update_apdex_config_v2( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SLOConfigWithRBACTag: + ) -> ApdexConfigWithRBACTag: """Update an existing Apdex Config @@ -3189,7 +3226,7 @@ def update_apdex_config_v2( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SLOConfigWithRBACTag", + '200': "ApdexConfigWithRBACTag", '400': "str", } response_data = self.api_client.call_api( @@ -3220,7 +3257,7 @@ def update_apdex_config_v2_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[SLOConfigWithRBACTag]: + ) -> ApiResponse[ApdexConfigWithRBACTag]: """Update an existing Apdex Config @@ -3260,7 +3297,7 @@ def update_apdex_config_v2_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SLOConfigWithRBACTag", + '200': "ApdexConfigWithRBACTag", '400': "str", } response_data = self.api_client.call_api( @@ -3331,7 +3368,7 @@ def update_apdex_config_v2_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SLOConfigWithRBACTag", + '200': "ApdexConfigWithRBACTag", '400': "str", } response_data = self.api_client.call_api( diff --git a/instana_client/api/api_token_api.py b/instana_client/api/api_token_api.py index ab6242b3..a7995d46 100644 --- a/instana_client/api/api_token_api.py +++ b/instana_client/api/api_token_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/application_alert_configuration_api.py b/instana_client/api/application_alert_configuration_api.py index 2f8eb3a4..e55c4297 100644 --- a/instana_client/api/application_alert_configuration_api.py +++ b/instana_client/api/application_alert_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -99,6 +98,7 @@ def bulk_delete_application_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -168,6 +168,7 @@ def bulk_delete_application_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -237,6 +238,7 @@ def bulk_delete_application_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -372,6 +374,7 @@ def bulk_disable_application_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -441,6 +444,7 @@ def bulk_disable_application_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -510,6 +514,7 @@ def bulk_disable_application_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -645,6 +650,7 @@ def bulk_enable_application_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -714,6 +720,7 @@ def bulk_enable_application_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -783,6 +790,7 @@ def bulk_enable_application_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1986,7 +1994,7 @@ def _enable_application_alert_config_serialize( @validate_call def find_all_active_application_alert_configs( self, - application_id: Annotated[StrictStr, Field(description="The ID of a specific Application.")], + application_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Application.")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -2057,7 +2065,7 @@ def find_all_active_application_alert_configs( @validate_call def find_all_active_application_alert_configs_with_http_info( self, - application_id: Annotated[StrictStr, Field(description="The ID of a specific Application.")], + application_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Application.")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -2128,7 +2136,7 @@ def find_all_active_application_alert_configs_with_http_info( @validate_call def find_all_active_application_alert_configs_without_preload_content( self, - application_id: Annotated[StrictStr, Field(description="The ID of a specific Application.")], + application_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Application.")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, diff --git a/instana_client/api/application_analyze_api.py b/instana_client/api/application_analyze_api.py index 05a06ec3..edd6bbae 100644 --- a/instana_client/api/application_analyze_api.py +++ b/instana_client/api/application_analyze_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -878,6 +877,263 @@ def _get_correlated_traces_serialize( + @validate_call + def get_task_flows_by_root_id( + self, + root_id: Annotated[str, Field(min_length=1, strict=True)], + _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 task flow hierarchy by root ID (built in genai-analytics-reader) + + + :param root_id: (required) + :type root_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_task_flows_by_root_id_serialize( + root_id=root_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_task_flows_by_root_id_with_http_info( + self, + root_id: Annotated[str, Field(min_length=1, strict=True)], + _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 task flow hierarchy by root ID (built in genai-analytics-reader) + + + :param root_id: (required) + :type root_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_task_flows_by_root_id_serialize( + root_id=root_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_task_flows_by_root_id_without_preload_content( + self, + root_id: Annotated[str, Field(min_length=1, strict=True)], + _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 task flow hierarchy by root ID (built in genai-analytics-reader) + + + :param root_id: (required) + :type root_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_task_flows_by_root_id_serialize( + root_id=root_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_task_flows_by_root_id_serialize( + self, + root_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if root_id is not None: + _path_params['rootId'] = root_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/genai-monitoring/analyze/tasks/{rootId}', + 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_trace_download( self, diff --git a/instana_client/api/application_catalog_api.py b/instana_client/api/application_catalog_api.py index 61ea8e72..4a5ce73a 100644 --- a/instana_client/api/application_catalog_api.py +++ b/instana_client/api/application_catalog_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/application_metrics_api.py b/instana_client/api/application_metrics_api.py index e3fe990c..f3238dc1 100644 --- a/instana_client/api/application_metrics_api.py +++ b/instana_client/api/application_metrics_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/application_resources_api.py b/instana_client/api/application_resources_api.py index 65519af1..58508dfc 100644 --- a/instana_client/api/application_resources_api.py +++ b/instana_client/api/application_resources_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/application_settings_api.py b/instana_client/api/application_settings_api.py index d9e2e849..4ce408ad 100644 --- a/instana_client/api/application_settings_api.py +++ b/instana_client/api/application_settings_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/application_topology_api.py b/instana_client/api/application_topology_api.py index ecf5fd43..b8ab515f 100644 --- a/instana_client/api/application_topology_api.py +++ b/instana_client/api/application_topology_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/audit_log_api.py b/instana_client/api/audit_log_api.py index 85493d83..7c0891e0 100644 --- a/instana_client/api/audit_log_api.py +++ b/instana_client/api/audit_log_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/authentication_api.py b/instana_client/api/authentication_api.py index a5b7feec..b6412127 100644 --- a/instana_client/api/authentication_api.py +++ b/instana_client/api/authentication_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/business_monitoring_api.py b/instana_client/api/business_monitoring_api.py index 7c305743..2dd9d4a0 100644 --- a/instana_client/api/business_monitoring_api.py +++ b/instana_client/api/business_monitoring_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/custom_dashboards_api.py b/instana_client/api/custom_dashboards_api.py index 603951da..b175a0c7 100644 --- a/instana_client/api/custom_dashboards_api.py +++ b/instana_client/api/custom_dashboards_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/custom_entities_api.py b/instana_client/api/custom_entities_api.py index 479b122a..56f3d187 100644 --- a/instana_client/api/custom_entities_api.py +++ b/instana_client/api/custom_entities_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/default_api.py b/instana_client/api/default_api.py index c4aacbd6..29c9dd1f 100644 --- a/instana_client/api/default_api.py +++ b/instana_client/api/default_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -20,6 +19,8 @@ from pydantic import Field, StrictBool, StrictInt, StrictStr from typing import Optional from typing_extensions import Annotated +from instana_client.models.customer_email import CustomerEmail +from instana_client.models.trace_sampling_config import TraceSamplingConfig from instana_client.api_client import ApiClient, RequestSerialized from instana_client.api_response import ApiResponse @@ -40,12 +41,9 @@ def __init__(self, api_client=None) -> None: @validate_call - def get_internal_custom_dashboards( + def delete( self, - query: Annotated[Optional[StrictStr], Field(description="query")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="pageSize")] = None, - page: Annotated[Optional[StrictInt], Field(description="page")] = None, - with_total_hits: Annotated[Optional[StrictBool], Field(description="withTotalHits")] = None, + id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -59,17 +57,11 @@ def get_internal_custom_dashboards( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """get_internal_custom_dashboards + """delete - :param query: query - :type query: str - :param page_size: pageSize - :type page_size: int - :param page: page - :type page: int - :param with_total_hits: withTotalHits - :type with_total_hits: bool + :param id: (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 @@ -92,11 +84,8 @@ def get_internal_custom_dashboards( :return: Returns the result object. """ # noqa: E501 - _param = self._get_internal_custom_dashboards_serialize( - query=query, - page_size=page_size, - page=page, - with_total_hits=with_total_hits, + _param = self._delete_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -117,12 +106,9 @@ def get_internal_custom_dashboards( @validate_call - def get_internal_custom_dashboards_with_http_info( + def delete_with_http_info( self, - query: Annotated[Optional[StrictStr], Field(description="query")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="pageSize")] = None, - page: Annotated[Optional[StrictInt], Field(description="page")] = None, - with_total_hits: Annotated[Optional[StrictBool], Field(description="withTotalHits")] = None, + id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -136,17 +122,11 @@ def get_internal_custom_dashboards_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """get_internal_custom_dashboards + """delete - :param query: query - :type query: str - :param page_size: pageSize - :type page_size: int - :param page: page - :type page: int - :param with_total_hits: withTotalHits - :type with_total_hits: bool + :param id: (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 @@ -169,11 +149,8 @@ def get_internal_custom_dashboards_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_internal_custom_dashboards_serialize( - query=query, - page_size=page_size, - page=page, - with_total_hits=with_total_hits, + _param = self._delete_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -194,12 +171,9 @@ def get_internal_custom_dashboards_with_http_info( @validate_call - def get_internal_custom_dashboards_without_preload_content( + def delete_without_preload_content( self, - query: Annotated[Optional[StrictStr], Field(description="query")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="pageSize")] = None, - page: Annotated[Optional[StrictInt], Field(description="page")] = None, - with_total_hits: Annotated[Optional[StrictBool], Field(description="withTotalHits")] = None, + id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -213,17 +187,11 @@ def get_internal_custom_dashboards_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_internal_custom_dashboards + """delete - :param query: query - :type query: str - :param page_size: pageSize - :type page_size: int - :param page: page - :type page: int - :param with_total_hits: withTotalHits - :type with_total_hits: bool + :param id: (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 @@ -246,11 +214,8 @@ def get_internal_custom_dashboards_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_internal_custom_dashboards_serialize( - query=query, - page_size=page_size, - page=page, - with_total_hits=with_total_hits, + _param = self._delete_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -266,12 +231,9 @@ def get_internal_custom_dashboards_without_preload_content( return response_data.response - def _get_internal_custom_dashboards_serialize( + def _delete_serialize( self, - query, - page_size, - page, - with_total_hits, + id, _request_auth, _content_type, _headers, @@ -293,23 +255,9 @@ def _get_internal_custom_dashboards_serialize( _body_params: Optional[bytes] = None # process the path parameters + if id is not None: + _path_params['id'] = id # process the query parameters - if query is not None: - - _query_params.append(('query', query)) - - if page_size is not None: - - _query_params.append(('pageSize', page_size)) - - if page is not None: - - _query_params.append(('page', page)) - - if with_total_hits is not None: - - _query_params.append(('withTotalHits', with_total_hits)) - # process the header parameters # process the form parameters # process the body parameter @@ -326,12 +274,11 @@ def _get_internal_custom_dashboards_serialize( # authentication setting _auth_settings: List[str] = [ - 'ApiKeyAuth' ] return self.api_client.param_serialize( - method='GET', - resource_path='/api/internal/custom-dashboard', + method='DELETE', + resource_path='/api/filters/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -348,9 +295,8 @@ def _get_internal_custom_dashboards_serialize( @validate_call - def get_internal_dashboard( + def delete_trace_sampling_config( self, - dashboard_id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -364,11 +310,10 @@ def get_internal_dashboard( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """get_internal_dashboard + """Delete trace sampling configuration + Deletes the trace sampling configuration for the current tenant - :param dashboard_id: (required) - :type 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 @@ -391,8 +336,7 @@ def get_internal_dashboard( :return: Returns the result object. """ # noqa: E501 - _param = self._get_internal_dashboard_serialize( - dashboard_id=dashboard_id, + _param = self._delete_trace_sampling_config_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -400,6 +344,10 @@ def get_internal_dashboard( ) _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '401': None, + '403': None, + '500': None, } response_data = self.api_client.call_api( *_param, @@ -413,9 +361,8 @@ def get_internal_dashboard( @validate_call - def get_internal_dashboard_with_http_info( + def delete_trace_sampling_config_with_http_info( self, - dashboard_id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -429,11 +376,10 @@ def get_internal_dashboard_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """get_internal_dashboard + """Delete trace sampling configuration + Deletes the trace sampling configuration for the current tenant - :param dashboard_id: (required) - :type 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 @@ -456,8 +402,7 @@ def get_internal_dashboard_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_internal_dashboard_serialize( - dashboard_id=dashboard_id, + _param = self._delete_trace_sampling_config_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -465,6 +410,10 @@ def get_internal_dashboard_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '401': None, + '403': None, + '500': None, } response_data = self.api_client.call_api( *_param, @@ -478,9 +427,8 @@ def get_internal_dashboard_with_http_info( @validate_call - def get_internal_dashboard_without_preload_content( + def delete_trace_sampling_config_without_preload_content( self, - dashboard_id: StrictStr, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -494,11 +442,10 @@ def get_internal_dashboard_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_internal_dashboard + """Delete trace sampling configuration + Deletes the trace sampling configuration for the current tenant - :param dashboard_id: (required) - :type 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 @@ -521,8 +468,7 @@ def get_internal_dashboard_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_internal_dashboard_serialize( - dashboard_id=dashboard_id, + _param = self._delete_trace_sampling_config_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -530,6 +476,10 @@ def get_internal_dashboard_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '401': None, + '403': None, + '500': None, } response_data = self.api_client.call_api( *_param, @@ -538,9 +488,8 @@ def get_internal_dashboard_without_preload_content( return response_data.response - def _get_internal_dashboard_serialize( + def _delete_trace_sampling_config_serialize( self, - dashboard_id, _request_auth, _content_type, _headers, @@ -562,21 +511,12 @@ def _get_internal_dashboard_serialize( _body_params: Optional[bytes] = None # process the path parameters - if dashboard_id is not None: - _path_params['dashboardId'] = 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 @@ -585,8 +525,5999 @@ def _get_internal_dashboard_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/api/internal/custom-dashboard/{dashboardId}', + method='DELETE', + resource_path='/api/settings/trace-sampling', + 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 encrypt( + self, + customer_email: Optional[CustomerEmail] = 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, + ) -> str: + """encrypt + + + :param customer_email: + :type customer_email: CustomerEmail + :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._encrypt_serialize( + customer_email=customer_email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + 'default': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def encrypt_with_http_info( + self, + customer_email: Optional[CustomerEmail] = 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[str]: + """encrypt + + + :param customer_email: + :type customer_email: CustomerEmail + :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._encrypt_serialize( + customer_email=customer_email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + 'default': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def encrypt_without_preload_content( + self, + customer_email: Optional[CustomerEmail] = 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: + """encrypt + + + :param customer_email: + :type customer_email: CustomerEmail + :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._encrypt_serialize( + customer_email=customer_email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + 'default': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _encrypt_serialize( + self, + customer_email, + _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, List[str], List[bytes], List[Tuple[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 customer_email is not None: + _body_params = customer_email + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/encrypt', + 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( + self, + _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 + + + :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_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_with_http_info( + self, + _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 + + + :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_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_without_preload_content( + self, + _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 + + + :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_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/filters', + 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 get1( + self, + _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: + """get1 + + + :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._get1_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get1_with_http_info( + self, + _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]: + """get1 + + + :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._get1_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get1_without_preload_content( + self, + _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: + """get1 + + + :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._get1_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get1_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/license', + 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 get2( + self, + _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, + ) -> bool: + """get2 + + + :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._get2_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + 'default': "bool", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get2_with_http_info( + self, + _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[bool]: + """get2 + + + :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._get2_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + 'default': "bool", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get2_without_preload_content( + self, + _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: + """get2 + + + :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._get2_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + 'default': "bool", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get2_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/tos-privacy-agreement/checkUserAcceptance', + 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 get3( + self, + _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: + """get3 + + + :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._get3_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get3_with_http_info( + self, + _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]: + """get3 + + + :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._get3_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get3_without_preload_content( + self, + _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: + """get3 + + + :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._get3_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get3_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/user-settings', + 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_internal_custom_dashboards( + self, + query: Annotated[Optional[StrictStr], Field(description="query")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="pageSize")] = None, + page: Annotated[Optional[StrictInt], Field(description="page")] = None, + with_total_hits: Annotated[Optional[StrictBool], Field(description="withTotalHits")] = 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: + """get_internal_custom_dashboards + + + :param query: query + :type query: str + :param page_size: pageSize + :type page_size: int + :param page: page + :type page: int + :param with_total_hits: withTotalHits + :type with_total_hits: bool + :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_internal_custom_dashboards_serialize( + query=query, + page_size=page_size, + page=page, + with_total_hits=with_total_hits, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_internal_custom_dashboards_with_http_info( + self, + query: Annotated[Optional[StrictStr], Field(description="query")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="pageSize")] = None, + page: Annotated[Optional[StrictInt], Field(description="page")] = None, + with_total_hits: Annotated[Optional[StrictBool], Field(description="withTotalHits")] = 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]: + """get_internal_custom_dashboards + + + :param query: query + :type query: str + :param page_size: pageSize + :type page_size: int + :param page: page + :type page: int + :param with_total_hits: withTotalHits + :type with_total_hits: bool + :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_internal_custom_dashboards_serialize( + query=query, + page_size=page_size, + page=page, + with_total_hits=with_total_hits, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_internal_custom_dashboards_without_preload_content( + self, + query: Annotated[Optional[StrictStr], Field(description="query")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="pageSize")] = None, + page: Annotated[Optional[StrictInt], Field(description="page")] = None, + with_total_hits: Annotated[Optional[StrictBool], Field(description="withTotalHits")] = 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_internal_custom_dashboards + + + :param query: query + :type query: str + :param page_size: pageSize + :type page_size: int + :param page: page + :type page: int + :param with_total_hits: withTotalHits + :type with_total_hits: bool + :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_internal_custom_dashboards_serialize( + query=query, + page_size=page_size, + page=page, + with_total_hits=with_total_hits, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_internal_custom_dashboards_serialize( + self, + query, + page_size, + page, + with_total_hits, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if query is not None: + + _query_params.append(('query', query)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + if page is not None: + + _query_params.append(('page', page)) + + if with_total_hits is not None: + + _query_params.append(('withTotalHits', with_total_hits)) + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/internal/custom-dashboard', + 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_internal_dashboard( + self, + dashboard_id: StrictStr, + _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_internal_dashboard + + + :param dashboard_id: (required) + :type 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_internal_dashboard_serialize( + dashboard_id=dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_internal_dashboard_with_http_info( + self, + dashboard_id: StrictStr, + _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_internal_dashboard + + + :param dashboard_id: (required) + :type 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_internal_dashboard_serialize( + dashboard_id=dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_internal_dashboard_without_preload_content( + self, + dashboard_id: StrictStr, + _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_internal_dashboard + + + :param dashboard_id: (required) + :type 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_internal_dashboard_serialize( + dashboard_id=dashboard_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_internal_dashboard_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if dashboard_id is not None: + _path_params['dashboardId'] = 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/internal/custom-dashboard/{dashboardId}', + 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_latest_tos_privacy_agreement( + self, + _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_latest_tos_privacy_agreement + + + :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_latest_tos_privacy_agreement_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_latest_tos_privacy_agreement_with_http_info( + self, + _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_latest_tos_privacy_agreement + + + :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_latest_tos_privacy_agreement_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_latest_tos_privacy_agreement_without_preload_content( + self, + _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_latest_tos_privacy_agreement + + + :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_latest_tos_privacy_agreement_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_latest_tos_privacy_agreement_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/tos-privacy-agreement/latest', + 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_merged_user_permissions( + self, + user_id: StrictStr, + _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_merged_user_permissions + + + :param user_id: (required) + :type user_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_merged_user_permissions_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_merged_user_permissions_with_http_info( + self, + user_id: StrictStr, + _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_merged_user_permissions + + + :param user_id: (required) + :type user_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_merged_user_permissions_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_merged_user_permissions_without_preload_content( + self, + user_id: StrictStr, + _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_merged_user_permissions + + + :param user_id: (required) + :type user_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_merged_user_permissions_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_merged_user_permissions_serialize( + self, + user_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/settings/users/{userId}/mergedPermissions', + 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_trace_sampling_config( + self, + _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, + ) -> TraceSamplingConfig: + """Get trace sampling configuration + + Retrieves the trace sampling configuration for the current tenant + + :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_trace_sampling_config_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSamplingConfig", + '401': None, + '403': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_trace_sampling_config_with_http_info( + self, + _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[TraceSamplingConfig]: + """Get trace sampling configuration + + Retrieves the trace sampling configuration for the current tenant + + :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_trace_sampling_config_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSamplingConfig", + '401': None, + '403': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_trace_sampling_config_without_preload_content( + self, + _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 trace sampling configuration + + Retrieves the trace sampling configuration for the current tenant + + :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_trace_sampling_config_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSamplingConfig", + '401': None, + '403': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_trace_sampling_config_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/settings/trace-sampling', + 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_two_factor_credentials( + self, + _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_two_factor_credentials + + + :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_two_factor_credentials_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_two_factor_credentials_with_http_info( + self, + _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_two_factor_credentials + + + :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_two_factor_credentials_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_two_factor_credentials_without_preload_content( + self, + _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_two_factor_credentials + + + :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_two_factor_credentials_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_two_factor_credentials_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/settings/authentication/2fa/credentials', + 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_ui_settings( + self, + _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_ui_settings + + + :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_ui_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_ui_settings_with_http_info( + self, + _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_ui_settings + + + :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_ui_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_ui_settings_without_preload_content( + self, + _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_ui_settings + + + :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_ui_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_ui_settings_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/ui/settings', + 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_user_permissions( + self, + _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_user_permissions + + + :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_user_permissions_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_permissions_with_http_info( + self, + _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_user_permissions + + + :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_user_permissions_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_permissions_without_preload_content( + self, + _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_user_permissions + + + :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_user_permissions_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_permissions_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/permissions', + 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_user_permissions_by_id( + self, + user_id: StrictStr, + _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_user_permissions_by_id + + + :param user_id: (required) + :type user_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_user_permissions_by_id_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_permissions_by_id_with_http_info( + self, + user_id: StrictStr, + _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_user_permissions_by_id + + + :param user_id: (required) + :type user_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_user_permissions_by_id_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_permissions_by_id_without_preload_content( + self, + user_id: StrictStr, + _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_user_permissions_by_id + + + :param user_id: (required) + :type user_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_user_permissions_by_id_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_permissions_by_id_serialize( + self, + user_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/permissions/{userId}', + 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 post( + self, + _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: + """post + + + :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._post_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_with_http_info( + self, + _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]: + """post + + + :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._post_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_without_preload_content( + self, + _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: + """post + + + :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._post_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/filters', + 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 post_change_password( + self, + _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: + """post_change_password + + + :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._post_change_password_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def post_change_password_with_http_info( + self, + _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]: + """post_change_password + + + :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._post_change_password_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def post_change_password_without_preload_content( + self, + _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: + """post_change_password + + + :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._post_change_password_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_change_password_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/settings/authentication/changePassword', + 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 put( + self, + id: StrictStr, + _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: + """put + + + :param id: (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 + (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._put_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_with_http_info( + self, + id: StrictStr, + _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]: + """put + + + :param id: (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 + (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._put_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_without_preload_content( + self, + id: StrictStr, + _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: + """put + + + :param id: (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 + (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._put_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # 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] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/filters/{id}', + 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 put1( + self, + _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: + """put1 + + + :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._put1_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put1_with_http_info( + self, + _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]: + """put1 + + + :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._put1_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put1_without_preload_content( + self, + _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: + """put1 + + + :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._put1_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put1_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/user-settings', + 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 put_ui_setting( + self, + setting: StrictStr, + _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: + """put_ui_setting + + + :param setting: (required) + :type setting: 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._put_ui_setting_serialize( + setting=setting, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_ui_setting_with_http_info( + self, + setting: StrictStr, + _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]: + """put_ui_setting + + + :param setting: (required) + :type setting: 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._put_ui_setting_serialize( + setting=setting, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_ui_setting_without_preload_content( + self, + setting: StrictStr, + _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: + """put_ui_setting + + + :param setting: (required) + :type setting: 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._put_ui_setting_serialize( + setting=setting, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_ui_setting_serialize( + self, + setting, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if setting is not None: + _path_params['setting'] = setting + # 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] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/ui/settings/{setting}', + 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 put_ui_settings( + self, + _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: + """put_ui_settings + + + :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._put_ui_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def put_ui_settings_with_http_info( + self, + _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]: + """put_ui_settings + + + :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._put_ui_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def put_ui_settings_without_preload_content( + self, + _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: + """put_ui_settings + + + :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._put_ui_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _put_ui_settings_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/ui/settings', + 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 toggle2_fa( + self, + _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: + """toggle2_fa + + + :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._toggle2_fa_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def toggle2_fa_with_http_info( + self, + _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]: + """toggle2_fa + + + :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._toggle2_fa_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def toggle2_fa_without_preload_content( + self, + _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: + """toggle2_fa + + + :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._toggle2_fa_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _toggle2_fa_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/settings/authentication/2fa/toggle', + 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 toggle2_fa1( + self, + token: StrictInt, + _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: + """toggle2_fa1 + + + :param token: (required) + :type token: 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._toggle2_fa1_serialize( + token=token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def toggle2_fa1_with_http_info( + self, + token: StrictInt, + _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]: + """toggle2_fa1 + + + :param token: (required) + :type token: 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._toggle2_fa1_serialize( + token=token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def toggle2_fa1_without_preload_content( + self, + token: StrictInt, + _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: + """toggle2_fa1 + + + :param token: (required) + :type token: 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._toggle2_fa1_serialize( + token=token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _toggle2_fa1_serialize( + self, + token, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if token is not None: + _path_params['token'] = token + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/settings/authentication/2fa/verify/{token}', + 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 tos_privacy_agreement( + self, + _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: + """tos_privacy_agreement + + + :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._tos_privacy_agreement_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def tos_privacy_agreement_with_http_info( + self, + _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]: + """tos_privacy_agreement + + + :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._tos_privacy_agreement_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def tos_privacy_agreement_without_preload_content( + self, + _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: + """tos_privacy_agreement + + + :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._tos_privacy_agreement_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _tos_privacy_agreement_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/tos-privacy-agreement', + 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_trace_sampling_config( + self, + trace_sampling_config: Annotated[TraceSamplingConfig, Field(description="Trace sampling configuration")], + _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, + ) -> TraceSamplingConfig: + """Update trace sampling configuration + + Creates or updates the trace sampling configuration for the current tenant + + :param trace_sampling_config: Trace sampling configuration (required) + :type trace_sampling_config: TraceSamplingConfig + :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_trace_sampling_config_serialize( + trace_sampling_config=trace_sampling_config, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSamplingConfig", + '401': None, + '403': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_trace_sampling_config_with_http_info( + self, + trace_sampling_config: Annotated[TraceSamplingConfig, Field(description="Trace sampling configuration")], + _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[TraceSamplingConfig]: + """Update trace sampling configuration + + Creates or updates the trace sampling configuration for the current tenant + + :param trace_sampling_config: Trace sampling configuration (required) + :type trace_sampling_config: TraceSamplingConfig + :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_trace_sampling_config_serialize( + trace_sampling_config=trace_sampling_config, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSamplingConfig", + '401': None, + '403': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_trace_sampling_config_without_preload_content( + self, + trace_sampling_config: Annotated[TraceSamplingConfig, Field(description="Trace sampling configuration")], + _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 trace sampling configuration + + Creates or updates the trace sampling configuration for the current tenant + + :param trace_sampling_config: Trace sampling configuration (required) + :type trace_sampling_config: TraceSamplingConfig + :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_trace_sampling_config_serialize( + trace_sampling_config=trace_sampling_config, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSamplingConfig", + '401': None, + '403': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_trace_sampling_config_serialize( + self, + trace_sampling_config, + _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, List[str], List[bytes], List[Tuple[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 trace_sampling_config is not None: + _body_params = trace_sampling_config + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/settings/trace-sampling', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/instana_client/api/end_user_monitoring_api.py b/instana_client/api/end_user_monitoring_api.py index ec69b9ea..437fefd0 100644 --- a/instana_client/api/end_user_monitoring_api.py +++ b/instana_client/api/end_user_monitoring_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/event_settings_api.py b/instana_client/api/event_settings_api.py index 9d7d23b6..f06c8c4d 100644 --- a/instana_client/api/event_settings_api.py +++ b/instana_client/api/event_settings_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -400,6 +399,7 @@ def bulk_delete_mobile_app_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -469,6 +469,7 @@ def bulk_delete_mobile_app_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -538,6 +539,7 @@ def bulk_delete_mobile_app_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -674,6 +676,7 @@ def bulk_delete_website_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -743,6 +746,7 @@ def bulk_delete_website_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -812,6 +816,7 @@ def bulk_delete_website_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1223,6 +1228,7 @@ def bulk_disable_mobile_app_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1292,6 +1298,7 @@ def bulk_disable_mobile_app_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1361,6 +1368,7 @@ def bulk_disable_mobile_app_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1497,6 +1505,7 @@ def bulk_disable_website_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1566,6 +1575,7 @@ def bulk_disable_website_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -1635,6 +1645,7 @@ def bulk_disable_website_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -2046,6 +2057,7 @@ def bulk_enable_mobile_app_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -2115,6 +2127,7 @@ def bulk_enable_mobile_app_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -2184,6 +2197,7 @@ def bulk_enable_mobile_app_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -2320,6 +2334,7 @@ def bulk_enable_website_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -2389,6 +2404,7 @@ def bulk_enable_website_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -2458,6 +2474,7 @@ def bulk_enable_website_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -7236,7 +7253,7 @@ def _enable_website_alert_config_serialize( @validate_call def find_active_mobile_app_alert_configs( self, - mobile_app_id: Annotated[StrictStr, Field(description="The ID of a specific Mobile Application.")], + mobile_app_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Mobile Application.")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows Mobile Application Smart Alert Configuration of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -7307,7 +7324,7 @@ def find_active_mobile_app_alert_configs( @validate_call def find_active_mobile_app_alert_configs_with_http_info( self, - mobile_app_id: Annotated[StrictStr, Field(description="The ID of a specific Mobile Application.")], + mobile_app_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Mobile Application.")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows Mobile Application Smart Alert Configuration of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -7378,7 +7395,7 @@ def find_active_mobile_app_alert_configs_with_http_info( @validate_call def find_active_mobile_app_alert_configs_without_preload_content( self, - mobile_app_id: Annotated[StrictStr, Field(description="The ID of a specific Mobile Application.")], + mobile_app_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Mobile Application.")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows Mobile Application Smart Alert Configuration of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -7517,7 +7534,7 @@ def _find_active_mobile_app_alert_configs_serialize( @validate_call def find_active_website_alert_configs( self, - website_id: Annotated[StrictStr, Field(description="The ID of a specific Website")], + website_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Website")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -7588,7 +7605,7 @@ def find_active_website_alert_configs( @validate_call def find_active_website_alert_configs_with_http_info( self, - website_id: Annotated[StrictStr, Field(description="The ID of a specific Website")], + website_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Website")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, @@ -7659,7 +7676,7 @@ def find_active_website_alert_configs_with_http_info( @validate_call def find_active_website_alert_configs_without_preload_content( self, - website_id: Annotated[StrictStr, Field(description="The ID of a specific Website")], + website_id: Annotated[Optional[StrictStr], Field(description="The ID of a specific Website")], alert_ids: Annotated[Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=1000)]], Field(description="A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.")] = None, _request_timeout: Union[ None, diff --git a/instana_client/api/events_api.py b/instana_client/api/events_api.py index c82e3e7f..b8f5d0dd 100644 --- a/instana_client/api/events_api.py +++ b/instana_client/api/events_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -1207,6 +1206,7 @@ def _bulk_enable_cross_type_alert_configs_serialize( def get_event( self, event_id: Annotated[StrictStr, Field(description="ID of a specific Event to retrieve.")], + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1226,6 +1226,8 @@ def get_event( :param event_id: ID of a specific Event to retrieve. (required) :type event_id: str + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1250,6 +1252,7 @@ def get_event( _param = self._get_event_serialize( event_id=event_id, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1275,6 +1278,7 @@ def get_event( def get_event_with_http_info( self, event_id: Annotated[StrictStr, Field(description="ID of a specific Event to retrieve.")], + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1294,6 +1298,8 @@ def get_event_with_http_info( :param event_id: ID of a specific Event to retrieve. (required) :type event_id: str + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1318,6 +1324,7 @@ def get_event_with_http_info( _param = self._get_event_serialize( event_id=event_id, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1343,6 +1350,7 @@ def get_event_with_http_info( def get_event_without_preload_content( self, event_id: Annotated[StrictStr, Field(description="ID of a specific Event to retrieve.")], + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1362,6 +1370,8 @@ def get_event_without_preload_content( :param event_id: ID of a specific Event to retrieve. (required) :type event_id: str + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1386,6 +1396,7 @@ def get_event_without_preload_content( _param = self._get_event_serialize( event_id=event_id, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1406,6 +1417,7 @@ def get_event_without_preload_content( def _get_event_serialize( self, event_id, + include_metadata, _request_auth, _content_type, _headers, @@ -1430,6 +1442,10 @@ def _get_event_serialize( if event_id is not None: _path_params['eventId'] = event_id # process the query parameters + if include_metadata is not None: + + _query_params.append(('includeMetadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -1478,6 +1494,7 @@ def get_events( include_agent_monitoring_issues: Annotated[Optional[StrictBool], Field(description="Flag to filter the results to include Agent Monitoring Issues.")] = None, include_kubernetes_info_events: Annotated[Optional[StrictBool], Field(description="Flag to filter the results to include Kubernetes Info Events.")] = None, event_type_filters: Annotated[Optional[List[StrictStr]], Field(description="A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters.")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1511,6 +1528,8 @@ def get_events( :type include_kubernetes_info_events: bool :param event_type_filters: A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters. :type event_type_filters: List[str] + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1542,6 +1561,7 @@ def get_events( include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1574,6 +1594,7 @@ def get_events_with_http_info( include_agent_monitoring_issues: Annotated[Optional[StrictBool], Field(description="Flag to filter the results to include Agent Monitoring Issues.")] = None, include_kubernetes_info_events: Annotated[Optional[StrictBool], Field(description="Flag to filter the results to include Kubernetes Info Events.")] = None, event_type_filters: Annotated[Optional[List[StrictStr]], Field(description="A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters.")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1607,6 +1628,8 @@ def get_events_with_http_info( :type include_kubernetes_info_events: bool :param event_type_filters: A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters. :type event_type_filters: List[str] + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1638,6 +1661,7 @@ def get_events_with_http_info( include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1670,6 +1694,7 @@ def get_events_without_preload_content( include_agent_monitoring_issues: Annotated[Optional[StrictBool], Field(description="Flag to filter the results to include Agent Monitoring Issues.")] = None, include_kubernetes_info_events: Annotated[Optional[StrictBool], Field(description="Flag to filter the results to include Kubernetes Info Events.")] = None, event_type_filters: Annotated[Optional[List[StrictStr]], Field(description="A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters.")] = None, + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1703,6 +1728,8 @@ def get_events_without_preload_content( :type include_kubernetes_info_events: bool :param event_type_filters: A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters. :type event_type_filters: List[str] + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1734,6 +1761,7 @@ def get_events_without_preload_content( include_agent_monitoring_issues=include_agent_monitoring_issues, include_kubernetes_info_events=include_kubernetes_info_events, event_type_filters=event_type_filters, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1761,6 +1789,7 @@ def _get_events_serialize( include_agent_monitoring_issues, include_kubernetes_info_events, event_type_filters, + include_metadata, _request_auth, _content_type, _headers, @@ -1816,6 +1845,10 @@ def _get_events_serialize( _query_params.append(('eventTypeFilters', event_type_filters)) + if include_metadata is not None: + + _query_params.append(('includeMetadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter @@ -1857,6 +1890,7 @@ def _get_events_serialize( def get_events_by_ids( self, request_body: List[StrictStr], + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1876,6 +1910,8 @@ def get_events_by_ids( :param request_body: (required) :type request_body: List[str] + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1900,6 +1936,7 @@ def get_events_by_ids( _param = self._get_events_by_ids_serialize( request_body=request_body, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1926,6 +1963,7 @@ def get_events_by_ids( def get_events_by_ids_with_http_info( self, request_body: List[StrictStr], + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1945,6 +1983,8 @@ def get_events_by_ids_with_http_info( :param request_body: (required) :type request_body: List[str] + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -1969,6 +2009,7 @@ def get_events_by_ids_with_http_info( _param = self._get_events_by_ids_serialize( request_body=request_body, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1995,6 +2036,7 @@ def get_events_by_ids_with_http_info( def get_events_by_ids_without_preload_content( self, request_body: List[StrictStr], + include_metadata: Annotated[Optional[StrictBool], Field(description="Option to include event metadata")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2014,6 +2056,8 @@ def get_events_by_ids_without_preload_content( :param request_body: (required) :type request_body: List[str] + :param include_metadata: Option to include event metadata + :type include_metadata: bool :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 @@ -2038,6 +2082,7 @@ def get_events_by_ids_without_preload_content( _param = self._get_events_by_ids_serialize( request_body=request_body, + include_metadata=include_metadata, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2059,6 +2104,7 @@ def get_events_by_ids_without_preload_content( def _get_events_by_ids_serialize( self, request_body, + include_metadata, _request_auth, _content_type, _headers, @@ -2082,6 +2128,10 @@ def _get_events_by_ids_serialize( # process the path parameters # process the query parameters + if include_metadata is not None: + + _query_params.append(('includeMetadata', include_metadata)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/instana_client/api/fleet_management_api.py b/instana_client/api/fleet_management_api.py new file mode 100644 index 00000000..70f0cd07 --- /dev/null +++ b/instana_client/api/fleet_management_api.py @@ -0,0 +1,2704 @@ +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 StrictStr +from typing import List, Optional +from instana_client.models.fleet_configuration import FleetConfiguration +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse +from instana_client.models.update_fleet_configuration_request import UpdateFleetConfigurationRequest + +from instana_client.api_client import ApiClient, RequestSerialized +from instana_client.api_response import ApiResponse +from instana_client.rest import RESTResponseType + + +class FleetManagementApi: + """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_fleet_config_assignment( + self, + fleet_configuration_assignment: FleetConfigurationAssignment, + _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, + ) -> FleetConfigurationAssignment: + """Create a configuration assignment + + This end point creates a configuration assignment for a fleet management group. + + :param fleet_configuration_assignment: (required) + :type fleet_configuration_assignment: FleetConfigurationAssignment + :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_fleet_config_assignment_serialize( + fleet_configuration_assignment=fleet_configuration_assignment, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignment", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_fleet_config_assignment_with_http_info( + self, + fleet_configuration_assignment: FleetConfigurationAssignment, + _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[FleetConfigurationAssignment]: + """Create a configuration assignment + + This end point creates a configuration assignment for a fleet management group. + + :param fleet_configuration_assignment: (required) + :type fleet_configuration_assignment: FleetConfigurationAssignment + :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_fleet_config_assignment_serialize( + fleet_configuration_assignment=fleet_configuration_assignment, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignment", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_fleet_config_assignment_without_preload_content( + self, + fleet_configuration_assignment: FleetConfigurationAssignment, + _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 a configuration assignment + + This end point creates a configuration assignment for a fleet management group. + + :param fleet_configuration_assignment: (required) + :type fleet_configuration_assignment: FleetConfigurationAssignment + :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_fleet_config_assignment_serialize( + fleet_configuration_assignment=fleet_configuration_assignment, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignment", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_fleet_config_assignment_serialize( + self, + fleet_configuration_assignment, + _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, List[str], List[bytes], List[Tuple[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 fleet_configuration_assignment is not None: + _body_params = fleet_configuration_assignment + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/fleet/configuration-assignments', + 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_fleet_configuration( + self, + fleet_configuration: Optional[FleetConfiguration], + _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, + ) -> FleetConfigurationResponse: + """Creates a fleet configuration + + This end point creates a fleet configuration + + :param fleet_configuration: (required) + :type fleet_configuration: FleetConfiguration + :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_fleet_configuration_serialize( + fleet_configuration=fleet_configuration, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_fleet_configuration_with_http_info( + self, + fleet_configuration: Optional[FleetConfiguration], + _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[FleetConfigurationResponse]: + """Creates a fleet configuration + + This end point creates a fleet configuration + + :param fleet_configuration: (required) + :type fleet_configuration: FleetConfiguration + :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_fleet_configuration_serialize( + fleet_configuration=fleet_configuration, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_fleet_configuration_without_preload_content( + self, + fleet_configuration: Optional[FleetConfiguration], + _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: + """Creates a fleet configuration + + This end point creates a fleet configuration + + :param fleet_configuration: (required) + :type fleet_configuration: FleetConfiguration + :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_fleet_configuration_serialize( + fleet_configuration=fleet_configuration, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_fleet_configuration_serialize( + self, + fleet_configuration, + _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, List[str], List[bytes], List[Tuple[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 fleet_configuration is not None: + _body_params = fleet_configuration + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/fleet/configurations', + 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_custom_collector_base( + self, + id: StrictStr, + _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, + ) -> FleetConfigurationResponse: + """Delete a custom collector base configuration + + This end point deletes a custom collector base configuration + + :param id: (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 + (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_custom_collector_base_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_custom_collector_base_with_http_info( + self, + id: StrictStr, + _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[FleetConfigurationResponse]: + """Delete a custom collector base configuration + + This end point deletes a custom collector base configuration + + :param id: (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 + (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_custom_collector_base_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_custom_collector_base_without_preload_content( + self, + id: StrictStr, + _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 a custom collector base configuration + + This end point deletes a custom collector base configuration + + :param id: (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 + (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_custom_collector_base_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_custom_collector_base_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/fleet/configurations/{id}', + 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_fleet_config_assignment( + self, + id: StrictStr, + _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, + ) -> FleetConfigurationAssignmentResponse: + """Delete a fleet configuration assignment + + This end point deletes a fleet configuration assignment + + :param id: (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 + (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_fleet_config_assignment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_fleet_config_assignment_with_http_info( + self, + id: StrictStr, + _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[FleetConfigurationAssignmentResponse]: + """Delete a fleet configuration assignment + + This end point deletes a fleet configuration assignment + + :param id: (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 + (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_fleet_config_assignment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_fleet_config_assignment_without_preload_content( + self, + id: StrictStr, + _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 a fleet configuration assignment + + This end point deletes a fleet configuration assignment + + :param id: (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 + (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_fleet_config_assignment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_fleet_config_assignment_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/fleet/configuration-assignments/{id}', + 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_custom_collector_base( + self, + id: StrictStr, + _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, + ) -> FleetConfiguration: + """Get fleet configuration details + + This endpoint gets a fleet configuration by ID + + :param id: (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 + (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_custom_collector_base_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfiguration", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_custom_collector_base_with_http_info( + self, + id: StrictStr, + _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[FleetConfiguration]: + """Get fleet configuration details + + This endpoint gets a fleet configuration by ID + + :param id: (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 + (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_custom_collector_base_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfiguration", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_custom_collector_base_without_preload_content( + self, + id: StrictStr, + _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 fleet configuration details + + This endpoint gets a fleet configuration by ID + + :param id: (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 + (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_custom_collector_base_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfiguration", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_custom_collector_base_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/fleet/configurations/{id}', + 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_fleet_config_assignment( + self, + id: StrictStr, + _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, + ) -> FleetConfigurationAssignment: + """Get a fleet configuration assignment + + This endpoint gets a fleet configuration assignment by ID + + :param id: (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 + (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_fleet_config_assignment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignment", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_fleet_config_assignment_with_http_info( + self, + id: StrictStr, + _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[FleetConfigurationAssignment]: + """Get a fleet configuration assignment + + This endpoint gets a fleet configuration assignment by ID + + :param id: (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 + (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_fleet_config_assignment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignment", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_fleet_config_assignment_without_preload_content( + self, + id: StrictStr, + _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 a fleet configuration assignment + + This endpoint gets a fleet configuration assignment by ID + + :param id: (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 + (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_fleet_config_assignment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignment", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fleet_config_assignment_serialize( + self, + 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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/fleet/configuration-assignments/{id}', + 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 list_custom_collector_base( + self, + _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[FleetConfiguration]: + """List fleet configurations + + This end point lists fleet configurations by type + + :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._list_custom_collector_base_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FleetConfiguration]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def list_custom_collector_base_with_http_info( + self, + _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[FleetConfiguration]]: + """List fleet configurations + + This end point lists fleet configurations by type + + :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._list_custom_collector_base_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FleetConfiguration]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def list_custom_collector_base_without_preload_content( + self, + _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: + """List fleet configurations + + This end point lists fleet configurations by type + + :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._list_custom_collector_base_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FleetConfiguration]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_custom_collector_base_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/fleet/configurations', + 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 list_fleet_config_assignments( + self, + _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[FleetConfigurationAssignment]: + """List fleet configuration assignments + + This end point lists all fleet configuration assignments + + :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._list_fleet_config_assignments_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FleetConfigurationAssignment]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def list_fleet_config_assignments_with_http_info( + self, + _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[FleetConfigurationAssignment]]: + """List fleet configuration assignments + + This end point lists all fleet configuration assignments + + :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._list_fleet_config_assignments_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FleetConfigurationAssignment]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def list_fleet_config_assignments_without_preload_content( + self, + _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: + """List fleet configuration assignments + + This end point lists all fleet configuration assignments + + :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._list_fleet_config_assignments_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FleetConfigurationAssignment]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_fleet_config_assignments_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/fleet/configuration-assignments', + 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_custom_collector_base( + self, + id: StrictStr, + update_fleet_configuration_request: UpdateFleetConfigurationRequest, + _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, + ) -> FleetConfigurationResponse: + """Update a custom collector base configuration + + This end points updates the details of a custom collector base configuration + + :param id: (required) + :type id: str + :param update_fleet_configuration_request: (required) + :type update_fleet_configuration_request: UpdateFleetConfigurationRequest + :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_custom_collector_base_serialize( + id=id, + update_fleet_configuration_request=update_fleet_configuration_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_custom_collector_base_with_http_info( + self, + id: StrictStr, + update_fleet_configuration_request: UpdateFleetConfigurationRequest, + _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[FleetConfigurationResponse]: + """Update a custom collector base configuration + + This end points updates the details of a custom collector base configuration + + :param id: (required) + :type id: str + :param update_fleet_configuration_request: (required) + :type update_fleet_configuration_request: UpdateFleetConfigurationRequest + :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_custom_collector_base_serialize( + id=id, + update_fleet_configuration_request=update_fleet_configuration_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_custom_collector_base_without_preload_content( + self, + id: StrictStr, + update_fleet_configuration_request: UpdateFleetConfigurationRequest, + _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 a custom collector base configuration + + This end points updates the details of a custom collector base configuration + + :param id: (required) + :type id: str + :param update_fleet_configuration_request: (required) + :type update_fleet_configuration_request: UpdateFleetConfigurationRequest + :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_custom_collector_base_serialize( + id=id, + update_fleet_configuration_request=update_fleet_configuration_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_custom_collector_base_serialize( + self, + id, + update_fleet_configuration_request, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # process the body parameter + if update_fleet_configuration_request is not None: + _body_params = update_fleet_configuration_request + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/fleet/configurations/{id}', + 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_fleet_config_assignment( + self, + id: StrictStr, + fleet_configuration_assignment: FleetConfigurationAssignment, + _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, + ) -> FleetConfigurationAssignmentResponse: + """Update a fleet configuration assignment + + This end points updates the details of a fleet configuration assignment + + :param id: (required) + :type id: str + :param fleet_configuration_assignment: (required) + :type fleet_configuration_assignment: FleetConfigurationAssignment + :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_fleet_config_assignment_serialize( + id=id, + fleet_configuration_assignment=fleet_configuration_assignment, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_fleet_config_assignment_with_http_info( + self, + id: StrictStr, + fleet_configuration_assignment: FleetConfigurationAssignment, + _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[FleetConfigurationAssignmentResponse]: + """Update a fleet configuration assignment + + This end points updates the details of a fleet configuration assignment + + :param id: (required) + :type id: str + :param fleet_configuration_assignment: (required) + :type fleet_configuration_assignment: FleetConfigurationAssignment + :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_fleet_config_assignment_serialize( + id=id, + fleet_configuration_assignment=fleet_configuration_assignment, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_fleet_config_assignment_without_preload_content( + self, + id: StrictStr, + fleet_configuration_assignment: FleetConfigurationAssignment, + _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 a fleet configuration assignment + + This end points updates the details of a fleet configuration assignment + + :param id: (required) + :type id: str + :param fleet_configuration_assignment: (required) + :type fleet_configuration_assignment: FleetConfigurationAssignment + :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_fleet_config_assignment_serialize( + id=id, + fleet_configuration_assignment=fleet_configuration_assignment, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "FleetConfigurationAssignmentResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_fleet_config_assignment_serialize( + self, + id, + fleet_configuration_assignment, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _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 + # process the body parameter + if fleet_configuration_assignment is not None: + _body_params = fleet_configuration_assignment + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/fleet/configuration-assignments/{id}', + 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/instana_client/api/global_application_alert_configuration_api.py b/instana_client/api/global_application_alert_configuration_api.py index d3355052..16aaac25 100644 --- a/instana_client/api/global_application_alert_configuration_api.py +++ b/instana_client/api/global_application_alert_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -99,6 +98,7 @@ def bulk_delete_global_application_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -168,6 +168,7 @@ def bulk_delete_global_application_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -237,6 +238,7 @@ def bulk_delete_global_application_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -373,6 +375,7 @@ def bulk_disable_global_application_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -442,6 +445,7 @@ def bulk_disable_global_application_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -511,6 +515,7 @@ def bulk_disable_global_application_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -647,6 +652,7 @@ def bulk_enable_global_application_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -716,6 +722,7 @@ def bulk_enable_global_application_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -785,6 +792,7 @@ def bulk_enable_global_application_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, diff --git a/instana_client/api/groups_api.py b/instana_client/api/groups_api.py index 724e5039..f19eafab 100644 --- a/instana_client/api/groups_api.py +++ b/instana_client/api/groups_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/health_api.py b/instana_client/api/health_api.py index f28bf845..2b7ea0da 100644 --- a/instana_client/api/health_api.py +++ b/instana_client/api/health_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/host_agent_api.py b/instana_client/api/host_agent_api.py index a2114936..f6707b57 100644 --- a/instana_client/api/host_agent_api.py +++ b/instana_client/api/host_agent_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/infrastructure_alert_configuration_api.py b/instana_client/api/infrastructure_alert_configuration_api.py index 8a7fedc1..2d1fe138 100644 --- a/instana_client/api/infrastructure_alert_configuration_api.py +++ b/instana_client/api/infrastructure_alert_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/infrastructure_analyze_api.py b/instana_client/api/infrastructure_analyze_api.py index 62cc780f..1c2f0c75 100644 --- a/instana_client/api/infrastructure_analyze_api.py +++ b/instana_client/api/infrastructure_analyze_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -886,7 +885,7 @@ def get_entity_groups( ) -> InfrastructureGroupsResult: """Get grouped infrastructure entities with aggregated metrics - This endpoint groups entities for a given entity type and aggregates metrics for these groups. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + This endpoint groups entities for a given entity type and aggregates metrics for these groups. Optional group sampling can be enabled to reduce BeeInstana load by fetching metrics for only 50% of groups, providing faster response times with representative data. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. :param get_infrastructure_groups_query: :type get_infrastructure_groups_query: GetInfrastructureGroupsQuery @@ -953,7 +952,7 @@ def get_entity_groups_with_http_info( ) -> ApiResponse[InfrastructureGroupsResult]: """Get grouped infrastructure entities with aggregated metrics - This endpoint groups entities for a given entity type and aggregates metrics for these groups. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + This endpoint groups entities for a given entity type and aggregates metrics for these groups. Optional group sampling can be enabled to reduce BeeInstana load by fetching metrics for only 50% of groups, providing faster response times with representative data. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. :param get_infrastructure_groups_query: :type get_infrastructure_groups_query: GetInfrastructureGroupsQuery @@ -1020,7 +1019,7 @@ def get_entity_groups_without_preload_content( ) -> RESTResponseType: """Get grouped infrastructure entities with aggregated metrics - This endpoint groups entities for a given entity type and aggregates metrics for these groups. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + This endpoint groups entities for a given entity type and aggregates metrics for these groups. Optional group sampling can be enabled to reduce BeeInstana load by fetching metrics for only 50% of groups, providing faster response times with representative data. For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. :param get_infrastructure_groups_query: :type get_infrastructure_groups_query: GetInfrastructureGroupsQuery diff --git a/instana_client/api/infrastructure_catalog_api.py b/instana_client/api/infrastructure_catalog_api.py index 1b436430..087f94e7 100644 --- a/instana_client/api/infrastructure_catalog_api.py +++ b/instana_client/api/infrastructure_catalog_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/infrastructure_metrics_api.py b/instana_client/api/infrastructure_metrics_api.py index 2ea798b6..0feb5754 100644 --- a/instana_client/api/infrastructure_metrics_api.py +++ b/instana_client/api/infrastructure_metrics_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -40,6 +39,276 @@ def __init__(self, api_client=None) -> None: self.api_client = api_client + @validate_call + def get_cassandra_metrics( + self, + get_combined_metrics: GetCombinedMetrics, + _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, + ) -> InfrastructureMetricResult: + """Cassandra metrics + + + :param get_combined_metrics: (required) + :type get_combined_metrics: GetCombinedMetrics + :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_cassandra_metrics_serialize( + get_combined_metrics=get_combined_metrics, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "InfrastructureMetricResult", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_cassandra_metrics_with_http_info( + self, + get_combined_metrics: GetCombinedMetrics, + _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[InfrastructureMetricResult]: + """Cassandra metrics + + + :param get_combined_metrics: (required) + :type get_combined_metrics: GetCombinedMetrics + :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_cassandra_metrics_serialize( + get_combined_metrics=get_combined_metrics, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "InfrastructureMetricResult", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_cassandra_metrics_without_preload_content( + self, + get_combined_metrics: GetCombinedMetrics, + _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: + """Cassandra metrics + + + :param get_combined_metrics: (required) + :type get_combined_metrics: GetCombinedMetrics + :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_cassandra_metrics_serialize( + get_combined_metrics=get_combined_metrics, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "InfrastructureMetricResult", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_cassandra_metrics_serialize( + self, + get_combined_metrics, + _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, List[str], List[bytes], List[Tuple[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 get_combined_metrics is not None: + _body_params = get_combined_metrics + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/cassandra/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_infrastructure_metrics( self, diff --git a/instana_client/api/infrastructure_resources_api.py b/instana_client/api/infrastructure_resources_api.py index 94bd5d1d..e0b81ff6 100644 --- a/instana_client/api/infrastructure_resources_api.py +++ b/instana_client/api/infrastructure_resources_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/infrastructure_topology_api.py b/instana_client/api/infrastructure_topology_api.py index 997da31e..76660612 100644 --- a/instana_client/api/infrastructure_topology_api.py +++ b/instana_client/api/infrastructure_topology_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/ip_filtering_api.py b/instana_client/api/ip_filtering_api.py index 3779b9b5..e71169b0 100644 --- a/instana_client/api/ip_filtering_api.py +++ b/instana_client/api/ip_filtering_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/llm_evaluation_api.py b/instana_client/api/llm_evaluation_api.py new file mode 100644 index 00000000..4296bd57 --- /dev/null +++ b/instana_client/api/llm_evaluation_api.py @@ -0,0 +1,3467 @@ +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 StrictInt, StrictStr +from typing import Optional +from instana_client.models.create_evaluation_request import CreateEvaluationRequest +from instana_client.models.create_evaluation_response import CreateEvaluationResponse +from instana_client.models.evaluation_detail_response import EvaluationDetailResponse +from instana_client.models.evaluation_list_response import EvaluationListResponse +from instana_client.models.evaluator import Evaluator +from instana_client.models.gateway_status_response import GatewayStatusResponse +from instana_client.models.run_evaluation_response import RunEvaluationResponse +from instana_client.models.update_evaluation_request import UpdateEvaluationRequest + +from instana_client.api_client import ApiClient, RequestSerialized +from instana_client.api_response import ApiResponse +from instana_client.rest import RESTResponseType + + +class LLMEvaluationApi: + """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_evaluation( + self, + create_evaluation_request: Optional[CreateEvaluationRequest] = 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, + ) -> CreateEvaluationResponse: + """Create a new evaluation definition + + + :param create_evaluation_request: + :type create_evaluation_request: CreateEvaluationRequest + :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_evaluation_serialize( + create_evaluation_request=create_evaluation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateEvaluationResponse", + '400': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_evaluation_with_http_info( + self, + create_evaluation_request: Optional[CreateEvaluationRequest] = 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[CreateEvaluationResponse]: + """Create a new evaluation definition + + + :param create_evaluation_request: + :type create_evaluation_request: CreateEvaluationRequest + :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_evaluation_serialize( + create_evaluation_request=create_evaluation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateEvaluationResponse", + '400': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_evaluation_without_preload_content( + self, + create_evaluation_request: Optional[CreateEvaluationRequest] = 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 a new evaluation definition + + + :param create_evaluation_request: + :type create_evaluation_request: CreateEvaluationRequest + :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_evaluation_serialize( + create_evaluation_request=create_evaluation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CreateEvaluationResponse", + '400': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_evaluation_serialize( + self, + create_evaluation_request, + _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, List[str], List[bytes], List[Tuple[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 create_evaluation_request is not None: + _body_params = create_evaluation_request + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/genai-monitoring/evaluations', + 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_evaluation( + self, + evaluation_id: StrictStr, + _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 an evaluation + + + :param evaluation_id: (required) + :type evaluation_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_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_evaluation_with_http_info( + self, + evaluation_id: StrictStr, + _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 an evaluation + + + :param evaluation_id: (required) + :type evaluation_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_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_evaluation_without_preload_content( + self, + evaluation_id: StrictStr, + _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 an evaluation + + + :param evaluation_id: (required) + :type evaluation_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_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_evaluation_serialize( + self, + evaluation_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluation_id is not None: + _path_params['evaluationId'] = evaluation_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/genai-monitoring/evaluations/{evaluationId}', + 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_evaluator( + self, + evaluator_id: StrictStr, + _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 evaluator + + Delete an evaluator configuration by its ID. + + :param evaluator_id: (required) + :type evaluator_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_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_evaluator_with_http_info( + self, + evaluator_id: StrictStr, + _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 evaluator + + Delete an evaluator configuration by its ID. + + :param evaluator_id: (required) + :type evaluator_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_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_evaluator_without_preload_content( + self, + evaluator_id: StrictStr, + _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 evaluator + + Delete an evaluator configuration by its ID. + + :param evaluator_id: (required) + :type evaluator_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_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_evaluator_serialize( + self, + evaluator_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluator_id is not None: + _path_params['evaluatorId'] = evaluator_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/evaluator/{evaluatorId}', + 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_evaluation( + self, + evaluation_id: StrictStr, + _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, + ) -> EvaluationDetailResponse: + """Get evaluation details by ID + + + :param evaluation_id: (required) + :type evaluation_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_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EvaluationDetailResponse", + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_evaluation_with_http_info( + self, + evaluation_id: StrictStr, + _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[EvaluationDetailResponse]: + """Get evaluation details by ID + + + :param evaluation_id: (required) + :type evaluation_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_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EvaluationDetailResponse", + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_evaluation_without_preload_content( + self, + evaluation_id: StrictStr, + _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 evaluation details by ID + + + :param evaluation_id: (required) + :type evaluation_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_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EvaluationDetailResponse", + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_evaluation_serialize( + self, + evaluation_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluation_id is not None: + _path_params['evaluationId'] = evaluation_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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/genai-monitoring/evaluations/{evaluationId}', + 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_evaluation_runs( + self, + window_size: Optional[StrictInt] = None, + to: Optional[StrictInt] = 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, + ) -> str: + """Get all evaluation runs + + + :param window_size: + :type window_size: int + :param to: + :type to: 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_evaluation_runs_serialize( + window_size=window_size, + to=to, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_evaluation_runs_with_http_info( + self, + window_size: Optional[StrictInt] = None, + to: Optional[StrictInt] = 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[str]: + """Get all evaluation runs + + + :param window_size: + :type window_size: int + :param to: + :type to: 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_evaluation_runs_serialize( + window_size=window_size, + to=to, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_evaluation_runs_without_preload_content( + self, + window_size: Optional[StrictInt] = None, + to: Optional[StrictInt] = 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 all evaluation runs + + + :param window_size: + :type window_size: int + :param to: + :type to: 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_evaluation_runs_serialize( + window_size=window_size, + to=to, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_evaluation_runs_serialize( + self, + window_size, + to, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if window_size is not None: + + _query_params.append(('windowSize', window_size)) + + if to is not None: + + _query_params.append(('to', to)) + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/genai-monitoring/evaluations/runs', + 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_evaluations( + self, + client_id: Optional[StrictStr] = 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, + ) -> EvaluationListResponse: + """Get all evaluations + + + :param client_id: + :type client_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_evaluations_serialize( + client_id=client_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EvaluationListResponse", + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_evaluations_with_http_info( + self, + client_id: Optional[StrictStr] = 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[EvaluationListResponse]: + """Get all evaluations + + + :param client_id: + :type client_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_evaluations_serialize( + client_id=client_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EvaluationListResponse", + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_evaluations_without_preload_content( + self, + client_id: Optional[StrictStr] = 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 all evaluations + + + :param client_id: + :type client_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_evaluations_serialize( + client_id=client_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EvaluationListResponse", + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_evaluations_serialize( + self, + client_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if client_id is not None: + + _query_params.append(('clientId', client_id)) + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/genai-monitoring/evaluations', + 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_evaluator( + self, + evaluator_id: StrictStr, + _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, + ) -> Evaluator: + """Get evaluator by ID + + Fetch a specific evaluator by its ID. + + :param evaluator_id: (required) + :type evaluator_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_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + '404': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_evaluator_with_http_info( + self, + evaluator_id: StrictStr, + _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[Evaluator]: + """Get evaluator by ID + + Fetch a specific evaluator by its ID. + + :param evaluator_id: (required) + :type evaluator_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_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + '404': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_evaluator_without_preload_content( + self, + evaluator_id: StrictStr, + _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 evaluator by ID + + Fetch a specific evaluator by its ID. + + :param evaluator_id: (required) + :type evaluator_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_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + '404': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_evaluator_serialize( + self, + evaluator_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluator_id is not None: + _path_params['evaluatorId'] = evaluator_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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/evaluator/{evaluatorId}', + 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_evaluators( + self, + _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, + ) -> Evaluator: + """Get all evaluators + + Fetch all evaluator configurations for the current tenant unit. + + :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_evaluators_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_evaluators_with_http_info( + self, + _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[Evaluator]: + """Get all evaluators + + Fetch all evaluator configurations for the current tenant unit. + + :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_evaluators_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_evaluators_without_preload_content( + self, + _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 all evaluators + + Fetch all evaluator configurations for the current tenant unit. + + :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_evaluators_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_evaluators_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/evaluator', + 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_gateway_status( + self, + _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, + ) -> GatewayStatusResponse: + """Check gateway status for evaluation capability + + + :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_gateway_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GatewayStatusResponse", + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_gateway_status_with_http_info( + self, + _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[GatewayStatusResponse]: + """Check gateway status for evaluation capability + + + :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_gateway_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GatewayStatusResponse", + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_gateway_status_without_preload_content( + self, + _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: + """Check gateway status for evaluation capability + + + :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_gateway_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GatewayStatusResponse", + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_gateway_status_serialize( + self, + _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, List[str], List[bytes], List[Tuple[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 + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/genai-monitoring/evaluations/gateway-status', + 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 reset_evaluator( + self, + evaluator_id: StrictStr, + _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: + """Reset built-in evaluator + + Reset a built-in evaluator to its system default configuration by soft-deleting the user's customized version. + + :param evaluator_id: (required) + :type evaluator_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._reset_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def reset_evaluator_with_http_info( + self, + evaluator_id: StrictStr, + _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]: + """Reset built-in evaluator + + Reset a built-in evaluator to its system default configuration by soft-deleting the user's customized version. + + :param evaluator_id: (required) + :type evaluator_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._reset_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def reset_evaluator_without_preload_content( + self, + evaluator_id: StrictStr, + _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: + """Reset built-in evaluator + + Reset a built-in evaluator to its system default configuration by soft-deleting the user's customized version. + + :param evaluator_id: (required) + :type evaluator_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._reset_evaluator_serialize( + evaluator_id=evaluator_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _reset_evaluator_serialize( + self, + evaluator_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluator_id is not None: + _path_params['evaluatorId'] = evaluator_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/evaluator/{evaluatorId}/reset', + 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 run_evaluation( + self, + evaluation_id: StrictStr, + _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, + ) -> RunEvaluationResponse: + """Run an evaluation + + + :param evaluation_id: (required) + :type evaluation_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._run_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RunEvaluationResponse", + '400': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def run_evaluation_with_http_info( + self, + evaluation_id: StrictStr, + _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[RunEvaluationResponse]: + """Run an evaluation + + + :param evaluation_id: (required) + :type evaluation_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._run_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RunEvaluationResponse", + '400': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def run_evaluation_without_preload_content( + self, + evaluation_id: StrictStr, + _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: + """Run an evaluation + + + :param evaluation_id: (required) + :type evaluation_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._run_evaluation_serialize( + evaluation_id=evaluation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RunEvaluationResponse", + '400': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _run_evaluation_serialize( + self, + evaluation_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluation_id is not None: + _path_params['evaluationId'] = evaluation_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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/genai-monitoring/evaluations/{evaluationId}/run', + 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_evaluation( + self, + evaluation_id: StrictStr, + update_evaluation_request: Optional[UpdateEvaluationRequest] = 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: + """Update an evaluation + + + :param evaluation_id: (required) + :type evaluation_id: str + :param update_evaluation_request: + :type update_evaluation_request: UpdateEvaluationRequest + :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_evaluation_serialize( + evaluation_id=evaluation_id, + update_evaluation_request=update_evaluation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_evaluation_with_http_info( + self, + evaluation_id: StrictStr, + update_evaluation_request: Optional[UpdateEvaluationRequest] = 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]: + """Update an evaluation + + + :param evaluation_id: (required) + :type evaluation_id: str + :param update_evaluation_request: + :type update_evaluation_request: UpdateEvaluationRequest + :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_evaluation_serialize( + evaluation_id=evaluation_id, + update_evaluation_request=update_evaluation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_evaluation_without_preload_content( + self, + evaluation_id: StrictStr, + update_evaluation_request: Optional[UpdateEvaluationRequest] = 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 an evaluation + + + :param evaluation_id: (required) + :type evaluation_id: str + :param update_evaluation_request: + :type update_evaluation_request: UpdateEvaluationRequest + :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_evaluation_serialize( + evaluation_id=evaluation_id, + update_evaluation_request=update_evaluation_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_evaluation_serialize( + self, + evaluation_id, + update_evaluation_request, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if evaluation_id is not None: + _path_params['evaluationId'] = evaluation_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_evaluation_request is not None: + _body_params = update_evaluation_request + + + + + # authentication setting + _auth_settings: List[str] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/genai-monitoring/evaluations/{evaluationId}', + 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 upsert_evaluator( + self, + evaluator: Optional[Evaluator] = 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, + ) -> Evaluator: + """Create or update evaluator + + Create a new evaluator or update an existing one. Returns the evaluator ID. + + :param evaluator: + :type evaluator: Evaluator + :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._upsert_evaluator_serialize( + evaluator=evaluator, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def upsert_evaluator_with_http_info( + self, + evaluator: Optional[Evaluator] = 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[Evaluator]: + """Create or update evaluator + + Create a new evaluator or update an existing one. Returns the evaluator ID. + + :param evaluator: + :type evaluator: Evaluator + :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._upsert_evaluator_serialize( + evaluator=evaluator, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def upsert_evaluator_without_preload_content( + self, + evaluator: Optional[Evaluator] = 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 or update evaluator + + Create a new evaluator or update an existing one. Returns the evaluator ID. + + :param evaluator: + :type evaluator: Evaluator + :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._upsert_evaluator_serialize( + evaluator=evaluator, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Evaluator", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _upsert_evaluator_serialize( + self, + evaluator, + _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, List[str], List[bytes], List[Tuple[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 evaluator is not None: + _body_params = evaluator + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/evaluator', + 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/instana_client/api/llm_price_configuration_api.py b/instana_client/api/llm_price_configuration_api.py index a0c448c5..efcb4901 100644 --- a/instana_client/api/llm_price_configuration_api.py +++ b/instana_client/api/llm_price_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/log_alert_configuration_api.py b/instana_client/api/log_alert_configuration_api.py index 737bdaff..a8662a39 100644 --- a/instana_client/api/log_alert_configuration_api.py +++ b/instana_client/api/log_alert_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -99,6 +98,7 @@ def bulk_delete_log_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -168,6 +168,7 @@ def bulk_delete_log_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -237,6 +238,7 @@ def bulk_delete_log_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -373,6 +375,7 @@ def bulk_disable_log_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -442,6 +445,7 @@ def bulk_disable_log_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -511,6 +515,7 @@ def bulk_disable_log_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -647,6 +652,7 @@ def bulk_enable_log_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -716,6 +722,7 @@ def bulk_enable_log_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -785,6 +792,7 @@ def bulk_enable_log_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, diff --git a/instana_client/api/logging_analyze_api.py b/instana_client/api/logging_analyze_api.py index b1e29e5a..e73efbfa 100644 --- a/instana_client/api/logging_analyze_api.py +++ b/instana_client/api/logging_analyze_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -21,6 +20,8 @@ from typing import Optional from typing_extensions import Annotated from instana_client.models.log_volume_usage_result import LogVolumeUsageResult +from instana_client.models.logs_api_response import LogsApiResponse +from instana_client.models.logs_query import LogsQuery from instana_client.api_client import ApiClient, RequestSerialized from instana_client.api_response import ApiResponse @@ -341,3 +342,283 @@ def _get_log_volume_usage_serialize( ) + + + @validate_call + def get_logs( + self, + logs_query: LogsQuery, + _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, + ) -> LogsApiResponse: + """Retrieve logs via REST API + + Returns logs (up to the specified retrievalSize) for a given time range with optional filters to help users efficiently troubleshoot and resolve issues. **The JSON payload must include:** - `timeConfig`: Time range configuration with `to` (Unix timestamp in milliseconds) and `windowSize` (duration in ms). - `retrievalSize`: Maximum number of logs to return per request (required, range: `1`-`200`). * If you specify a value > `200`, it will be automatically reduced to `200`. * Returns `HTTP 500 Internal Server Error` for values < `0`, non-integer types, or if missing. - `orderDirection`: Sort order - \"ASC\" (oldest first) or \"DESC\" (newest first). - `offset`: (Optional) Pagination offset specifies the number of log entries to skip before returning results. * Defaults to `0`, with permitted value range: [`0`,`2000`]. * This field controls pagination by skipping a specified number of logs from the beginning of the result set. * Example: With retrievalSize=`200` and offset=`0`, you get logs `1`-`200`. To get the next page, set offset=`200` to skip the first `200` logs and retrieve logs `201`-`400`. * Example: Setting offset=10 skips the first `10` log entries and starts returning results from the 11th entry onwards * Returns `HTTP 500 Internal Server Error` response if value is negative or non-integer. - `tagFilterExpression`: (Optional) Filter criteria for log attributes. - `requestedTags`: Array of tag names to include in the response. * You can select up to 10 tags from the available list: ``` aws.ecs.containerId aws.ecs.containerName containerd.containerId crio.containerId docker.containerId docker.containerName expiration.ts.seconds garden.containerId host.name kubernetes.cluster.name kubernetes.container.name kubernetes.deployment.name kubernetes.namespace.name kubernetes.node.name kubernetes.pod.name log.applications log.custom log.exception.message log.exception.stackTrace log.exception.type log.file.path log.hostId log.level log.message log.streamName log.timestamp log.traceId process.id ``` **Response Payload Fields:** - `items`: Array of log entries matching the query criteria. - `totalHits`: Total number of log entries matching the query across all pages (not just the current page). * Use this value to calculate total pages or display result counts to users. * Example: If totalHits=`450` and retrievalSize=`200`, you have 3 pages total (200 + 200 + 50). - `canLoadMore`: Boolean indicating whether more log entries are available beyond the current page. * When true, increment the offset parameter to retrieve the next page. * Example: If retrievalSize=`200`, offset=`0`, and canLoadMore=`true`, set offset=`200` for the next request. * When false, you have reached the end of the result set. - `adjustedTimeFrame`: Reserved for future use (currently always null). * This field may be used in the future to indicate if the requested time range was automatically adjusted. Refer to the RequestBody section for the complete LogsQuery schema. When using the UI to construct the curl request, select the desired filters and time window, then click the \"API Query\" button to automatically generate a curl request with current UI selections. By default, 4 tags are always included in requests generated by the \"API Query\" button, but may be changed as needed. ```\"log.timestamp\", \"log.level\", \"log.message\", \"log.custom\"``` Example curl request (can be auto-generated via the \"API Query\" button in the Instana UI): ``` curl -X POST /api/logging/logs/getLogs/v1 \\ -H \"Authorization: apiToken YOUR_API_TOKEN\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"timeConfig\": { \"to\": 1711800000000, \"focusedMoment\": 1711800000000, \"autoRefresh\": false, \"windowSize\": 3600000 }, \"requestedTags\": [ \"log.traceId\", \"log.applications\", \"process.id\", \"host.name\", \"docker.containerName\", \"kubernetes.pod.name\" ], \"tagFilterExpression\": { \"type\": \"EXPRESSION\", \"logicalOperator\": \"AND\", \"elements\": [ { \"type\": \"TAG_FILTER\", \"name\": \"log.streamName\", \"operator\": \"EQUALS\", \"entity\": \"NOT_APPLICABLE\", \"value\": \"log.go\" }, { \"type\": \"TAG_FILTER\", \"name\": \"service.name\", \"operator\": \"EQUALS\", \"entity\": \"DESTINATION\", \"value\": \"dispatch\" } ] }, \"retrievalSize\": 200, \"offset\": 0, \"orderDirection\": \"DESC\" }' ``` + + :param logs_query: (required) + :type logs_query: LogsQuery + :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_logs_serialize( + logs_query=logs_query, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LogsApiResponse", + '500': None, + '503': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_logs_with_http_info( + self, + logs_query: LogsQuery, + _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[LogsApiResponse]: + """Retrieve logs via REST API + + Returns logs (up to the specified retrievalSize) for a given time range with optional filters to help users efficiently troubleshoot and resolve issues. **The JSON payload must include:** - `timeConfig`: Time range configuration with `to` (Unix timestamp in milliseconds) and `windowSize` (duration in ms). - `retrievalSize`: Maximum number of logs to return per request (required, range: `1`-`200`). * If you specify a value > `200`, it will be automatically reduced to `200`. * Returns `HTTP 500 Internal Server Error` for values < `0`, non-integer types, or if missing. - `orderDirection`: Sort order - \"ASC\" (oldest first) or \"DESC\" (newest first). - `offset`: (Optional) Pagination offset specifies the number of log entries to skip before returning results. * Defaults to `0`, with permitted value range: [`0`,`2000`]. * This field controls pagination by skipping a specified number of logs from the beginning of the result set. * Example: With retrievalSize=`200` and offset=`0`, you get logs `1`-`200`. To get the next page, set offset=`200` to skip the first `200` logs and retrieve logs `201`-`400`. * Example: Setting offset=10 skips the first `10` log entries and starts returning results from the 11th entry onwards * Returns `HTTP 500 Internal Server Error` response if value is negative or non-integer. - `tagFilterExpression`: (Optional) Filter criteria for log attributes. - `requestedTags`: Array of tag names to include in the response. * You can select up to 10 tags from the available list: ``` aws.ecs.containerId aws.ecs.containerName containerd.containerId crio.containerId docker.containerId docker.containerName expiration.ts.seconds garden.containerId host.name kubernetes.cluster.name kubernetes.container.name kubernetes.deployment.name kubernetes.namespace.name kubernetes.node.name kubernetes.pod.name log.applications log.custom log.exception.message log.exception.stackTrace log.exception.type log.file.path log.hostId log.level log.message log.streamName log.timestamp log.traceId process.id ``` **Response Payload Fields:** - `items`: Array of log entries matching the query criteria. - `totalHits`: Total number of log entries matching the query across all pages (not just the current page). * Use this value to calculate total pages or display result counts to users. * Example: If totalHits=`450` and retrievalSize=`200`, you have 3 pages total (200 + 200 + 50). - `canLoadMore`: Boolean indicating whether more log entries are available beyond the current page. * When true, increment the offset parameter to retrieve the next page. * Example: If retrievalSize=`200`, offset=`0`, and canLoadMore=`true`, set offset=`200` for the next request. * When false, you have reached the end of the result set. - `adjustedTimeFrame`: Reserved for future use (currently always null). * This field may be used in the future to indicate if the requested time range was automatically adjusted. Refer to the RequestBody section for the complete LogsQuery schema. When using the UI to construct the curl request, select the desired filters and time window, then click the \"API Query\" button to automatically generate a curl request with current UI selections. By default, 4 tags are always included in requests generated by the \"API Query\" button, but may be changed as needed. ```\"log.timestamp\", \"log.level\", \"log.message\", \"log.custom\"``` Example curl request (can be auto-generated via the \"API Query\" button in the Instana UI): ``` curl -X POST /api/logging/logs/getLogs/v1 \\ -H \"Authorization: apiToken YOUR_API_TOKEN\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"timeConfig\": { \"to\": 1711800000000, \"focusedMoment\": 1711800000000, \"autoRefresh\": false, \"windowSize\": 3600000 }, \"requestedTags\": [ \"log.traceId\", \"log.applications\", \"process.id\", \"host.name\", \"docker.containerName\", \"kubernetes.pod.name\" ], \"tagFilterExpression\": { \"type\": \"EXPRESSION\", \"logicalOperator\": \"AND\", \"elements\": [ { \"type\": \"TAG_FILTER\", \"name\": \"log.streamName\", \"operator\": \"EQUALS\", \"entity\": \"NOT_APPLICABLE\", \"value\": \"log.go\" }, { \"type\": \"TAG_FILTER\", \"name\": \"service.name\", \"operator\": \"EQUALS\", \"entity\": \"DESTINATION\", \"value\": \"dispatch\" } ] }, \"retrievalSize\": 200, \"offset\": 0, \"orderDirection\": \"DESC\" }' ``` + + :param logs_query: (required) + :type logs_query: LogsQuery + :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_logs_serialize( + logs_query=logs_query, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LogsApiResponse", + '500': None, + '503': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_logs_without_preload_content( + self, + logs_query: LogsQuery, + _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: + """Retrieve logs via REST API + + Returns logs (up to the specified retrievalSize) for a given time range with optional filters to help users efficiently troubleshoot and resolve issues. **The JSON payload must include:** - `timeConfig`: Time range configuration with `to` (Unix timestamp in milliseconds) and `windowSize` (duration in ms). - `retrievalSize`: Maximum number of logs to return per request (required, range: `1`-`200`). * If you specify a value > `200`, it will be automatically reduced to `200`. * Returns `HTTP 500 Internal Server Error` for values < `0`, non-integer types, or if missing. - `orderDirection`: Sort order - \"ASC\" (oldest first) or \"DESC\" (newest first). - `offset`: (Optional) Pagination offset specifies the number of log entries to skip before returning results. * Defaults to `0`, with permitted value range: [`0`,`2000`]. * This field controls pagination by skipping a specified number of logs from the beginning of the result set. * Example: With retrievalSize=`200` and offset=`0`, you get logs `1`-`200`. To get the next page, set offset=`200` to skip the first `200` logs and retrieve logs `201`-`400`. * Example: Setting offset=10 skips the first `10` log entries and starts returning results from the 11th entry onwards * Returns `HTTP 500 Internal Server Error` response if value is negative or non-integer. - `tagFilterExpression`: (Optional) Filter criteria for log attributes. - `requestedTags`: Array of tag names to include in the response. * You can select up to 10 tags from the available list: ``` aws.ecs.containerId aws.ecs.containerName containerd.containerId crio.containerId docker.containerId docker.containerName expiration.ts.seconds garden.containerId host.name kubernetes.cluster.name kubernetes.container.name kubernetes.deployment.name kubernetes.namespace.name kubernetes.node.name kubernetes.pod.name log.applications log.custom log.exception.message log.exception.stackTrace log.exception.type log.file.path log.hostId log.level log.message log.streamName log.timestamp log.traceId process.id ``` **Response Payload Fields:** - `items`: Array of log entries matching the query criteria. - `totalHits`: Total number of log entries matching the query across all pages (not just the current page). * Use this value to calculate total pages or display result counts to users. * Example: If totalHits=`450` and retrievalSize=`200`, you have 3 pages total (200 + 200 + 50). - `canLoadMore`: Boolean indicating whether more log entries are available beyond the current page. * When true, increment the offset parameter to retrieve the next page. * Example: If retrievalSize=`200`, offset=`0`, and canLoadMore=`true`, set offset=`200` for the next request. * When false, you have reached the end of the result set. - `adjustedTimeFrame`: Reserved for future use (currently always null). * This field may be used in the future to indicate if the requested time range was automatically adjusted. Refer to the RequestBody section for the complete LogsQuery schema. When using the UI to construct the curl request, select the desired filters and time window, then click the \"API Query\" button to automatically generate a curl request with current UI selections. By default, 4 tags are always included in requests generated by the \"API Query\" button, but may be changed as needed. ```\"log.timestamp\", \"log.level\", \"log.message\", \"log.custom\"``` Example curl request (can be auto-generated via the \"API Query\" button in the Instana UI): ``` curl -X POST /api/logging/logs/getLogs/v1 \\ -H \"Authorization: apiToken YOUR_API_TOKEN\" \\ -H \"Content-Type: application/json\" \\ -d '{ \"timeConfig\": { \"to\": 1711800000000, \"focusedMoment\": 1711800000000, \"autoRefresh\": false, \"windowSize\": 3600000 }, \"requestedTags\": [ \"log.traceId\", \"log.applications\", \"process.id\", \"host.name\", \"docker.containerName\", \"kubernetes.pod.name\" ], \"tagFilterExpression\": { \"type\": \"EXPRESSION\", \"logicalOperator\": \"AND\", \"elements\": [ { \"type\": \"TAG_FILTER\", \"name\": \"log.streamName\", \"operator\": \"EQUALS\", \"entity\": \"NOT_APPLICABLE\", \"value\": \"log.go\" }, { \"type\": \"TAG_FILTER\", \"name\": \"service.name\", \"operator\": \"EQUALS\", \"entity\": \"DESTINATION\", \"value\": \"dispatch\" } ] }, \"retrievalSize\": 200, \"offset\": 0, \"orderDirection\": \"DESC\" }' ``` + + :param logs_query: (required) + :type logs_query: LogsQuery + :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_logs_serialize( + logs_query=logs_query, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LogsApiResponse", + '500': None, + '503': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_logs_serialize( + self, + logs_query, + _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, List[str], List[bytes], List[Tuple[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 logs_query is not None: + _body_params = logs_query + + + # 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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/logging/logs/getLogs/v1', + 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/instana_client/api/maintenance_configuration_api.py b/instana_client/api/maintenance_configuration_api.py index 4c67a9a7..a250cb3f 100644 --- a/instana_client/api/maintenance_configuration_api.py +++ b/instana_client/api/maintenance_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/mobile_app_analyze_api.py b/instana_client/api/mobile_app_analyze_api.py index 79732d9f..ecdcabfb 100644 --- a/instana_client/api/mobile_app_analyze_api.py +++ b/instana_client/api/mobile_app_analyze_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/mobile_app_catalog_api.py b/instana_client/api/mobile_app_catalog_api.py index 88d037ab..9f514469 100644 --- a/instana_client/api/mobile_app_catalog_api.py +++ b/instana_client/api/mobile_app_catalog_api.py @@ -1,29 +1,25 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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, field_validator -from typing import List, Optional +from pydantic import Field, StrictStr, field_validator +from typing import List from typing_extensions import Annotated -from instana_client.models.get_action_beacons_result import GetActionBeaconsResult -from instana_client.models.get_session_replay_metadata_result import GetSessionReplayMetadataResult from instana_client.models.mobile_app_monitoring_metric_description import MobileAppMonitoringMetricDescription -from instana_client.models.session_replay_timestamps import SessionReplayTimestamps from instana_client.models.tag import Tag from instana_client.models.tag_catalog import TagCatalog @@ -45,330 +41,6 @@ def __init__(self, api_client=None) -> None: self.api_client = api_client - @validate_call - def get_action_beacons( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - cursor: Annotated[Optional[StrictInt], Field(description="Offset cursor for pagination (number of items already retrieved). Omit for first page.")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page (default: 100, max: 1000)")] = 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, - ) -> GetActionBeaconsResult: - """Get action beacons for a session - - Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_id: str - :param cursor: Offset cursor for pagination (number of items already retrieved). Omit for first page. - :type cursor: int - :param page_size: Number of items per page (default: 100, max: 1000) - :type page_size: 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_action_beacons_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - cursor=cursor, - page_size=page_size, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GetActionBeaconsResult", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_action_beacons_with_http_info( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - cursor: Annotated[Optional[StrictInt], Field(description="Offset cursor for pagination (number of items already retrieved). Omit for first page.")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page (default: 100, max: 1000)")] = 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[GetActionBeaconsResult]: - """Get action beacons for a session - - Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_id: str - :param cursor: Offset cursor for pagination (number of items already retrieved). Omit for first page. - :type cursor: int - :param page_size: Number of items per page (default: 100, max: 1000) - :type page_size: 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_action_beacons_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - cursor=cursor, - page_size=page_size, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GetActionBeaconsResult", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_action_beacons_without_preload_content( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - cursor: Annotated[Optional[StrictInt], Field(description="Offset cursor for pagination (number of items already retrieved). Omit for first page.")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page (default: 100, max: 1000)")] = 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 action beacons for a session - - Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_id: str - :param cursor: Offset cursor for pagination (number of items already retrieved). Omit for first page. - :type cursor: int - :param page_size: Number of items per page (default: 100, max: 1000) - :type page_size: 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_action_beacons_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - cursor=cursor, - page_size=page_size, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GetActionBeaconsResult", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_action_beacons_serialize( - self, - mobile_app_id, - session_id, - cursor, - page_size, - _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, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if mobile_app_id is not None: - _path_params['mobileAppId'] = mobile_app_id - if session_id is not None: - _path_params['sessionId'] = session_id - # process the query parameters - if cursor is not None: - - _query_params.append(('cursor', cursor)) - - if page_size is not None: - - _query_params.append(('pageSize', page_size)) - - # 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] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons', - 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_all_mobile_app_catalog_tags( self, @@ -1157,617 +829,3 @@ def _get_mobile_app_tag_catalog_serialize( ) - - - @validate_call - def get_session_replay_metadata( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - cursor: Annotated[Optional[StrictInt], Field(description="Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards.")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="Time window size in milliseconds (default: 20000ms = 20 seconds)")] = 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, - ) -> GetSessionReplayMetadataResult: - """Get session replay metadata - - Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_id: str - :param cursor: Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. - :type cursor: int - :param page_size: Time window size in milliseconds (default: 20000ms = 20 seconds) - :type page_size: 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_session_replay_metadata_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - cursor=cursor, - page_size=page_size, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GetSessionReplayMetadataResult", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_session_replay_metadata_with_http_info( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - cursor: Annotated[Optional[StrictInt], Field(description="Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards.")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="Time window size in milliseconds (default: 20000ms = 20 seconds)")] = 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[GetSessionReplayMetadataResult]: - """Get session replay metadata - - Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_id: str - :param cursor: Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. - :type cursor: int - :param page_size: Time window size in milliseconds (default: 20000ms = 20 seconds) - :type page_size: 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_session_replay_metadata_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - cursor=cursor, - page_size=page_size, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GetSessionReplayMetadataResult", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_session_replay_metadata_without_preload_content( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - cursor: Annotated[Optional[StrictInt], Field(description="Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards.")] = None, - page_size: Annotated[Optional[StrictInt], Field(description="Time window size in milliseconds (default: 20000ms = 20 seconds)")] = 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 session replay metadata - - Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_id: str - :param cursor: Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. - :type cursor: int - :param page_size: Time window size in milliseconds (default: 20000ms = 20 seconds) - :type page_size: 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_session_replay_metadata_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - cursor=cursor, - page_size=page_size, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GetSessionReplayMetadataResult", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_session_replay_metadata_serialize( - self, - mobile_app_id, - session_id, - cursor, - page_size, - _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, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if mobile_app_id is not None: - _path_params['mobileAppId'] = mobile_app_id - if session_id is not None: - _path_params['sessionId'] = session_id - # process the query parameters - if cursor is not None: - - _query_params.append(('cursor', cursor)) - - if page_size is not None: - - _query_params.append(('pageSize', page_size)) - - # 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] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata', - 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_session_replay_timestamps( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - _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, - ) -> SessionReplayTimestamps: - """Get session replay timestamps - - Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_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_session_replay_timestamps_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "SessionReplayTimestamps", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_session_replay_timestamps_with_http_info( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - _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[SessionReplayTimestamps]: - """Get session replay timestamps - - Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_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_session_replay_timestamps_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "SessionReplayTimestamps", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_session_replay_timestamps_without_preload_content( - self, - mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], - session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], - _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 session replay timestamps - - Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. - - :param mobile_app_id: Mobile app identifier (required) - :type mobile_app_id: str - :param session_id: Session identifier (required) - :type session_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_session_replay_timestamps_serialize( - mobile_app_id=mobile_app_id, - session_id=session_id, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "SessionReplayTimestamps", - '400': None, - '401': None, - '403': None, - '404': None, - '500': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_session_replay_timestamps_serialize( - self, - mobile_app_id, - session_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, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if mobile_app_id is not None: - _path_params['mobileAppId'] = mobile_app_id - 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 - - - # 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] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps', - 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/instana_client/api/mobile_app_configuration_api.py b/instana_client/api/mobile_app_configuration_api.py index ccad29dd..0c154a9c 100644 --- a/instana_client/api/mobile_app_configuration_api.py +++ b/instana_client/api/mobile_app_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -5232,7 +5231,7 @@ def upload_mobile_app_source_map_file( :param file_type: dSYM stands for iOS symbol file, R8PG_MAP stands for Android java mapping file (required) :type file_type: str :param source_map: Path to your local symbol file (required) - :type source_map: bytearray + :type source_map: bytes :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 @@ -5328,7 +5327,7 @@ def upload_mobile_app_source_map_file_with_http_info( :param file_type: dSYM stands for iOS symbol file, R8PG_MAP stands for Android java mapping file (required) :type file_type: str :param source_map: Path to your local symbol file (required) - :type source_map: bytearray + :type source_map: bytes :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 @@ -5424,7 +5423,7 @@ def upload_mobile_app_source_map_file_without_preload_content( :param file_type: dSYM stands for iOS symbol file, R8PG_MAP stands for Android java mapping file (required) :type file_type: str :param source_map: Path to your local symbol file (required) - :type source_map: bytearray + :type source_map: bytes :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 diff --git a/instana_client/api/mobile_app_metrics_api.py b/instana_client/api/mobile_app_metrics_api.py index a2e73bcc..c088f545 100644 --- a/instana_client/api/mobile_app_metrics_api.py +++ b/instana_client/api/mobile_app_metrics_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/mobile_app_session_replay_api.py b/instana_client/api/mobile_app_session_replay_api.py new file mode 100644 index 00000000..5998b954 --- /dev/null +++ b/instana_client/api/mobile_app_session_replay_api.py @@ -0,0 +1,979 @@ +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing import Optional +from typing_extensions import Annotated +from instana_client.models.get_action_beacons_result import GetActionBeaconsResult +from instana_client.models.get_session_replay_metadata_result import GetSessionReplayMetadataResult +from instana_client.models.session_replay_timestamps import SessionReplayTimestamps + +from instana_client.api_client import ApiClient, RequestSerialized +from instana_client.api_response import ApiResponse +from instana_client.rest import RESTResponseType + + +class MobileAppSessionReplayApi: + """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 get_action_beacons( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + cursor: Annotated[Optional[StrictInt], Field(description="Offset cursor for pagination (number of items already retrieved). Omit for first page.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page (default: 100, max: 1000)")] = 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, + ) -> GetActionBeaconsResult: + """Get action beacons for a session + + Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_id: str + :param cursor: Offset cursor for pagination (number of items already retrieved). Omit for first page. + :type cursor: int + :param page_size: Number of items per page (default: 100, max: 1000) + :type page_size: 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_action_beacons_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + cursor=cursor, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetActionBeaconsResult", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_action_beacons_with_http_info( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + cursor: Annotated[Optional[StrictInt], Field(description="Offset cursor for pagination (number of items already retrieved). Omit for first page.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page (default: 100, max: 1000)")] = 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[GetActionBeaconsResult]: + """Get action beacons for a session + + Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_id: str + :param cursor: Offset cursor for pagination (number of items already retrieved). Omit for first page. + :type cursor: int + :param page_size: Number of items per page (default: 100, max: 1000) + :type page_size: 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_action_beacons_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + cursor=cursor, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetActionBeaconsResult", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_action_beacons_without_preload_content( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + cursor: Annotated[Optional[StrictInt], Field(description="Offset cursor for pagination (number of items already retrieved). Omit for first page.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Number of items per page (default: 100, max: 1000)")] = 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 action beacons for a session + + Retrieves action beacons (user interactions and events) for a mobile app session. Uses cursor-based pagination with offset cursors. Returns beacons starting from the cursor offset. The pageSize parameter controls the number of items returned (default 100, max 1000). Includes event types, view components, frustration signals, orientation changes, and more. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_id: str + :param cursor: Offset cursor for pagination (number of items already retrieved). Omit for first page. + :type cursor: int + :param page_size: Number of items per page (default: 100, max: 1000) + :type page_size: 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_action_beacons_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + cursor=cursor, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetActionBeaconsResult", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_action_beacons_serialize( + self, + mobile_app_id, + session_id, + cursor, + page_size, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if mobile_app_id is not None: + _path_params['mobileAppId'] = mobile_app_id + if session_id is not None: + _path_params['sessionId'] = session_id + # process the query parameters + if cursor is not None: + + _query_params.append(('cursor', cursor)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons', + 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_session_replay_metadata( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + cursor: Annotated[Optional[StrictInt], Field(description="Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Time window size in milliseconds (default: 20000ms = 20 seconds)")] = 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, + ) -> GetSessionReplayMetadataResult: + """Get session replay metadata + + Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_id: str + :param cursor: Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. + :type cursor: int + :param page_size: Time window size in milliseconds (default: 20000ms = 20 seconds) + :type page_size: 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_session_replay_metadata_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + cursor=cursor, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSessionReplayMetadataResult", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_session_replay_metadata_with_http_info( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + cursor: Annotated[Optional[StrictInt], Field(description="Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Time window size in milliseconds (default: 20000ms = 20 seconds)")] = 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[GetSessionReplayMetadataResult]: + """Get session replay metadata + + Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_id: str + :param cursor: Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. + :type cursor: int + :param page_size: Time window size in milliseconds (default: 20000ms = 20 seconds) + :type page_size: 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_session_replay_metadata_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + cursor=cursor, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSessionReplayMetadataResult", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_session_replay_metadata_without_preload_content( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + cursor: Annotated[Optional[StrictInt], Field(description="Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards.")] = None, + page_size: Annotated[Optional[StrictInt], Field(description="Time window size in milliseconds (default: 20000ms = 20 seconds)")] = 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 session replay metadata + + Retrieves detailed metadata for session replay captured during a mobile app session. Uses cursor-based pagination with timestamp cursors. Returns metadata within the time window from cursor to cursor + pageSize. The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes all metadata fields such as event type, view components, orientation changes, etc. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_id: str + :param cursor: Timestamp cursor for pagination (epoch milliseconds). Retrieves metadata from this timestamp onwards. + :type cursor: int + :param page_size: Time window size in milliseconds (default: 20000ms = 20 seconds) + :type page_size: 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_session_replay_metadata_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + cursor=cursor, + page_size=page_size, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSessionReplayMetadataResult", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_session_replay_metadata_serialize( + self, + mobile_app_id, + session_id, + cursor, + page_size, + _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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if mobile_app_id is not None: + _path_params['mobileAppId'] = mobile_app_id + if session_id is not None: + _path_params['sessionId'] = session_id + # process the query parameters + if cursor is not None: + + _query_params.append(('cursor', cursor)) + + if page_size is not None: + + _query_params.append(('pageSize', page_size)) + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata', + 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_session_replay_timestamps( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + _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, + ) -> SessionReplayTimestamps: + """Get session replay timestamps + + Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_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_session_replay_timestamps_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionReplayTimestamps", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_session_replay_timestamps_with_http_info( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + _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[SessionReplayTimestamps]: + """Get session replay timestamps + + Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_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_session_replay_timestamps_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionReplayTimestamps", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_session_replay_timestamps_without_preload_content( + self, + mobile_app_id: Annotated[str, Field(min_length=1, strict=True, description="Mobile app identifier")], + session_id: Annotated[str, Field(min_length=1, strict=True, description="Session identifier")], + _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 session replay timestamps + + Retrieves the first and last image timestamps for a mobile app session. Returns null values if the session has no images. + + :param mobile_app_id: Mobile app identifier (required) + :type mobile_app_id: str + :param session_id: Session identifier (required) + :type session_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_session_replay_timestamps_serialize( + mobile_app_id=mobile_app_id, + session_id=session_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionReplayTimestamps", + '400': None, + '401': None, + '403': None, + '404': None, + '500': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_session_replay_timestamps_serialize( + self, + mobile_app_id, + session_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if mobile_app_id is not None: + _path_params['mobileAppId'] = mobile_app_id + 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 + + + # 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] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps', + 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/instana_client/api/policies_api.py b/instana_client/api/policies_api.py index 10cf3ce9..930efdb4 100644 --- a/instana_client/api/policies_api.py +++ b/instana_client/api/policies_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/releases_api.py b/instana_client/api/releases_api.py index 63d6536d..789a9bce 100644 --- a/instana_client/api/releases_api.py +++ b/instana_client/api/releases_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/roles_api.py b/instana_client/api/roles_api.py index 1dd2bbe1..733c9b62 100644 --- a/instana_client/api/roles_api.py +++ b/instana_client/api/roles_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/service_levels_alert_configuration_api.py b/instana_client/api/service_levels_alert_configuration_api.py index dcd13906..c3f8930a 100644 --- a/instana_client/api/service_levels_alert_configuration_api.py +++ b/instana_client/api/service_levels_alert_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/service_levels_objective_slo_report_api.py b/instana_client/api/service_levels_objective_slo_report_api.py index fe58060c..823f2cf0 100644 --- a/instana_client/api/service_levels_objective_slo_report_api.py +++ b/instana_client/api/service_levels_objective_slo_report_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/session_settings_api.py b/instana_client/api/session_settings_api.py index 02455cce..8665f7a7 100644 --- a/instana_client/api/session_settings_api.py +++ b/instana_client/api/session_settings_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/sli_report_api.py b/instana_client/api/sli_report_api.py index 63fe70e9..5369f9d5 100644 --- a/instana_client/api/sli_report_api.py +++ b/instana_client/api/sli_report_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/sli_settings_api.py b/instana_client/api/sli_settings_api.py index ce475e0c..4560001d 100644 --- a/instana_client/api/sli_settings_api.py +++ b/instana_client/api/sli_settings_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/slo_catalog_for_mobile_app_api.py b/instana_client/api/slo_catalog_for_mobile_app_api.py index 836127bb..df9f4d52 100644 --- a/instana_client/api/slo_catalog_for_mobile_app_api.py +++ b/instana_client/api/slo_catalog_for_mobile_app_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/slo_configurations_api.py b/instana_client/api/slo_configurations_api.py index 428e7fd7..28f911ee 100644 --- a/instana_client/api/slo_configurations_api.py +++ b/instana_client/api/slo_configurations_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/slo_correction_configurations_api.py b/instana_client/api/slo_correction_configurations_api.py index 3c21c055..f6bd5a9e 100644 --- a/instana_client/api/slo_correction_configurations_api.py +++ b/instana_client/api/slo_correction_configurations_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/slo_correction_windows_api.py b/instana_client/api/slo_correction_windows_api.py index 8981d6cc..2480f0d8 100644 --- a/instana_client/api/slo_correction_windows_api.py +++ b/instana_client/api/slo_correction_windows_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/synthetic_alert_configuration_api.py b/instana_client/api/synthetic_alert_configuration_api.py index 7e9066cc..61797475 100644 --- a/instana_client/api/synthetic_alert_configuration_api.py +++ b/instana_client/api/synthetic_alert_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -100,6 +99,7 @@ def bulk_delete_synthetic_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -169,6 +169,7 @@ def bulk_delete_synthetic_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -238,6 +239,7 @@ def bulk_delete_synthetic_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -374,6 +376,7 @@ def bulk_disable_synthetic_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -443,6 +446,7 @@ def bulk_disable_synthetic_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -512,6 +516,7 @@ def bulk_disable_synthetic_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -648,6 +653,7 @@ def bulk_enable_synthetic_alert_configs( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -717,6 +723,7 @@ def bulk_enable_synthetic_alert_configs_with_http_info( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, @@ -786,6 +793,7 @@ def bulk_enable_synthetic_alert_configs_without_preload_content( '204': None, '400': None, '403': None, + '422': None, } response_data = self.api_client.call_api( *_param, diff --git a/instana_client/api/synthetic_calls_api.py b/instana_client/api/synthetic_calls_api.py index 9cbd0624..668b6bfd 100644 --- a/instana_client/api/synthetic_calls_api.py +++ b/instana_client/api/synthetic_calls_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/synthetic_catalog_api.py b/instana_client/api/synthetic_catalog_api.py index ae41703e..ee28c6d5 100644 --- a/instana_client/api/synthetic_catalog_api.py +++ b/instana_client/api/synthetic_catalog_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/synthetic_metrics_api.py b/instana_client/api/synthetic_metrics_api.py index cbd0a0f6..ace7897f 100644 --- a/instana_client/api/synthetic_metrics_api.py +++ b/instana_client/api/synthetic_metrics_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/synthetic_settings_api.py b/instana_client/api/synthetic_settings_api.py index 1c061587..1f01cb3b 100644 --- a/instana_client/api/synthetic_settings_api.py +++ b/instana_client/api/synthetic_settings_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/synthetic_test_playback_results_api.py b/instana_client/api/synthetic_test_playback_results_api.py index eb717719..f77beda4 100644 --- a/instana_client/api/synthetic_test_playback_results_api.py +++ b/instana_client/api/synthetic_test_playback_results_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/teams_api.py b/instana_client/api/teams_api.py index 5a05582e..440f60e5 100644 --- a/instana_client/api/teams_api.py +++ b/instana_client/api/teams_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -1364,7 +1363,7 @@ def _get_teams_serialize( def update_team( self, id: Annotated[StrictStr, Field(description="Id of the team to update")], - api_team: ApiTeam, + api_team: Annotated[ApiTeam, Field(description="Team to update")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1384,7 +1383,7 @@ def update_team( :param id: Id of the team to update (required) :type id: str - :param api_team: (required) + :param api_team: Team to update (required) :type api_team: ApiTeam :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1437,7 +1436,7 @@ def update_team( def update_team_with_http_info( self, id: Annotated[StrictStr, Field(description="Id of the team to update")], - api_team: ApiTeam, + api_team: Annotated[ApiTeam, Field(description="Team to update")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1457,7 +1456,7 @@ def update_team_with_http_info( :param id: Id of the team to update (required) :type id: str - :param api_team: (required) + :param api_team: Team to update (required) :type api_team: ApiTeam :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1510,7 +1509,7 @@ def update_team_with_http_info( def update_team_without_preload_content( self, id: Annotated[StrictStr, Field(description="Id of the team to update")], - api_team: ApiTeam, + api_team: Annotated[ApiTeam, Field(description="Team to update")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1530,7 +1529,7 @@ def update_team_without_preload_content( :param id: Id of the team to update (required) :type id: str - :param api_team: (required) + :param api_team: Team to update (required) :type api_team: ApiTeam :param _request_timeout: timeout setting for this request. If one number provided, it will be total request diff --git a/instana_client/api/usage_api.py b/instana_client/api/usage_api.py index 3d26a586..9ada5015 100644 --- a/instana_client/api/usage_api.py +++ b/instana_client/api/usage_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/user_api.py b/instana_client/api/user_api.py index d81e3791..abb37d0b 100644 --- a/instana_client/api/user_api.py +++ b/instana_client/api/user_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -24,6 +23,7 @@ from instana_client.models.invitation import Invitation from instana_client.models.invitation_response import InvitationResponse from instana_client.models.invitation_result import InvitationResult +from instana_client.models.role_mapping_overview import RoleMappingOverview from instana_client.models.user_result import UserResult from instana_client.models.users_result import UsersResult @@ -555,6 +555,273 @@ def _get_user_by_id_serialize( + @validate_call + def get_user_mappings( + self, + user_id: Annotated[StrictStr, Field(description="Id of the user")], + _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[RoleMappingOverview]: + """Get user role mappings + + Retrieves all IdP role mappings applicable to the specified user. + + :param user_id: Id of the user (required) + :type user_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_user_mappings_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[RoleMappingOverview]", + '401': None, + '403': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_mappings_with_http_info( + self, + user_id: Annotated[StrictStr, Field(description="Id of the user")], + _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[RoleMappingOverview]]: + """Get user role mappings + + Retrieves all IdP role mappings applicable to the specified user. + + :param user_id: Id of the user (required) + :type user_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_user_mappings_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[RoleMappingOverview]", + '401': None, + '403': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_mappings_without_preload_content( + self, + user_id: Annotated[StrictStr, Field(description="Id of the user")], + _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 user role mappings + + Retrieves all IdP role mappings applicable to the specified user. + + :param user_id: Id of the user (required) + :type user_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_user_mappings_serialize( + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[RoleMappingOverview]", + '401': None, + '403': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_mappings_serialize( + self, + user_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, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if user_id is not None: + _path_params['userId'] = user_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] = [ + 'ApiKeyAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/settings/users/{userId}/mappings', + 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_users( self, diff --git a/instana_client/api/website_analyze_api.py b/instana_client/api/website_analyze_api.py index 1b212d75..234c58bc 100644 --- a/instana_client/api/website_analyze_api.py +++ b/instana_client/api/website_analyze_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/website_catalog_api.py b/instana_client/api/website_catalog_api.py index 9534402a..ed48fe26 100644 --- a/instana_client/api/website_catalog_api.py +++ b/instana_client/api/website_catalog_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api/website_configuration_api.py b/instana_client/api/website_configuration_api.py index 04d714d1..15cb0856 100644 --- a/instana_client/api/website_configuration_api.py +++ b/instana_client/api/website_configuration_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 @@ -4891,7 +4890,7 @@ def upload_source_map_file( :param source_map_config_id: Source Map Config ID (required) :type source_map_config_id: str :param source_map: Local Source Map file path (required) - :type source_map: bytearray + :type source_map: bytes :param url: URL of the website (required) :type url: str :param file_format: @@ -4979,7 +4978,7 @@ def upload_source_map_file_with_http_info( :param source_map_config_id: Source Map Config ID (required) :type source_map_config_id: str :param source_map: Local Source Map file path (required) - :type source_map: bytearray + :type source_map: bytes :param url: URL of the website (required) :type url: str :param file_format: @@ -5067,7 +5066,7 @@ def upload_source_map_file_without_preload_content( :param source_map_config_id: Source Map Config ID (required) :type source_map_config_id: str :param source_map: Local Source Map file path (required) - :type source_map: bytearray + :type source_map: bytes :param url: URL of the website (required) :type url: str :param file_format: diff --git a/instana_client/api/website_metrics_api.py b/instana_client/api/website_metrics_api.py index e0aad75f..e9fd6de4 100644 --- a/instana_client/api/website_metrics_api.py +++ b/instana_client/api/website_metrics_api.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.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 diff --git a/instana_client/api_client.py b/instana_client/api_client.py index e08e2b2e..9937711f 100644 --- a/instana_client/api_client.py +++ b/instana_client/api_client.py @@ -1,11 +1,9 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -13,6 +11,7 @@ """ # noqa: E501 + import datetime from dateutil.parser import parse from enum import Enum @@ -22,6 +21,7 @@ import os import re import tempfile +import uuid from urllib.parse import quote from typing import Tuple, Optional, List, Dict, Union @@ -69,6 +69,7 @@ class ApiClient: 'date': datetime.date, 'datetime': datetime.datetime, 'decimal': decimal.Decimal, + 'UUID': uuid.UUID, 'object': object, } _pool = None @@ -91,7 +92,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/1.0.8/python' + self.user_agent = 'OpenAPI-Generator/1.0.9/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): @@ -302,17 +303,23 @@ def response_deserialize( # if not found, look for '1XX', '2XX', etc. response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + # If the response_type has not matched (eg. did not match the previous if statements) and the default response is available, use it. + if response_type is None and str(response_data.status) not in response_types_map \ + and (not isinstance(response_data.status, int) or not 100 <= response_data.status <= 599 or str(response_data.status)[0] + "XX" not in response_types_map) \ + and 'default' in response_types_map: + response_type = response_types_map['default'] + # deserialize response data response_text = None return_data = None try: - if response_type == "bytearray": + if response_type in ("bytearray", "bytes"): return_data = response_data.data elif response_type == "file": return_data = self.__deserialize_file(response_data) elif response_type is not None: match = None - content_type = response_data.getheader('content-type') + content_type = response_data.headers.get('content-type') if content_type is not None: match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) encoding = match.group(1) if match else "utf-8" @@ -329,7 +336,7 @@ def response_deserialize( return ApiResponse( status_code = response_data.status, data = return_data, - headers = response_data.getheaders(), + headers = response_data.headers, raw_data = response_data.data ) @@ -357,6 +364,8 @@ def sanitize_for_serialization(self, obj): return obj.get_secret_value() elif isinstance(obj, self.PRIMITIVE_TYPES): return obj + elif isinstance(obj, uuid.UUID): + return str(obj) elif isinstance(obj, list): return [ self.sanitize_for_serialization(sub_obj) for sub_obj in obj @@ -369,24 +378,24 @@ def sanitize_for_serialization(self, obj): return obj.isoformat() elif isinstance(obj, decimal.Decimal): return str(obj) - elif isinstance(obj, dict): - obj_dict = obj + return { + key: self.sanitize_for_serialization(val) + for key, val in obj.items() + } + + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() else: - # Convert model obj to dict except - # attributes `openapi_types`, `attribute_map` - # and attributes which value is not None. - # Convert attribute name to json key in - # model definition for request. - if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): - obj_dict = obj.to_dict() - else: - obj_dict = obj.__dict__ + obj_dict = obj.__dict__ + + return self.sanitize_for_serialization(obj_dict) - return { - key: self.sanitize_for_serialization(val) - for key, val in obj_dict.items() - } def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): """Deserializes response into an object. @@ -405,7 +414,7 @@ def deserialize(self, response_text: str, response_type: str, content_type: Opti data = json.loads(response_text) except ValueError: data = response_text - elif re.match(r'^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): + elif re.match(r'^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): if response_text == "": data = "" else: @@ -454,14 +463,16 @@ def __deserialize(self, data, klass): if klass in self.PRIMITIVE_TYPES: return self.__deserialize_primitive(data, klass) - elif klass == object: + elif klass is object: return self.__deserialize_object(data) - elif klass == datetime.date: + elif klass is datetime.date: return self.__deserialize_date(data) - elif klass == datetime.datetime: + elif klass is datetime.datetime: return self.__deserialize_datetime(data) - elif klass == decimal.Decimal: + elif klass is decimal.Decimal: return decimal.Decimal(data) + elif klass is uuid.UUID: + return uuid.UUID(data) elif issubclass(klass, Enum): return self.__deserialize_enum(data, klass) else: @@ -668,7 +679,16 @@ def _apply_auth_params( :param auth_setting: auth settings for the endpoint """ if auth_setting['in'] == 'cookie': - headers['Cookie'] = auth_setting['value'] + if not 'Cookie' in headers: + headers['Cookie'] = "" + else: + headers['Cookie'] += "; " + # Account for cookie value containing spaces and special characters + cookie_value = str(auth_setting['value']) + if not re.match("^\".*\"$", cookie_value): + cookie_value = cookie_value.replace("\"", "\\\"") + cookie_value = f"\"{cookie_value}\"" + headers['Cookie'] += f"{auth_setting['key']}={cookie_value}" elif auth_setting['in'] == 'header': if auth_setting['type'] != 'http-signature': headers[auth_setting['key']] = auth_setting['value'] @@ -695,14 +715,16 @@ def __deserialize_file(self, response): os.close(fd) os.remove(path) - content_disposition = response.getheader("Content-Disposition") + content_disposition = response.headers.get("Content-Disposition") if content_disposition: m = re.search( r'filename=[\'"]?([^\'"\s]+)[\'"]?', content_disposition ) assert m is not None, "Unexpected 'content-disposition' header value" - filename = m.group(1) + filename = os.path.basename(m.group(1)) # Strip any directory traversal + if filename in ("", ".", ".."): # fall back to tmp filename + filename = os.path.basename(path) path = os.path.join(os.path.dirname(path), filename) with open(path, "wb") as f: diff --git a/instana_client/configuration.py b/instana_client/configuration.py index 468cbd9d..b9b18f0d 100644 --- a/instana_client/configuration.py +++ b/instana_client/configuration.py @@ -1,11 +1,9 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -20,6 +18,8 @@ import multiprocessing import sys from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union +from urllib.parse import urlparse +from urllib.request import getproxies from typing_extensions import NotRequired, Self import urllib3 @@ -159,11 +159,26 @@ class Configuration: string values to replace variables in templated server configuration. The validation of enums is performed for variables with defined enum values before. + :param verify_ssl: bool - Set this to false to skip verifying SSL certificate + when calling API from https server. :param ssl_ca_cert: str - the path to a file of concatenated CA certificates in PEM format. - :param retries: Number of retries for API requests. + :param retries: int | urllib3.util.retry.Retry - Retry configuration. :param ca_cert_data: verify the peer using concatenated CA certificate data in PEM (str) or DER (bytes) format. + :param cert_file: the path to a client certificate file, for mTLS. + :param key_file: the path to a client key file, for mTLS. + :param assert_hostname: Set this to True/False to enable/disable SSL hostname verification. + :param tls_server_name: SSL/TLS Server Name Indication (SNI). Set this to the SNI value expected by the server. + :param connection_pool_maxsize: Connection pool max size. None in the constructor is coerced to 100 for async and cpu_count * 5 for sync. + :param proxy: Proxy URL. + :param no_proxy: Comma-separated hosts that bypass the proxy. + :param proxy_headers: Proxy headers. + :param safe_chars_for_path_param: Safe characters for path parameter encoding. + :param client_side_validation: Enable client-side validation. Default True. + :param socket_options: Options to pass down to the underlying urllib3 socket. + :param datetime_format: Datetime format string for serialization. + :param date_format: Date format string for serialization. :Example: @@ -203,8 +218,22 @@ def __init__( server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, ignore_operation_servers: bool=False, ssl_ca_cert: Optional[str]=None, - retries: Optional[int] = None, + retries: Optional[Union[int, urllib3.util.retry.Retry]] = None, ca_cert_data: Optional[Union[str, bytes]] = None, + cert_file: Optional[str]=None, + key_file: Optional[str]=None, + verify_ssl: bool=True, + assert_hostname: Optional[bool]=None, + tls_server_name: Optional[str]=None, + connection_pool_maxsize: Optional[int]=None, + proxy: Optional[str]=None, + no_proxy: Optional[str]=None, + proxy_headers: Optional[Any]=None, + safe_chars_for_path_param: str='', + client_side_validation: bool=True, + socket_options: Optional[Any]=None, + datetime_format: str="%Y-%m-%dT%H:%M:%S.%f%z", + date_format: str="%Y-%m-%d", *, debug: Optional[bool] = None, ) -> None: @@ -274,7 +303,7 @@ def __init__( """Debug switch """ - self.verify_ssl = True + self.verify_ssl = verify_ssl """SSL/TLS verification Set this to false to skip verifying SSL certificate when calling API from https server. @@ -286,52 +315,61 @@ def __init__( """Set this to verify the peer using PEM (str) or DER (bytes) certificate data. """ - self.cert_file = None + self.cert_file = cert_file """client certificate file """ - self.key_file = None + self.key_file = key_file """client key file """ - self.assert_hostname = None + self.assert_hostname = assert_hostname """Set this to True/False to enable/disable SSL hostname verification. """ - self.tls_server_name = None + self.tls_server_name = tls_server_name """SSL/TLS Server Name Indication (SNI) Set this to the SNI value expected by the server. """ - self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + self.connection_pool_maxsize = connection_pool_maxsize if connection_pool_maxsize is not None else multiprocessing.cpu_count() * 5 """urllib3 connection pool's maximum number of connections saved - per pool. urllib3 uses 1 connection as default value, but this is - not the best value when you are making a lot of possibly parallel - requests to the same host, which is often the case here. - cpu_count * 5 is used as default value to increase performance. - """ - - self.proxy: Optional[str] = None + per pool. None in the constructor is coerced to cpu_count * 5. + """ + + # urllib3 does not read proxy environment variables itself: + # https://github.com/urllib3/urllib3/issues/1785 + if proxy is None or no_proxy is None: + proxies = getproxies() + if proxy is None: + scheme = urlparse(self.host).scheme + proxy = proxies.get(scheme) or proxies.get("all") + if no_proxy is None: + no_proxy = proxies.get("no") + self.proxy = proxy """Proxy URL """ - self.proxy_headers = None + self.no_proxy = no_proxy + """Hosts that bypass the proxy + """ + self.proxy_headers = proxy_headers """Proxy headers """ - self.safe_chars_for_path_param = '' + self.safe_chars_for_path_param = safe_chars_for_path_param """Safe chars for path_param """ self.retries = retries - """Adding retries to override urllib3 default value 3 + """Retry configuration """ # Enable client side validation - self.client_side_validation = True + self.client_side_validation = client_side_validation - self.socket_options = None + self.socket_options = socket_options """Options to pass down to the underlying urllib3 socket """ - self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z" + self.datetime_format = datetime_format """datetime format """ - self.date_format = "%Y-%m-%d" + self.date_format = date_format """date format """ @@ -344,9 +382,9 @@ def __deepcopy__(self, memo: Dict[int, Any]) -> Self: setattr(result, k, copy.deepcopy(v, memo)) # shallow copy of loggers result.logger = copy.copy(self.logger) - # use setters to configure loggers + # use setter to re-create the file handler (excluded from __dict__ copy) result.logger_file = self.logger_file - result.debug = self.debug + return result def __setattr__(self, name: str, value: Any) -> None: @@ -483,7 +521,8 @@ def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> self.refresh_api_key_hook(self) key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) if key: - prefix = self.api_key_prefix.get(identifier) + prefix = self.api_key_prefix.get( + identifier, self.api_key_prefix.get(alias) if alias is not None else None) if prefix: return "%s %s" % (prefix, key) else: @@ -502,6 +541,7 @@ def get_basic_auth_token(self) -> Optional[str]: password = "" if self.password is not None: password = self.password + return urllib3.util.make_headers( basic_auth=username + ':' + password ).get('authorization') @@ -531,7 +571,7 @@ def to_debug_report(self) -> str: return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: 1.320.1414\n"\ + "Version of the API: 1.323.989\n"\ "SDK Package Version: 1.0.9".\ format(env=sys.platform, pyversion=sys.version) @@ -554,16 +594,6 @@ def get_host_settings(self) -> List[HostSetting]: 'default_value': "unit", } } - }, - { - 'url': "https://{domain}", - 'description': "Instana Self-Hosted Backend", - 'variables': { - 'domain': { - 'description': "Customer Self-Hosted domain", - 'default_value': "example.com", - } - } } ] @@ -600,6 +630,7 @@ def get_host_from_settings( variable_name, variable['default_value']) if 'enum_values' in variable \ + and variable['enum_values'] \ and used_value not in variable['enum_values']: raise ValueError( "The variable `{0}` in the host URL has invalid value " diff --git a/instana_client/exceptions.py b/instana_client/exceptions.py index eef663c9..acb92438 100644 --- a/instana_client/exceptions.py +++ b/instana_client/exceptions.py @@ -1,17 +1,16 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. """ # noqa: E501 + from typing import Any, Optional from typing_extensions import Self @@ -129,7 +128,7 @@ def __init__( self.body = http_resp.data.decode('utf-8') except Exception: pass - self.headers = http_resp.getheaders() + self.headers = http_resp.headers @classmethod def from_response( @@ -170,8 +169,11 @@ def __str__(self): error_message += "HTTP response headers: {0}\n".format( self.headers) - if self.data or self.body: - error_message += "HTTP response body: {0}\n".format(self.data or self.body) + if self.body: + error_message += "HTTP response body: {0}\n".format(self.body) + + if self.data: + error_message += "HTTP response data: {0}\n".format(self.data) return error_message diff --git a/instana_client/models/__init__.py b/instana_client/models/__init__.py index 6cd27192..bbc6c292 100644 --- a/instana_client/models/__init__.py +++ b/instana_client/models/__init__.py @@ -6,14 +6,13 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. """ # noqa: E501 - # import models into model package from instana_client.models.abstract_integration import AbstractIntegration from instana_client.models.abstract_rule import AbstractRule @@ -31,12 +30,15 @@ from instana_client.models.adaptive_baseline import AdaptiveBaseline from instana_client.models.adaptive_threshold_rule import AdaptiveThresholdRule from instana_client.models.adjusted_timeframe import AdjustedTimeframe +from instana_client.models.advanced_custom_blueprint_indicator import AdvancedCustomBlueprintIndicator +from instana_client.models.advanced_filter import AdvancedFilter from instana_client.models.agent_configuration_update import AgentConfigurationUpdate from instana_client.models.agent_mode_update import AgentModeUpdate from instana_client.models.alerting_configuration import AlertingConfiguration from instana_client.models.alerting_configuration_with_last_updated import AlertingConfigurationWithLastUpdated from instana_client.models.alerting_time_window import AlertingTimeWindow from instana_client.models.apdex_alert_rule import ApdexAlertRule +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag from instana_client.models.apdex_configuration import ApdexConfiguration from instana_client.models.apdex_configuration_input import ApdexConfigurationInput from instana_client.models.apdex_entity import ApdexEntity @@ -45,6 +47,8 @@ from instana_client.models.api_create_group import ApiCreateGroup from instana_client.models.api_create_role import ApiCreateRole from instana_client.models.api_group import ApiGroup +from instana_client.models.api_log_item import ApiLogItem +from instana_client.models.api_log_tag import ApiLogTag from instana_client.models.api_member import ApiMember from instana_client.models.api_permission_set import ApiPermissionSet from instana_client.models.api_restricted_application_filter import ApiRestrictedApplicationFilter @@ -102,6 +106,8 @@ from instana_client.models.correction_scheduling import CorrectionScheduling from instana_client.models.correction_window import CorrectionWindow from instana_client.models.crash_mobile_app_alert_rule import CrashMobileAppAlertRule +from instana_client.models.create_evaluation_request import CreateEvaluationRequest +from instana_client.models.create_evaluation_response import CreateEvaluationResponse from instana_client.models.create_website_request_inner import CreateWebsiteRequestInner from instana_client.models.cursor_paginated_business_activity_item import CursorPaginatedBusinessActivityItem from instana_client.models.cursor_pagination import CursorPagination @@ -124,6 +130,7 @@ from instana_client.models.custom_payload_with_last_updated import CustomPayloadWithLastUpdated from instana_client.models.custom_payload_with_version import CustomPayloadWithVersion from instana_client.models.custom_tag import CustomTag +from instana_client.models.customer_email import CustomerEmail from instana_client.models.dns_configuration import DNSConfiguration from instana_client.models.dns_configuration_update import DNSConfigurationUpdate from instana_client.models.dns_filter_query_time import DNSFilterQueryTime @@ -151,17 +158,29 @@ from instana_client.models.entity_count_verification_rule import EntityCountVerificationRule from instana_client.models.entity_health_info import EntityHealthInfo from instana_client.models.entity_id import EntityId +from instana_client.models.entity_metric import EntityMetric +from instana_client.models.entity_metric_scope import EntityMetricScope from instana_client.models.entity_verification_rule import EntityVerificationRule from instana_client.models.error_budget_alert_rule import ErrorBudgetAlertRule from instana_client.models.errors_application_alert_rule import ErrorsApplicationAlertRule +from instana_client.models.evaluation_detail_response import EvaluationDetailResponse +from instana_client.models.evaluation_list_item import EvaluationListItem +from instana_client.models.evaluation_list_response import EvaluationListResponse +from instana_client.models.evaluator import Evaluator from instana_client.models.event import Event from instana_client.models.event_filtering_configuration import EventFilteringConfiguration from instana_client.models.event_result import EventResult from instana_client.models.event_specification_info import EventSpecificationInfo from instana_client.models.extended_service import ExtendedService from instana_client.models.failure_synthetic_alert_rule import FailureSyntheticAlertRule +from instana_client.models.filter_interface import FilterInterface from instana_client.models.fixed_http_path_segment_matching_rule import FixedHttpPathSegmentMatchingRule from instana_client.models.fixed_time_window import FixedTimeWindow +from instana_client.models.fleet_configuration import FleetConfiguration +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse +from instana_client.models.gateway_status_response import GatewayStatusResponse from instana_client.models.generic_infra_alert_rule import GenericInfraAlertRule from instana_client.models.geo_location_configuration import GeoLocationConfiguration from instana_client.models.geo_mapping_rule import GeoMappingRule @@ -266,7 +285,9 @@ from instana_client.models.log_volume_group import LogVolumeGroup from instana_client.models.log_volume_usage_item import LogVolumeUsageItem from instana_client.models.log_volume_usage_result import LogVolumeUsageResult +from instana_client.models.logs_api_response import LogsApiResponse from instana_client.models.logs_application_alert_rule import LogsApplicationAlertRule +from instana_client.models.logs_query import LogsQuery from instana_client.models.maintenance_config import MaintenanceConfig from instana_client.models.maintenance_config_scheduling import MaintenanceConfigScheduling from instana_client.models.maintenance_config_v2 import MaintenanceConfigV2 @@ -307,6 +328,7 @@ from instana_client.models.mobile_app_monitoring_metric_description import MobileAppMonitoringMetricDescription from instana_client.models.mobile_app_monitoring_metrics_configuration import MobileAppMonitoringMetricsConfiguration from instana_client.models.mobile_app_time_threshold import MobileAppTimeThreshold +from instana_client.models.mobile_slo_entity import MobileSloEntity from instana_client.models.model_field import ModelField from instana_client.models.monitored_entities_stats import MonitoredEntitiesStats from instana_client.models.monitoring_state import MonitoringState @@ -315,6 +337,7 @@ from instana_client.models.new_application_config import NewApplicationConfig from instana_client.models.new_business_perspective_config import NewBusinessPerspectiveConfig from instana_client.models.new_manual_service_config import NewManualServiceConfig +from instana_client.models.notification import Notification from instana_client.models.o_auth_config import OAuthConfig from instana_client.models.o_auth_integration import OAuthIntegration from instana_client.models.o_auth_token import OAuthToken @@ -339,6 +362,7 @@ from instana_client.models.prefix_object import PrefixObject from instana_client.models.problem import Problem from instana_client.models.prometheus_webhook_integration import PrometheusWebhookIntegration +from instana_client.models.rbac_restrictions import RbacRestrictions from instana_client.models.recurrent_maintenance_window import RecurrentMaintenanceWindow from instana_client.models.release import Release from instana_client.models.release_scope import ReleaseScope @@ -353,11 +377,13 @@ from instana_client.models.rule_with_threshold_mobile_app_alert_rule import RuleWithThresholdMobileAppAlertRule from instana_client.models.rule_with_threshold_website_alert_rule import RuleWithThresholdWebsiteAlertRule from instana_client.models.run_configuration import RunConfiguration +from instana_client.models.run_evaluation_response import RunEvaluationResponse from instana_client.models.slo_config_with_rbac_tag import SLOConfigWithRBACTag from instana_client.models.ssl_certificate_configuration import SSLCertificateConfiguration from instana_client.models.ssl_certificate_configuration_update import SSLCertificateConfigurationUpdate from instana_client.models.ssl_certificate_validation import SSLCertificateValidation from instana_client.models.salesforce_integration import SalesforceIntegration +from instana_client.models.sampling_metadata import SamplingMetadata from instana_client.models.saturation_blueprint_indicator import SaturationBlueprintIndicator from instana_client.models.scope_binding import ScopeBinding from instana_client.models.search_field_result import SearchFieldResult @@ -489,6 +515,7 @@ from instana_client.models.throughput_application_alert_rule import ThroughputApplicationAlertRule from instana_client.models.throughput_mobile_app_alert_rule import ThroughputMobileAppAlertRule from instana_client.models.throughput_website_alert_rule import ThroughputWebsiteAlertRule +from instana_client.models.time_config import TimeConfig from instana_client.models.time_frame import TimeFrame from instana_client.models.time_window import TimeWindow from instana_client.models.topology import Topology @@ -500,10 +527,13 @@ from instana_client.models.trace_impact_application_time_threshold import TraceImpactApplicationTimeThreshold from instana_client.models.trace_item import TraceItem from instana_client.models.trace_result import TraceResult +from instana_client.models.trace_sampling_config import TraceSamplingConfig from instana_client.models.traffic_blueprint_indicator import TrafficBlueprintIndicator from instana_client.models.trigger import Trigger from instana_client.models.type_configuration import TypeConfiguration from instana_client.models.unsupported_http_path_segment_matching_rule import UnsupportedHttpPathSegmentMatchingRule +from instana_client.models.update_evaluation_request import UpdateEvaluationRequest +from instana_client.models.update_fleet_configuration_request import UpdateFleetConfigurationRequest from instana_client.models.updated_business_perspective_config import UpdatedBusinessPerspectiveConfig from instana_client.models.usage_result import UsageResult from instana_client.models.usage_result_items import UsageResultItems @@ -557,3 +587,4 @@ from instana_client.models.with_meta_data import WithMetaData from instana_client.models.with_resolved_name import WithResolvedName from instana_client.models.z_chat_ops_integration import ZChatOpsIntegration + diff --git a/instana_client/models/abstract_integration.py b/instana_client/models/abstract_integration.py index c81d7b3d..95c5a67f 100644 --- a/instana_client/models/abstract_integration.py +++ b/instana_client/models/abstract_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -58,7 +59,8 @@ class AbstractIntegration(BaseModel): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -87,8 +89,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[BidirectionalMsTeamsAppIntegration, BidirectionalSlackAppIntegration, EmailIntegration, GoogleChatIntegration, NS1Integration, Office365Integration, OpsgenieIntegration, PagerdutyIntegration, PrometheusWebhookIntegration, SalesforceIntegration, ServiceNowEnhancedIntegration, ServiceNowIntegration, SlackIntegration, SplunkIntegration, VictorOpsIntegration, WatsonAIOpsWebhookIntegration, WebexTeamsWebhookIntegration, WebhookIntegration, ZChatOpsIntegration]]: diff --git a/instana_client/models/abstract_rule.py b/instana_client/models/abstract_rule.py index 948f8ba0..2c088270 100644 --- a/instana_client/models/abstract_rule.py +++ b/instana_client/models/abstract_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -42,7 +43,8 @@ class AbstractRule(BaseModel): __properties: ClassVar[List[str]] = ["ruleType", "severity"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -71,8 +73,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[EntityCountRule, EntityCountVerificationRule, EntityVerificationRule, HostAvailabilityRule, SystemRule, ThresholdRule]]: diff --git a/instana_client/models/access_rule.py b/instana_client/models/access_rule.py index af57c26f..aa03c20b 100644 --- a/instana_client/models/access_rule.py +++ b/instana_client/models/access_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AccessRule(BaseModel): """ @@ -48,7 +49,8 @@ def relation_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if related_id (nullable) is None + # and model_fields_set contains the field + if self.related_id is None and "related_id" in self.model_fields_set: + _dict['relatedId'] = None + return _dict @classmethod diff --git a/instana_client/models/action.py b/instana_client/models/action.py index 6c9a6467..57bdd6fc 100644 --- a/instana_client/models/action.py +++ b/instana_client/models/action.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.parameter import Parameter from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Action(BaseModel): """ @@ -52,7 +53,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -64,8 +66,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_beacon.py b/instana_client/models/action_beacon.py index 7be91499..b1e76e7d 100644 --- a/instana_client/models/action_beacon.py +++ b/instana_client/models/action_beacon.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,32 +22,34 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionBeacon(BaseModel): """ List of action beacons for the current page """ # noqa: E501 - app_state: Optional[StrictStr] = Field(default=None, description="Application state (e.g., foreground, background)", alias="appState") - beacon_clockskew: Optional[StrictInt] = Field(default=None, description="Clock skew in milliseconds between client and server", alias="beaconClockskew") - beacon_id: StrictStr = Field(description="Beacon identifier", alias="beaconId") - beacon_type: StrictStr = Field(description="Type of beacon", alias="beaconType") - bytes_ingested_metadata: Optional[StrictInt] = Field(default=None, description="Bytes ingested for metadata", alias="bytesIngestedMetadata") - event_type: Optional[StrictStr] = Field(default=None, description="Event type (e.g., st=start, fs=frustration signal, oc=orientation change)", alias="eventType") - frustration_signal: Optional[StrictStr] = Field(default=None, description="Frustration signal type (e.g., rt=rage tap)", alias="frustrationSignal") + app_state: Optional[StrictStr] = Field(default=None, description="Application state (e.g., foreground, background)", alias="appState", json_schema_extra={"examples": ["foreground"]}) + beacon_clockskew: Optional[StrictInt] = Field(default=None, description="Clock skew in milliseconds between client and server", alias="beaconClockskew", json_schema_extra={"examples": [1234]}) + beacon_id: StrictStr = Field(description="Beacon identifier", alias="beaconId", json_schema_extra={"examples": ["beacon-123"]}) + beacon_type: StrictStr = Field(description="Type of beacon", alias="beaconType", json_schema_extra={"examples": ["ued"]}) + bytes_ingested_metadata: Optional[StrictInt] = Field(default=None, description="Bytes ingested for metadata", alias="bytesIngestedMetadata", json_schema_extra={"examples": [1024]}) + event_type: Optional[StrictStr] = Field(default=None, description="Event type (e.g., st=start, fs=frustration signal, oc=orientation change)", alias="eventType", json_schema_extra={"examples": ["st"]}) + frustration_signal: Optional[StrictStr] = Field(default=None, description="Frustration signal type (e.g., rt=rage tap)", alias="frustrationSignal", json_schema_extra={"examples": ["rt"]}) keyboard_operation: Optional[StrictStr] = Field(default=None, description="Keyboard operation indicator", alias="keyboardOperation") - mobile_app_id: StrictStr = Field(description="Mobile app identifier", alias="mobileAppId") - orientation_change: Optional[StrictStr] = Field(default=None, description="Orientation change indicator (l=landscape, p=portrait)", alias="orientationChange") + mobile_app_id: StrictStr = Field(description="Mobile app identifier", alias="mobileAppId", json_schema_extra={"examples": ["KVJIyIPsTUGfvNORN_07uQ"]}) + orientation_change: Optional[StrictStr] = Field(default=None, description="Orientation change indicator (l=landscape, p=portrait)", alias="orientationChange", json_schema_extra={"examples": ["l"]}) scroll_direction: Optional[StrictStr] = Field(default=None, description="Scroll direction", alias="scrollDirection") scroll_duration: Optional[StrictStr] = Field(default=None, description="Scroll duration in milliseconds", alias="scrollDuration") - session_id: StrictStr = Field(description="Session identifier", alias="sessionId") - session_replay_version: Optional[StrictStr] = Field(default=None, description="Session replay version", alias="sessionReplayVersion") - timestamp: StrictInt = Field(description="Timestamp when the action was captured (epoch milliseconds)") - view_component_class_name: Optional[StrictStr] = Field(default=None, description="View component class name", alias="viewComponentClassName") - view_component_id: Optional[StrictStr] = Field(default=None, description="View component identifier", alias="viewComponentId") + session_id: StrictStr = Field(description="Session identifier", alias="sessionId", json_schema_extra={"examples": ["24c6c1d4-161f-4243-85eb-3d0f46edbcbf"]}) + session_replay_version: Optional[StrictStr] = Field(default=None, description="Session replay version", alias="sessionReplayVersion", json_schema_extra={"examples": ["0.0.1"]}) + timestamp: StrictInt = Field(description="Timestamp when the action was captured (epoch milliseconds)", json_schema_extra={"examples": [1757339999715]}) + view_component_class_name: Optional[StrictStr] = Field(default=None, description="View component class name", alias="viewComponentClassName", json_schema_extra={"examples": ["MaterialButton"]}) + view_component_id: Optional[StrictStr] = Field(default=None, description="View component identifier", alias="viewComponentId", json_schema_extra={"examples": ["resetDirectory"]}) __properties: ClassVar[List[str]] = ["appState", "beaconClockskew", "beaconId", "beaconType", "bytesIngestedMetadata", "eventType", "frustrationSignal", "keyboardOperation", "mobileAppId", "orientationChange", "scrollDirection", "scrollDuration", "sessionId", "sessionReplayVersion", "timestamp", "viewComponentClassName", "viewComponentId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_configuration.py b/instana_client/models/action_configuration.py index b64cc7b9..1735ab4c 100644 --- a/instana_client/models/action_configuration.py +++ b/instana_client/models/action_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -21,9 +21,11 @@ from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from instana_client.models.action import Action +from instana_client.models.notification import Notification from instana_client.models.parameter_value import ParameterValue from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionConfiguration(BaseModel): """ @@ -32,10 +34,12 @@ class ActionConfiguration(BaseModel): action: Action agent_id: Optional[StrictStr] = Field(default=None, description="Identifier of the agent host on which to run the action.", alias="agentId") input_parameter_values: Optional[List[ParameterValue]] = Field(default=None, description="List of action input parameters.", alias="inputParameterValues") - __properties: ClassVar[List[str]] = ["action", "agentId", "inputParameterValues"] + notifications: Optional[List[Notification]] = Field(default=None, description="Optional notifications configuration for action execution events. Each notification specifies a condition (started, fail, success) and associated alert channels.") + __properties: ClassVar[List[str]] = ["action", "agentId", "inputParameterValues", "notifications"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +86,13 @@ def to_dict(self) -> Dict[str, Any]: if _item_input_parameter_values: _items.append(_item_input_parameter_values.to_dict()) _dict['inputParameterValues'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item_notifications in self.notifications: + if _item_notifications: + _items.append(_item_notifications.to_dict()) + _dict['notifications'] = _items return _dict @classmethod @@ -97,7 +107,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "action": Action.from_dict(obj["action"]) if obj.get("action") is not None else None, "agentId": obj.get("agentId"), - "inputParameterValues": [ParameterValue.from_dict(_item) for _item in obj["inputParameterValues"]] if obj.get("inputParameterValues") is not None else None + "inputParameterValues": [ParameterValue.from_dict(_item) for _item in obj["inputParameterValues"]] if obj.get("inputParameterValues") is not None else None, + "notifications": [Notification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None }) return _obj diff --git a/instana_client/models/action_instance.py b/instana_client/models/action_instance.py index 8f2e0e00..9fbe03df 100644 --- a/instana_client/models/action_instance.py +++ b/instana_client/models/action_instance.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.action_instance_parameter import ActionInstanceParameter from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionInstance(BaseModel): """ @@ -38,6 +39,7 @@ class ActionInstance(BaseModel): actor_id: Optional[StrictStr] = Field(default=None, description="User identifier, API token or the policy identifier that started the action run.", alias="actorId") actor_name: Optional[StrictStr] = Field(default=None, description="Name of the user, API token or the policy that started the action run.", alias="actorName") actor_type: Optional[StrictStr] = Field(default=None, description="Type of Actor. Valid values are listed in the enum definition.", alias="actorType") + client_id: Optional[StrictStr] = Field(default=None, description="Client ID (tenant key) where the action instance is stored.", alias="clientId") created_date: Optional[StrictInt] = Field(default=None, description="Action run created timestamp. The timestamp at which the action run got submitted.", alias="createdDate") end_date: Optional[StrictInt] = Field(default=None, description="Action run end timestamp. The timestamp at which the action run ended on the agent host.", alias="endDate") error_message: Optional[StrictStr] = Field(default=None, description="Error message, if any, of action run on the agent host.", alias="errorMessage") @@ -48,6 +50,7 @@ class ActionInstance(BaseModel): host_snapshot_id: Optional[StrictStr] = Field(default=None, description="Host snapshot identifier of the agent on which the action ran.", alias="hostSnapshotId") input_parameters: Optional[List[ActionInstanceParameter]] = Field(default=None, description="List of input parameters to this action run.", alias="inputParameters") metadata: Optional[List[ActionInstanceMetadataEntry]] = Field(default=None, description="List of metadata parameters set to this action run by sensors.") + originator_client_id: Optional[StrictStr] = Field(default=None, description="Client ID (tenant key) where the action/policy was executed from.", alias="originatorClientId") output: Optional[StrictStr] = Field(default=None, description="Action run output.") policy_id: Optional[StrictStr] = Field(default=None, description="Identifier of the policy that triggered this action run.", alias="policyId") problem_text: Optional[StrictStr] = Field(default=None, description="Event problem text of the event that triggered this action run.", alias="problemText") @@ -56,7 +59,7 @@ class ActionInstance(BaseModel): status: Optional[StrictStr] = Field(default=None, description="Action run status. Valid values are listed in the enum definition.") target_snapshot_id: Optional[StrictStr] = Field(default=None, description="Action target entity identifier set in the event that triggered this action run. This is the identifier of the entity on which an incident or issue was raised.", alias="targetSnapshotId") type: StrictStr = Field(description="Action type. Valid values are listed in the enum definition.") - __properties: ClassVar[List[str]] = ["actionDescription", "actionId", "actionInstanceId", "actionName", "actionSnapshot", "actorId", "actorName", "actorType", "createdDate", "endDate", "errorMessage", "eventEntityType", "eventId", "eventSpecificationId", "externalSourceType", "hostSnapshotId", "inputParameters", "metadata", "output", "policyId", "problemText", "returnCode", "startDate", "status", "targetSnapshotId", "type"] + __properties: ClassVar[List[str]] = ["actionDescription", "actionId", "actionInstanceId", "actionName", "actionSnapshot", "actorId", "actorName", "actorType", "clientId", "createdDate", "endDate", "errorMessage", "eventEntityType", "eventId", "eventSpecificationId", "externalSourceType", "hostSnapshotId", "inputParameters", "metadata", "originatorClientId", "output", "policyId", "problemText", "returnCode", "startDate", "status", "targetSnapshotId", "type"] @field_validator('actor_type') def actor_type_validate_enum(cls, value): @@ -86,7 +89,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -98,8 +102,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -117,10 +120,14 @@ def to_dict(self) -> Dict[str, Any]: 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([ "action_instance_id", "action_snapshot", + "client_id", + "originator_client_id", ]) _dict = self.model_dump( @@ -162,6 +169,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "actorId": obj.get("actorId"), "actorName": obj.get("actorName"), "actorType": obj.get("actorType"), + "clientId": obj.get("clientId"), "createdDate": obj.get("createdDate"), "endDate": obj.get("endDate"), "errorMessage": obj.get("errorMessage"), @@ -172,6 +180,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "hostSnapshotId": obj.get("hostSnapshotId"), "inputParameters": [ActionInstanceParameter.from_dict(_item) for _item in obj["inputParameters"]] if obj.get("inputParameters") is not None else None, "metadata": [ActionInstanceMetadataEntry.from_dict(_item) for _item in obj["metadata"]] if obj.get("metadata") is not None else None, + "originatorClientId": obj.get("originatorClientId"), "output": obj.get("output"), "policyId": obj.get("policyId"), "problemText": obj.get("problemText"), diff --git a/instana_client/models/action_instance_metadata_entry.py b/instana_client/models/action_instance_metadata_entry.py index 4b3d51ab..76ef81b8 100644 --- a/instana_client/models/action_instance_metadata_entry.py +++ b/instana_client/models/action_instance_metadata_entry.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionInstanceMetadataEntry(BaseModel): """ @@ -33,7 +34,8 @@ class ActionInstanceMetadataEntry(BaseModel): __properties: ClassVar[List[str]] = ["name", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_instance_parameter.py b/instana_client/models/action_instance_parameter.py index 04a5282b..c72d4d83 100644 --- a/instana_client/models/action_instance_parameter.py +++ b/instana_client/models/action_instance_parameter.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionInstanceParameter(BaseModel): """ @@ -35,7 +36,8 @@ class ActionInstanceParameter(BaseModel): __properties: ClassVar[List[str]] = ["displayName", "name", "type", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_instance_request.py b/instana_client/models/action_instance_request.py index 14d40840..ef0f5a29 100644 --- a/instana_client/models/action_instance_request.py +++ b/instana_client/models/action_instance_request.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.action_instance_request_parameters import ActionInstanceRequestParameters from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionInstanceRequest(BaseModel): """ @@ -38,7 +39,8 @@ class ActionInstanceRequest(BaseModel): __properties: ClassVar[List[str]] = ["actionId", "async", "eventId", "hostId", "inputParameters", "policyId", "timeout"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_instance_request_parameters.py b/instana_client/models/action_instance_request_parameters.py index 655e942b..549d5537 100644 --- a/instana_client/models/action_instance_request_parameters.py +++ b/instana_client/models/action_instance_request_parameters.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionInstanceRequestParameters(BaseModel): """ @@ -33,7 +34,8 @@ class ActionInstanceRequestParameters(BaseModel): __properties: ClassVar[List[str]] = ["name", "type", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_match.py b/instana_client/models/action_match.py index 2601a00b..4ea9efe7 100644 --- a/instana_client/models/action_match.py +++ b/instana_client/models/action_match.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.policy import Policy from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionMatch(BaseModel): """ @@ -47,7 +48,8 @@ def ai_engine_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/action_search_space.py b/instana_client/models/action_search_space.py index 9986c76d..1915d986 100644 --- a/instana_client/models/action_search_space.py +++ b/instana_client/models/action_search_space.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ActionSearchSpace(BaseModel): """ @@ -35,7 +36,8 @@ class ActionSearchSpace(BaseModel): __properties: ClassVar[List[str]] = ["description", "entityType", "eventId", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/adaptive_baseline.py b/instana_client/models/adaptive_baseline.py index f7966046..62ff317b 100644 --- a/instana_client/models/adaptive_baseline.py +++ b/instana_client/models/adaptive_baseline.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,16 +24,18 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AdaptiveBaseline(Threshold): """ AdaptiveBaseline """ # noqa: E501 - deviation_factor: Optional[Union[Annotated[float, Field(le=16.0, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") + deviation_factor: Optional[Union[Annotated[float, Field(le=16, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") __properties: ClassVar[List[str]] = ["operator", "type", "deviationFactor"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/adaptive_threshold_rule.py b/instana_client/models/adaptive_threshold_rule.py index 84fe9ee7..41c2f8b9 100644 --- a/instana_client/models/adaptive_threshold_rule.py +++ b/instana_client/models/adaptive_threshold_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,16 +24,18 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AdaptiveThresholdRule(ThresholdConfigRule): """ AdaptiveThresholdRule """ # noqa: E501 - deviation_factor: Optional[Union[Annotated[float, Field(le=16.0, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") + deviation_factor: Optional[Union[Annotated[float, Field(le=16, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") __properties: ClassVar[List[str]] = ["type", "deviationFactor"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/adjusted_timeframe.py b/instana_client/models/adjusted_timeframe.py index 6aeb99e0..cfefa6aa 100644 --- a/instana_client/models/adjusted_timeframe.py +++ b/instana_client/models/adjusted_timeframe.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AdjustedTimeframe(BaseModel): """ @@ -33,7 +34,8 @@ class AdjustedTimeframe(BaseModel): __properties: ClassVar[List[str]] = ["to", "windowSize"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/advanced_custom_blueprint_indicator.py b/instana_client/models/advanced_custom_blueprint_indicator.py new file mode 100644 index 00000000..3cd940ea --- /dev/null +++ b/instana_client/models/advanced_custom_blueprint_indicator.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from instana_client.models.advanced_filter import AdvancedFilter +from instana_client.models.service_level_indicator import ServiceLevelIndicator +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AdvancedCustomBlueprintIndicator(ServiceLevelIndicator): + """ + AdvancedCustomBlueprintIndicator + """ # noqa: E501 + bad_events: Optional[AdvancedFilter] = Field(default=None, alias="badEvents") + good_events: AdvancedFilter = Field(alias="goodEvents") + __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "badEvents", "goodEvents"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdvancedCustomBlueprintIndicator 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 bad_events + if self.bad_events: + _dict['badEvents'] = self.bad_events.to_dict() + # override the default output from pydantic by calling `to_dict()` of good_events + if self.good_events: + _dict['goodEvents'] = self.good_events.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AdvancedCustomBlueprintIndicator from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aggregation": obj.get("aggregation"), + "blueprint": obj.get("blueprint"), + "operator": obj.get("operator"), + "serviceLevelsMeasurement": obj.get("serviceLevelsMeasurement"), + "threshold": obj.get("threshold"), + "type": obj.get("type"), + "badEvents": AdvancedFilter.from_dict(obj["badEvents"]) if obj.get("badEvents") is not None else None, + "goodEvents": AdvancedFilter.from_dict(obj["goodEvents"]) if obj.get("goodEvents") is not None else None + }) + return _obj + + diff --git a/instana_client/models/advanced_filter.py b/instana_client/models/advanced_filter.py new file mode 100644 index 00000000..76d9278b --- /dev/null +++ b/instana_client/models/advanced_filter.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Union +from instana_client.models.entity_metric import EntityMetric +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AdvancedFilter(BaseModel): + """ + AdvancedFilter + """ # noqa: E501 + aggregation: StrictStr + metric: EntityMetric + operator: StrictStr + threshold: Union[StrictFloat, StrictInt] + __properties: ClassVar[List[str]] = ["aggregation", "metric", "operator", "threshold"] + + @field_validator('aggregation') + def aggregation_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['SUM', 'MEAN', 'MAX', 'MIN', 'P25', 'P50', 'P75', 'P90', 'P95', 'P98', 'P99', 'P99_9', 'P99_99', 'DISTINCT_COUNT', 'SUM_POSITIVE', 'PER_SECOND', 'INCREASE']): + raise ValueError("must be one of enum values ('SUM', 'MEAN', 'MAX', 'MIN', 'P25', 'P50', 'P75', 'P90', 'P95', 'P98', 'P99', 'P99_9', 'P99_99', 'DISTINCT_COUNT', 'SUM_POSITIVE', 'PER_SECOND', 'INCREASE')") + return value + + @field_validator('operator') + def operator_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['>', '>=', '<', '<=']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + return value + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AdvancedFilter 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 metric + if self.metric: + _dict['metric'] = self.metric.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AdvancedFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aggregation": obj.get("aggregation"), + "metric": EntityMetric.from_dict(obj["metric"]) if obj.get("metric") is not None else None, + "operator": obj.get("operator"), + "threshold": obj.get("threshold") + }) + return _obj + + diff --git a/instana_client/models/agent_configuration_update.py b/instana_client/models/agent_configuration_update.py index a24367a9..c9a9b67e 100644 --- a/instana_client/models/agent_configuration_update.py +++ b/instana_client/models/agent_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AgentConfigurationUpdate(BaseModel): """ @@ -34,7 +35,8 @@ class AgentConfigurationUpdate(BaseModel): __properties: ClassVar[List[str]] = ["remoteBranch", "remoteName", "remoteUri"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/agent_mode_update.py b/instana_client/models/agent_mode_update.py index 309df998..44e207e8 100644 --- a/instana_client/models/agent_mode_update.py +++ b/instana_client/models/agent_mode_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AgentModeUpdate(BaseModel): """ @@ -32,15 +33,16 @@ class AgentModeUpdate(BaseModel): mode_as_integer: Optional[StrictInt] = Field(default=None, alias="modeAsInteger") __properties: ClassVar[List[str]] = ["agent-mode", "modeAsInteger"] - @field_validator('agent_mode') + @field_validator('agent_mode', mode="before") def agent_mode_validate_regular_expression(cls, value): """Validates the regular expression""" - if not re.match(r"APM|INFRASTRUCTURE|INFRA|OFF", value): + if isinstance(value, str) and not re.match(r"APM|INFRASTRUCTURE|INFRA|OFF", value): raise ValueError(r"must validate the regular expression /APM|INFRASTRUCTURE|INFRA|OFF/") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/alerting_configuration.py b/instana_client/models/alerting_configuration.py index 9e9f5e05..2baf0870 100644 --- a/instana_client/models/alerting_configuration.py +++ b/instana_client/models/alerting_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.event_filtering_configuration import EventFilteringConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AlertingConfiguration(BaseModel): """ @@ -40,7 +41,8 @@ class AlertingConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["alertName", "customPayloadFields", "eventFilteringConfiguration", "id", "includeEntityNameInLegacyAlerts", "integrationIds", "muteUntil"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/alerting_configuration_with_last_updated.py b/instana_client/models/alerting_configuration_with_last_updated.py index 01c6cbe6..93578260 100644 --- a/instana_client/models/alerting_configuration_with_last_updated.py +++ b/instana_client/models/alerting_configuration_with_last_updated.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.event_filtering_configuration import EventFilteringConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AlertingConfigurationWithLastUpdated(BaseModel): """ @@ -41,7 +42,8 @@ class AlertingConfigurationWithLastUpdated(BaseModel): __properties: ClassVar[List[str]] = ["alertName", "customPayloadFields", "eventFilteringConfiguration", "id", "includeEntityNameInLegacyAlerts", "integrationIds", "lastUpdated", "muteUntil"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/alerting_time_window.py b/instana_client/models/alerting_time_window.py index eb624559..2d2c19ed 100644 --- a/instana_client/models/alerting_time_window.py +++ b/instana_client/models/alerting_time_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AlertingTimeWindow(BaseModel): """ @@ -50,7 +51,8 @@ def duration_unit_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -62,8 +64,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/apdex_alert_rule.py b/instana_client/models/apdex_alert_rule.py index 25e1e03b..de5cd773 100644 --- a/instana_client/models/apdex_alert_rule.py +++ b/instana_client/models/apdex_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.service_levels_alert_rule import ServiceLevelsAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApdexAlertRule(ServiceLevelsAlertRule): """ @@ -39,7 +40,8 @@ def metric_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/apdex_config_with_rbac_tag.py b/instana_client/models/apdex_config_with_rbac_tag.py new file mode 100644 index 00000000..4a1c3cd8 --- /dev/null +++ b/instana_client/models/apdex_config_with_rbac_tag.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 typing_extensions import Annotated +from instana_client.models.apdex_entity import ApdexEntity +from instana_client.models.api_tag import ApiTag +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ApdexConfigWithRBACTag(BaseModel): + """ + ApdexConfigWithRBACTag + """ # noqa: E501 + apdex_entity: ApdexEntity = Field(alias="apdexEntity") + apdex_name: Annotated[str, Field(min_length=0, strict=True, max_length=256)] = Field(alias="apdexName") + created_at: Optional[StrictInt] = Field(default=None, description="Created date of Apdex Configuration (Unix timestamp in milliseconds)", alias="createdAt") + id: Annotated[str, Field(min_length=0, strict=True, max_length=64)] = Field(description="Apdex Configuration ID") + last_updated: Optional[StrictInt] = Field(default=None, description="Last updated date of Apdex Configuration (Unix timestamp in milliseconds)", alias="lastUpdated") + rbac_tags: Optional[List[ApiTag]] = Field(default=None, alias="rbacTags") + tags: Optional[List[StrictStr]] = Field(default=None, description="List of tags associated with Apdex Configuration") + __properties: ClassVar[List[str]] = ["apdexEntity", "apdexName", "createdAt", "id", "lastUpdated", "rbacTags", "tags"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ApdexConfigWithRBACTag 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 apdex_entity + if self.apdex_entity: + _dict['apdexEntity'] = self.apdex_entity.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in rbac_tags (list) + _items = [] + if self.rbac_tags: + for _item_rbac_tags in self.rbac_tags: + if _item_rbac_tags: + _items.append(_item_rbac_tags.to_dict()) + _dict['rbacTags'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ApdexConfigWithRBACTag from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apdexEntity": ApdexEntity.from_dict(obj["apdexEntity"]) if obj.get("apdexEntity") is not None else None, + "apdexName": obj.get("apdexName"), + "createdAt": obj.get("createdAt"), + "id": obj.get("id"), + "lastUpdated": obj.get("lastUpdated"), + "rbacTags": [ApiTag.from_dict(_item) for _item in obj["rbacTags"]] if obj.get("rbacTags") is not None else None, + "tags": obj.get("tags") + }) + return _obj + + diff --git a/instana_client/models/apdex_configuration.py b/instana_client/models/apdex_configuration.py index 8d74b0f0..e26bc92a 100644 --- a/instana_client/models/apdex_configuration.py +++ b/instana_client/models/apdex_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.apdex_entity import ApdexEntity from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApdexConfiguration(BaseModel): """ @@ -38,7 +39,8 @@ class ApdexConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["apdexEntity", "apdexName", "createdAt", "id", "lastUpdated", "tags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/apdex_configuration_input.py b/instana_client/models/apdex_configuration_input.py index cd82f1ee..71242443 100644 --- a/instana_client/models/apdex_configuration_input.py +++ b/instana_client/models/apdex_configuration_input.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.apdex_entity import ApdexEntity from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApdexConfigurationInput(BaseModel): """ @@ -35,7 +36,8 @@ class ApdexConfigurationInput(BaseModel): __properties: ClassVar[List[str]] = ["apdexEntity", "apdexName", "tags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/apdex_entity.py b/instana_client/models/apdex_entity.py index 8d60332a..496b8d89 100644 --- a/instana_client/models/apdex_entity.py +++ b/instana_client/models/apdex_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -37,12 +38,13 @@ class ApdexEntity(BaseModel): """ # noqa: E501 apdex_type: StrictStr = Field(alias="apdexType") entity_id: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="entityId") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Annotated[int, Field(strict=True, ge=1)]] = None __properties: ClassVar[List[str]] = ["apdexType", "entityId", "tagFilterExpression", "threshold"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -71,8 +73,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ApplicationApdexEntity, WebsiteApdexEntity]]: @@ -100,6 +101,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/apdex_level.py b/instana_client/models/apdex_level.py index f21e4a1b..9b748079 100644 --- a/instana_client/models/apdex_level.py +++ b/instana_client/models/apdex_level.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,19 +22,21 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApdexLevel(BaseModel): """ Apdex satisfaction level definition with threshold boundaries """ # noqa: E501 - id: Optional[StrictInt] = Field(default=None, description="Unique identifier for the level") - lower: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Lower threshold boundary (inclusive)") - name: Optional[StrictStr] = Field(default=None, description="Name of the satisfaction level") - upper: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Upper threshold boundary (inclusive)") + id: Optional[StrictInt] = Field(default=None, description="Unique identifier for the level", json_schema_extra={"examples": [0]}) + lower: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Lower threshold boundary (inclusive)", json_schema_extra={"examples": [0.94]}) + name: Optional[StrictStr] = Field(default=None, description="Name of the satisfaction level", json_schema_extra={"examples": ["Excellent"]}) + upper: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Upper threshold boundary (inclusive)", json_schema_extra={"examples": [1]}) __properties: ClassVar[List[str]] = ["id", "lower", "name", "upper"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/apdex_report.py b/instana_client/models/apdex_report.py index 43ebc7d7..9159cfd8 100644 --- a/instana_client/models/apdex_report.py +++ b/instana_client/models/apdex_report.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApdexReport(BaseModel): """ @@ -34,7 +35,8 @@ class ApdexReport(BaseModel): __properties: ClassVar[List[str]] = ["apdexId", "apdexScore", "from", "to"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_create_group.py b/instana_client/models/api_create_group.py index d7d55b50..ee6ac9c3 100644 --- a/instana_client/models/api_create_group.py +++ b/instana_client/models/api_create_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.api_permission_set import ApiPermissionSet from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiCreateGroup(BaseModel): """ @@ -37,7 +38,8 @@ class ApiCreateGroup(BaseModel): __properties: ClassVar[List[str]] = ["description", "members", "name", "permissionSet"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -85,6 +86,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of permission_set if self.permission_set: _dict['permissionSet'] = self.permission_set.to_dict() + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + return _dict @classmethod diff --git a/instana_client/models/api_create_role.py b/instana_client/models/api_create_role.py index 7b5f4f8c..7274de15 100644 --- a/instana_client/models/api_create_role.py +++ b/instana_client/models/api_create_role.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.api_member import ApiMember from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiCreateRole(BaseModel): """ @@ -36,7 +37,8 @@ class ApiCreateRole(BaseModel): __properties: ClassVar[List[str]] = ["description", "members", "name", "permissions"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -81,6 +82,21 @@ def to_dict(self) -> Dict[str, Any]: if _item_members: _items.append(_item_members.to_dict()) _dict['members'] = _items + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if members (nullable) is None + # and model_fields_set contains the field + if self.members is None and "members" in self.model_fields_set: + _dict['members'] = None + + # set to None if permissions (nullable) is None + # and model_fields_set contains the field + if self.permissions is None and "permissions" in self.model_fields_set: + _dict['permissions'] = None + return _dict @classmethod diff --git a/instana_client/models/api_group.py b/instana_client/models/api_group.py index b9c0f4eb..11ef315d 100644 --- a/instana_client/models/api_group.py +++ b/instana_client/models/api_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.api_permission_set import ApiPermissionSet from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiGroup(BaseModel): """ @@ -38,7 +39,8 @@ class ApiGroup(BaseModel): __properties: ClassVar[List[str]] = ["description", "id", "members", "name", "permissionSet"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of permission_set if self.permission_set: _dict['permissionSet'] = self.permission_set.to_dict() + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + return _dict @classmethod diff --git a/instana_client/models/api_log_item.py b/instana_client/models/api_log_item.py new file mode 100644 index 00000000..b66af31f --- /dev/null +++ b/instana_client/models/api_log_item.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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_extensions import Annotated +from instana_client.models.api_log_tag import ApiLogTag +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ApiLogItem(BaseModel): + """ + ApiLogItem + """ # noqa: E501 + aws_ecs_container_id: Optional[StrictStr] = Field(default=None, alias="aws.ecs.containerId") + aws_ecs_container_name: Optional[StrictStr] = Field(default=None, alias="aws.ecs.containerName") + containerd_container_id: Optional[StrictStr] = Field(default=None, alias="containerd.containerId") + crio_container_id: Optional[StrictStr] = Field(default=None, alias="crio.containerId") + docker_container_id: Optional[StrictStr] = Field(default=None, alias="docker.containerId") + docker_container_name: Optional[StrictStr] = Field(default=None, alias="docker.containerName") + garden_container_id: Optional[StrictStr] = Field(default=None, alias="garden.containerId") + kubernetes_cluster_name: Optional[StrictStr] = Field(default=None, alias="kubernetes.cluster.name") + kubernetes_container_name: Optional[StrictStr] = Field(default=None, alias="kubernetes.container.name") + kubernetes_deployment_name: Optional[StrictStr] = Field(default=None, alias="kubernetes.deployment.name") + kubernetes_namespace_name: Optional[StrictStr] = Field(default=None, alias="kubernetes.namespace.name") + kubernetes_node_name: Optional[StrictStr] = Field(default=None, alias="kubernetes.node.name") + kubernetes_pod_name: Optional[StrictStr] = Field(default=None, alias="kubernetes.pod.name") + log_applications: Optional[List[StrictStr]] = Field(default=None, alias="log.applications") + log_custom: Optional[List[ApiLogTag]] = Field(default=None, alias="log.custom") + log_exception_message: Optional[StrictStr] = Field(default=None, alias="log.exception.message") + log_exception_stack_trace: Optional[StrictStr] = Field(default=None, alias="log.exception.stackTrace") + log_exception_type: Optional[StrictStr] = Field(default=None, alias="log.exception.type") + log_expiration_ts_seconds: Optional[StrictStr] = Field(default=None, alias="log.expiration.ts.seconds") + log_file_path: Optional[StrictStr] = Field(default=None, alias="log.file.path") + log_host_id: Optional[StrictStr] = Field(default=None, alias="log.hostId") + log_host_name: Optional[StrictStr] = Field(default=None, alias="log.hostName") + log_level: Optional[StrictStr] = Field(default=None, alias="log.level") + log_message: Optional[StrictStr] = Field(default=None, alias="log.message") + log_process_id: Optional[StrictStr] = Field(default=None, alias="log.processId") + log_service_id: Optional[StrictStr] = Field(default=None, alias="log.serviceId") + log_service_name: Optional[StrictStr] = Field(default=None, alias="log.serviceName") + log_stream_name: Optional[StrictStr] = Field(default=None, alias="log.streamName") + log_timestamp: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="log.timestamp") + log_trace_id: Optional[StrictStr] = Field(default=None, alias="log.traceId") + __properties: ClassVar[List[str]] = ["aws.ecs.containerId", "aws.ecs.containerName", "containerd.containerId", "crio.containerId", "docker.containerId", "docker.containerName", "garden.containerId", "kubernetes.cluster.name", "kubernetes.container.name", "kubernetes.deployment.name", "kubernetes.namespace.name", "kubernetes.node.name", "kubernetes.pod.name", "log.applications", "log.custom", "log.exception.message", "log.exception.stackTrace", "log.exception.type", "log.expiration.ts.seconds", "log.file.path", "log.hostId", "log.hostName", "log.level", "log.message", "log.processId", "log.serviceId", "log.serviceName", "log.streamName", "log.timestamp", "log.traceId"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ApiLogItem 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 log_custom (list) + _items = [] + if self.log_custom: + for _item_log_custom in self.log_custom: + if _item_log_custom: + _items.append(_item_log_custom.to_dict()) + _dict['log.custom'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ApiLogItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aws.ecs.containerId": obj.get("aws.ecs.containerId"), + "aws.ecs.containerName": obj.get("aws.ecs.containerName"), + "containerd.containerId": obj.get("containerd.containerId"), + "crio.containerId": obj.get("crio.containerId"), + "docker.containerId": obj.get("docker.containerId"), + "docker.containerName": obj.get("docker.containerName"), + "garden.containerId": obj.get("garden.containerId"), + "kubernetes.cluster.name": obj.get("kubernetes.cluster.name"), + "kubernetes.container.name": obj.get("kubernetes.container.name"), + "kubernetes.deployment.name": obj.get("kubernetes.deployment.name"), + "kubernetes.namespace.name": obj.get("kubernetes.namespace.name"), + "kubernetes.node.name": obj.get("kubernetes.node.name"), + "kubernetes.pod.name": obj.get("kubernetes.pod.name"), + "log.applications": obj.get("log.applications"), + "log.custom": [ApiLogTag.from_dict(_item) for _item in obj["log.custom"]] if obj.get("log.custom") is not None else None, + "log.exception.message": obj.get("log.exception.message"), + "log.exception.stackTrace": obj.get("log.exception.stackTrace"), + "log.exception.type": obj.get("log.exception.type"), + "log.expiration.ts.seconds": obj.get("log.expiration.ts.seconds"), + "log.file.path": obj.get("log.file.path"), + "log.hostId": obj.get("log.hostId"), + "log.hostName": obj.get("log.hostName"), + "log.level": obj.get("log.level"), + "log.message": obj.get("log.message"), + "log.processId": obj.get("log.processId"), + "log.serviceId": obj.get("log.serviceId"), + "log.serviceName": obj.get("log.serviceName"), + "log.streamName": obj.get("log.streamName"), + "log.timestamp": obj.get("log.timestamp"), + "log.traceId": obj.get("log.traceId") + }) + return _obj + + diff --git a/instana_client/models/api_log_tag.py b/instana_client/models/api_log_tag.py new file mode 100644 index 00000000..5a72b08f --- /dev/null +++ b/instana_client/models/api_log_tag.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ApiLogTag(BaseModel): + """ + ApiLogTag + """ # noqa: E501 + key: Optional[StrictStr] = None + name: Optional[StrictStr] = None + value: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["key", "name", "value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ApiLogTag 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 ApiLogTag from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "name": obj.get("name"), + "value": obj.get("value") + }) + return _obj + + diff --git a/instana_client/models/api_member.py b/instana_client/models/api_member.py index 7f4fae98..f7c565e6 100644 --- a/instana_client/models/api_member.py +++ b/instana_client/models/api_member.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiMember(BaseModel): """ @@ -33,7 +34,8 @@ class ApiMember(BaseModel): __properties: ClassVar[List[str]] = ["email", "name", "userId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_permission_set.py b/instana_client/models/api_permission_set.py index 24f51b43..165f6b9d 100644 --- a/instana_client/models/api_permission_set.py +++ b/instana_client/models/api_permission_set.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,28 +25,31 @@ from instana_client.models.scope_binding import ScopeBinding from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiPermissionSet(BaseModel): """ ApiPermissionSet """ # noqa: E501 action_filter: Optional[ScopeBinding] = Field(default=None, alias="actionFilter") - application_ids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="applicationIds") - business_perspective_ids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="businessPerspectiveIds") - infra_dfq_filter: ScopeBinding = Field(alias="infraDfqFilter") - kubernetes_cluster_uuids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="kubernetesClusterUUIDs") - kubernetes_namespace_uids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="kubernetesNamespaceUIDs") - mobile_app_ids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="mobileAppIds") + apdex_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="apdexIds") + application_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="applicationIds") + business_perspective_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="businessPerspectiveIds") + infra_dfq_filter: Optional[ScopeBinding] = Field(alias="infraDfqFilter") + kubernetes_cluster_uuids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="kubernetesClusterUUIDs") + kubernetes_namespace_uids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="kubernetesNamespaceUIDs") + mobile_app_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="mobileAppIds") permissions: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=0, max_length=1024)] restricted_application_filter: Optional[ApiRestrictedApplicationFilter] = Field(default=None, alias="restrictedApplicationFilter") - slo_ids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="sloIds") - synthetic_credential_keys: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="syntheticCredentialKeys") - synthetic_test_ids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="syntheticTestIds") - website_ids: Annotated[List[ScopeBinding], Field(min_length=0, max_length=1024)] = Field(alias="websiteIds") - __properties: ClassVar[List[str]] = ["actionFilter", "applicationIds", "businessPerspectiveIds", "infraDfqFilter", "kubernetesClusterUUIDs", "kubernetesNamespaceUIDs", "mobileAppIds", "permissions", "restrictedApplicationFilter", "sloIds", "syntheticCredentialKeys", "syntheticTestIds", "websiteIds"] + slo_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="sloIds") + synthetic_credential_keys: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="syntheticCredentialKeys") + synthetic_test_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="syntheticTestIds") + website_ids: Annotated[List[Optional[ScopeBinding]], Field(min_length=0, max_length=1024)] = Field(alias="websiteIds") + __properties: ClassVar[List[str]] = ["actionFilter", "apdexIds", "applicationIds", "businessPerspectiveIds", "infraDfqFilter", "kubernetesClusterUUIDs", "kubernetesNamespaceUIDs", "mobileAppIds", "permissions", "restrictedApplicationFilter", "sloIds", "syntheticCredentialKeys", "syntheticTestIds", "websiteIds"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +89,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of action_filter if self.action_filter: _dict['actionFilter'] = self.action_filter.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in apdex_ids (list) + _items = [] + if self.apdex_ids: + for _item_apdex_ids in self.apdex_ids: + if _item_apdex_ids: + _items.append(_item_apdex_ids.to_dict()) + _dict['apdexIds'] = _items # override the default output from pydantic by calling `to_dict()` of each item in application_ids (list) _items = [] if self.application_ids: @@ -156,6 +165,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_website_ids: _items.append(_item_website_ids.to_dict()) _dict['websiteIds'] = _items + # set to None if action_filter (nullable) is None + # and model_fields_set contains the field + if self.action_filter is None and "action_filter" in self.model_fields_set: + _dict['actionFilter'] = None + + # set to None if infra_dfq_filter (nullable) is None + # and model_fields_set contains the field + if self.infra_dfq_filter is None and "infra_dfq_filter" in self.model_fields_set: + _dict['infraDfqFilter'] = None + return _dict @classmethod @@ -169,6 +188,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "actionFilter": ScopeBinding.from_dict(obj["actionFilter"]) if obj.get("actionFilter") is not None else None, + "apdexIds": [ScopeBinding.from_dict(_item) for _item in obj["apdexIds"]] if obj.get("apdexIds") is not None else None, "applicationIds": [ScopeBinding.from_dict(_item) for _item in obj["applicationIds"]] if obj.get("applicationIds") is not None else None, "businessPerspectiveIds": [ScopeBinding.from_dict(_item) for _item in obj["businessPerspectiveIds"]] if obj.get("businessPerspectiveIds") is not None else None, "infraDfqFilter": ScopeBinding.from_dict(obj["infraDfqFilter"]) if obj.get("infraDfqFilter") is not None else None, diff --git a/instana_client/models/api_restricted_application_filter.py b/instana_client/models/api_restricted_application_filter.py index 56cfaa4d..e4aac771 100644 --- a/instana_client/models/api_restricted_application_filter.py +++ b/instana_client/models/api_restricted_application_filter.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiRestrictedApplicationFilter(BaseModel): """ @@ -43,7 +44,8 @@ def scope_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/api_role.py b/instana_client/models/api_role.py index 9c57c19a..8b32cd7a 100644 --- a/instana_client/models/api_role.py +++ b/instana_client/models/api_role.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.api_member import ApiMember from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiRole(BaseModel): """ @@ -37,7 +38,8 @@ class ApiRole(BaseModel): __properties: ClassVar[List[str]] = ["description", "id", "members", "name", "permissions"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_members: _items.append(_item_members.to_dict()) _dict['members'] = _items + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + return _dict @classmethod diff --git a/instana_client/models/api_tag.py b/instana_client/models/api_tag.py index a0d34544..746f0ed6 100644 --- a/instana_client/models/api_tag.py +++ b/instana_client/models/api_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiTag(BaseModel): """ @@ -33,7 +34,8 @@ class ApiTag(BaseModel): __properties: ClassVar[List[str]] = ["displayName", "id"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_team.py b/instana_client/models/api_team.py index 72766f85..dc5d905a 100644 --- a/instana_client/models/api_team.py +++ b/instana_client/models/api_team.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.api_team_scope import ApiTeamScope from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiTeam(BaseModel): """ @@ -39,7 +40,8 @@ class ApiTeam(BaseModel): __properties: ClassVar[List[str]] = ["id", "info", "members", "scope", "tag"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_team_info.py b/instana_client/models/api_team_info.py index e8067cf0..625b89d5 100644 --- a/instana_client/models/api_team_info.py +++ b/instana_client/models/api_team_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiTeamInfo(BaseModel): """ @@ -32,7 +33,8 @@ class ApiTeamInfo(BaseModel): __properties: ClassVar[List[str]] = ["description"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_team_member.py b/instana_client/models/api_team_member.py index f3d89032..d72a778c 100644 --- a/instana_client/models/api_team_member.py +++ b/instana_client/models/api_team_member.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.api_team_role import ApiTeamRole from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiTeamMember(BaseModel): """ @@ -35,7 +36,8 @@ class ApiTeamMember(BaseModel): __properties: ClassVar[List[str]] = ["email", "name", "roles", "userId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_team_role.py b/instana_client/models/api_team_role.py index e4eb5931..394b8eee 100644 --- a/instana_client/models/api_team_role.py +++ b/instana_client/models/api_team_role.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiTeamRole(BaseModel): """ @@ -33,7 +34,8 @@ class ApiTeamRole(BaseModel): __properties: ClassVar[List[str]] = ["roleId", "roleName", "viaIdP"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/api_team_scope.py b/instana_client/models/api_team_scope.py index 2d0e7220..611ed327 100644 --- a/instana_client/models/api_team_scope.py +++ b/instana_client/models/api_team_scope.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.api_restricted_application_filter import ApiRestrictedApplicationFilter from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiTeamScope(BaseModel): """ @@ -30,12 +31,14 @@ class ApiTeamScope(BaseModel): """ # noqa: E501 access_permissions: Optional[List[StrictStr]] = Field(default=None, alias="accessPermissions") action_filter: Optional[StrictStr] = Field(default=None, alias="actionFilter") + apdex_ids: Optional[List[StrictStr]] = Field(default=None, alias="apdexIds") applications: Optional[List[StrictStr]] = None business_perspectives: Optional[List[StrictStr]] = Field(default=None, alias="businessPerspectives") infra_dfq_filter: Optional[StrictStr] = Field(default=None, alias="infraDfqFilter") kubernetes_clusters: Optional[List[StrictStr]] = Field(default=None, alias="kubernetesClusters") kubernetes_namespaces: Optional[List[StrictStr]] = Field(default=None, alias="kubernetesNamespaces") log_filter: Optional[StrictStr] = Field(default=None, alias="logFilter") + logging_perspectives: Optional[List[StrictStr]] = Field(default=None, alias="loggingPerspectives") mobile_apps: Optional[List[StrictStr]] = Field(default=None, alias="mobileApps") restricted_application_filter: Optional[ApiRestrictedApplicationFilter] = Field(default=None, alias="restrictedApplicationFilter") slo_ids: Optional[List[StrictStr]] = Field(default=None, alias="sloIds") @@ -43,7 +46,7 @@ class ApiTeamScope(BaseModel): synthetic_tests: Optional[List[StrictStr]] = Field(default=None, alias="syntheticTests") tag_ids: Optional[List[StrictStr]] = Field(default=None, alias="tagIds") websites: Optional[List[StrictStr]] = None - __properties: ClassVar[List[str]] = ["accessPermissions", "actionFilter", "applications", "businessPerspectives", "infraDfqFilter", "kubernetesClusters", "kubernetesNamespaces", "logFilter", "mobileApps", "restrictedApplicationFilter", "sloIds", "syntheticCredentials", "syntheticTests", "tagIds", "websites"] + __properties: ClassVar[List[str]] = ["accessPermissions", "actionFilter", "apdexIds", "applications", "businessPerspectives", "infraDfqFilter", "kubernetesClusters", "kubernetesNamespaces", "logFilter", "loggingPerspectives", "mobileApps", "restrictedApplicationFilter", "sloIds", "syntheticCredentials", "syntheticTests", "tagIds", "websites"] @field_validator('access_permissions') def access_permissions_validate_enum(cls, value): @@ -52,12 +55,13 @@ def access_permissions_validate_enum(cls, value): return value for i in value: - if i not in set(['LIMITED_APPLICATIONS_SCOPE', 'LIMITED_WEBSITES_SCOPE', 'LIMITED_KUBERNETES_SCOPE', 'LIMITED_MOBILE_APPS_SCOPE', 'LIMITED_INFRASTRUCTURE_SCOPE', 'LIMITED_SYNTHETICS_SCOPE', 'LIMITED_BIZOPS_SCOPE', 'LIMITED_GEN_AI_SCOPE', 'LIMITED_AUTOMATION_SCOPE', 'LIMITED_LOGS_SCOPE', 'LIMITED_ALERT_CHANNELS_SCOPE', 'LIMITED_VSPHERE_SCOPE', 'LIMITED_PHMC_SCOPE', 'LIMITED_POWERVC_SCOPE', 'LIMITED_ZHMC_SCOPE', 'LIMITED_PCF_SCOPE', 'LIMITED_OPENSTACK_SCOPE', 'LIMITED_SAP_SCOPE', 'LIMITED_NUTANIX_SCOPE', 'LIMITED_XENSERVER_SCOPE', 'LIMITED_WINDOWS_HYPERVISOR_SCOPE', 'LIMITED_LINUX_KVM_HYPERVISOR_SCOPE', 'LIMITED_AI_GATEWAY_SCOPE', 'LIMITED_SERVICE_LEVEL_SCOPE', 'LIMITED_GEN_AI_CAPABILITIES_SCOPE']): - raise ValueError("each list item must be one of ('LIMITED_APPLICATIONS_SCOPE', 'LIMITED_WEBSITES_SCOPE', 'LIMITED_KUBERNETES_SCOPE', 'LIMITED_MOBILE_APPS_SCOPE', 'LIMITED_INFRASTRUCTURE_SCOPE', 'LIMITED_SYNTHETICS_SCOPE', 'LIMITED_BIZOPS_SCOPE', 'LIMITED_GEN_AI_SCOPE', 'LIMITED_AUTOMATION_SCOPE', 'LIMITED_LOGS_SCOPE', 'LIMITED_ALERT_CHANNELS_SCOPE', 'LIMITED_VSPHERE_SCOPE', 'LIMITED_PHMC_SCOPE', 'LIMITED_POWERVC_SCOPE', 'LIMITED_ZHMC_SCOPE', 'LIMITED_PCF_SCOPE', 'LIMITED_OPENSTACK_SCOPE', 'LIMITED_SAP_SCOPE', 'LIMITED_NUTANIX_SCOPE', 'LIMITED_XENSERVER_SCOPE', 'LIMITED_WINDOWS_HYPERVISOR_SCOPE', 'LIMITED_LINUX_KVM_HYPERVISOR_SCOPE', 'LIMITED_AI_GATEWAY_SCOPE', 'LIMITED_SERVICE_LEVEL_SCOPE', 'LIMITED_GEN_AI_CAPABILITIES_SCOPE')") + if i not in set(['LIMITED_APPLICATIONS_SCOPE', 'LIMITED_WEBSITES_SCOPE', 'LIMITED_KUBERNETES_SCOPE', 'LIMITED_MOBILE_APPS_SCOPE', 'LIMITED_INFRASTRUCTURE_SCOPE', 'LIMITED_SYNTHETICS_SCOPE', 'LIMITED_BIZOPS_SCOPE', 'LIMITED_GEN_AI_SCOPE', 'LIMITED_AUTOMATION_SCOPE', 'LIMITED_LOGS_SCOPE', 'LIMITED_LOGGING_PERSPECTIVES_SCOPE', 'LIMITED_ALERT_CHANNELS_SCOPE', 'LIMITED_VSPHERE_SCOPE', 'LIMITED_PHMC_SCOPE', 'LIMITED_POWERVC_SCOPE', 'LIMITED_ZHMC_SCOPE', 'LIMITED_PCF_SCOPE', 'LIMITED_OPENSTACK_SCOPE', 'LIMITED_SAP_SCOPE', 'LIMITED_NUTANIX_SCOPE', 'LIMITED_XENSERVER_SCOPE', 'LIMITED_WINDOWS_HYPERVISOR_SCOPE', 'LIMITED_LINUX_KVM_HYPERVISOR_SCOPE', 'LIMITED_AI_GATEWAY_SCOPE', 'LIMITED_SERVICE_LEVEL_SCOPE', 'LIMITED_GEN_AI_CAPABILITIES_SCOPE']): + raise ValueError("each list item must be one of ('LIMITED_APPLICATIONS_SCOPE', 'LIMITED_WEBSITES_SCOPE', 'LIMITED_KUBERNETES_SCOPE', 'LIMITED_MOBILE_APPS_SCOPE', 'LIMITED_INFRASTRUCTURE_SCOPE', 'LIMITED_SYNTHETICS_SCOPE', 'LIMITED_BIZOPS_SCOPE', 'LIMITED_GEN_AI_SCOPE', 'LIMITED_AUTOMATION_SCOPE', 'LIMITED_LOGS_SCOPE', 'LIMITED_LOGGING_PERSPECTIVES_SCOPE', 'LIMITED_ALERT_CHANNELS_SCOPE', 'LIMITED_VSPHERE_SCOPE', 'LIMITED_PHMC_SCOPE', 'LIMITED_POWERVC_SCOPE', 'LIMITED_ZHMC_SCOPE', 'LIMITED_PCF_SCOPE', 'LIMITED_OPENSTACK_SCOPE', 'LIMITED_SAP_SCOPE', 'LIMITED_NUTANIX_SCOPE', 'LIMITED_XENSERVER_SCOPE', 'LIMITED_WINDOWS_HYPERVISOR_SCOPE', 'LIMITED_LINUX_KVM_HYPERVISOR_SCOPE', 'LIMITED_AI_GATEWAY_SCOPE', 'LIMITED_SERVICE_LEVEL_SCOPE', 'LIMITED_GEN_AI_CAPABILITIES_SCOPE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +73,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -112,12 +115,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "accessPermissions": obj.get("accessPermissions"), "actionFilter": obj.get("actionFilter"), + "apdexIds": obj.get("apdexIds"), "applications": obj.get("applications"), "businessPerspectives": obj.get("businessPerspectives"), "infraDfqFilter": obj.get("infraDfqFilter"), "kubernetesClusters": obj.get("kubernetesClusters"), "kubernetesNamespaces": obj.get("kubernetesNamespaces"), "logFilter": obj.get("logFilter"), + "loggingPerspectives": obj.get("loggingPerspectives"), "mobileApps": obj.get("mobileApps"), "restrictedApplicationFilter": ApiRestrictedApplicationFilter.from_dict(obj["restrictedApplicationFilter"]) if obj.get("restrictedApplicationFilter") is not None else None, "sloIds": obj.get("sloIds"), diff --git a/instana_client/models/api_token.py b/instana_client/models/api_token.py index e98b5716..a578471a 100644 --- a/instana_client/models/api_token.py +++ b/instana_client/models/api_token.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,17 +23,20 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApiToken(BaseModel): """ ApiToken """ # noqa: E501 access_granting_token: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="accessGrantingToken") + can_collect_net_trace_logs: Optional[StrictBool] = Field(default=None, alias="canCollectNetTraceLogs") can_configure_agent_run_mode: Optional[StrictBool] = Field(default=None, alias="canConfigureAgentRunMode") can_configure_agents: Optional[StrictBool] = Field(default=None, alias="canConfigureAgents") can_configure_ai_agents: Optional[StrictBool] = Field(default=None, alias="canConfigureAiAgents") can_configure_apdex: Optional[StrictBool] = Field(default=None, alias="canConfigureApdex") can_configure_api_tokens: Optional[StrictBool] = Field(default=None, alias="canConfigureApiTokens") + can_configure_application_business_criticality: Optional[StrictBool] = Field(default=None, alias="canConfigureApplicationBusinessCriticality") can_configure_application_smart_alerts: Optional[StrictBool] = Field(default=None, alias="canConfigureApplicationSmartAlerts") can_configure_applications: Optional[StrictBool] = Field(default=None, alias="canConfigureApplications") can_configure_authentication_methods: Optional[StrictBool] = Field(default=None, alias="canConfigureAuthenticationMethods") @@ -44,6 +47,7 @@ class ApiToken(BaseModel): can_configure_database_management: Optional[StrictBool] = Field(default=None, alias="canConfigureDatabaseManagement") can_configure_eum_applications: Optional[StrictBool] = Field(default=None, alias="canConfigureEumApplications") can_configure_events_and_alerts: Optional[StrictBool] = Field(default=None, alias="canConfigureEventsAndAlerts") + can_configure_gen_ai_evaluations: Optional[StrictBool] = Field(default=None, alias="canConfigureGenAIEvaluations") can_configure_global_alert_payload: Optional[StrictBool] = Field(default=None, alias="canConfigureGlobalAlertPayload") can_configure_global_application_smart_alerts: Optional[StrictBool] = Field(default=None, alias="canConfigureGlobalApplicationSmartAlerts") can_configure_global_infra_smart_alerts: Optional[StrictBool] = Field(default=None, alias="canConfigureGlobalInfraSmartAlerts") @@ -55,9 +59,11 @@ class ApiToken(BaseModel): can_configure_llm_model_price: Optional[StrictBool] = Field(default=None, alias="canConfigureLLMModelPrice") can_configure_log_management: Optional[StrictBool] = Field(default=None, alias="canConfigureLogManagement") can_configure_log_retention_period: Optional[StrictBool] = Field(default=None, alias="canConfigureLogRetentionPeriod") + can_configure_logging_perspectives: Optional[StrictBool] = Field(default=None, alias="canConfigureLoggingPerspectives") can_configure_maintenance_windows: Optional[StrictBool] = Field(default=None, alias="canConfigureMaintenanceWindows") can_configure_mobile_app_monitoring: Optional[StrictBool] = Field(default=None, alias="canConfigureMobileAppMonitoring") can_configure_mobile_app_smart_alerts: Optional[StrictBool] = Field(default=None, alias="canConfigureMobileAppSmartAlerts") + can_configure_network_integrations: Optional[StrictBool] = Field(default=None, alias="canConfigureNetworkIntegrations") can_configure_personal_api_tokens: Optional[StrictBool] = Field(default=None, alias="canConfigurePersonalApiTokens") can_configure_personally_identifiable_information_masking: Optional[StrictBool] = Field(default=None, alias="canConfigurePersonallyIdentifiableInformationMasking") can_configure_releases: Optional[StrictBool] = Field(default=None, alias="canConfigureReleases") @@ -114,6 +120,7 @@ class ApiToken(BaseModel): limited_infrastructure_scope: Optional[StrictBool] = Field(default=None, alias="limitedInfrastructureScope") limited_kubernetes_scope: Optional[StrictBool] = Field(default=None, alias="limitedKubernetesScope") limited_linux_kvm_hypervisor_scope: Optional[StrictBool] = Field(default=None, alias="limitedLinuxKVMHypervisorScope") + limited_logging_perspectives_scope: Optional[StrictBool] = Field(default=None, alias="limitedLoggingPerspectivesScope") limited_logs_scope: Optional[StrictBool] = Field(default=None, alias="limitedLogsScope") limited_mobile_apps_scope: Optional[StrictBool] = Field(default=None, alias="limitedMobileAppsScope") limited_nutanix_scope: Optional[StrictBool] = Field(default=None, alias="limitedNutanixScope") @@ -130,10 +137,11 @@ class ApiToken(BaseModel): limited_xen_server_scope: Optional[StrictBool] = Field(default=None, alias="limitedXenServerScope") limited_zhmc_scope: Optional[StrictBool] = Field(default=None, alias="limitedZhmcScope") name: Annotated[str, Field(min_length=1, strict=True)] - __properties: ClassVar[List[str]] = ["accessGrantingToken", "canConfigureAgentRunMode", "canConfigureAgents", "canConfigureAiAgents", "canConfigureApdex", "canConfigureApiTokens", "canConfigureApplicationSmartAlerts", "canConfigureApplications", "canConfigureAuthenticationMethods", "canConfigureAutomationActions", "canConfigureAutomationPolicies", "canConfigureBizops", "canConfigureCustomEntities", "canConfigureDatabaseManagement", "canConfigureEumApplications", "canConfigureEventsAndAlerts", "canConfigureGlobalAlertPayload", "canConfigureGlobalApplicationSmartAlerts", "canConfigureGlobalInfraSmartAlerts", "canConfigureGlobalLogSmartAlerts", "canConfigureGlobalSyntheticSmartAlerts", "canConfigureIPFiltering", "canConfigureIntegrations", "canConfigureLLM", "canConfigureLLMModelPrice", "canConfigureLogManagement", "canConfigureLogRetentionPeriod", "canConfigureMaintenanceWindows", "canConfigureMobileAppMonitoring", "canConfigureMobileAppSmartAlerts", "canConfigurePersonalApiTokens", "canConfigurePersonallyIdentifiableInformationMasking", "canConfigureReleases", "canConfigureServiceLevelCorrectionWindows", "canConfigureServiceLevelSmartAlerts", "canConfigureServiceLevels", "canConfigureServiceMapping", "canConfigureSessionSettings", "canConfigureSubtraces", "canConfigureSyntheticCredentials", "canConfigureSyntheticLocations", "canConfigureSyntheticTests", "canConfigureTeams", "canConfigureUsers", "canConfigureWebsiteConversions", "canConfigureWebsiteSmartAlerts", "canCreateHeapDump", "canCreatePublicCustomDashboards", "canCreateThreadDump", "canDeleteAutomationActionHistory", "canDeleteLogs", "canDownloadAgentConfiguration", "canEditAllAccessibleCustomDashboards", "canInstallNewAgents", "canInvokeAlertChannel", "canManuallyCloseIssue", "canRunAutomationActions", "canUseSyntheticCredentials", "canViewAccountAndBillingInformation", "canViewAuditLog", "canViewBizAlerts", "canViewBusinessActivities", "canViewBusinessProcessDetails", "canViewBusinessProcesses", "canViewLogVolume", "canViewLogs", "canViewSyntheticLocations", "canViewSyntheticTestResults", "canViewSyntheticTests", "canViewTraceDetails", "createdBy", "createdOn", "expiresOn", "id", "internalId", "lastUsedOn", "limitedAiGatewayScope", "limitedAlertChannelsScope", "limitedApplicationsScope", "limitedAutomationScope", "limitedBizOpsScope", "limitedGenAICapabilitiesScope", "limitedGenAIScope", "limitedInfrastructureScope", "limitedKubernetesScope", "limitedLinuxKVMHypervisorScope", "limitedLogsScope", "limitedMobileAppsScope", "limitedNutanixScope", "limitedOpenstackScope", "limitedPcfScope", "limitedPhmcScope", "limitedPvcScope", "limitedSAPScope", "limitedServiceLevelScope", "limitedSyntheticsScope", "limitedVsphereScope", "limitedWebsitesScope", "limitedWindowsHypervisorScope", "limitedXenServerScope", "limitedZhmcScope", "name"] + __properties: ClassVar[List[str]] = ["accessGrantingToken", "canCollectNetTraceLogs", "canConfigureAgentRunMode", "canConfigureAgents", "canConfigureAiAgents", "canConfigureApdex", "canConfigureApiTokens", "canConfigureApplicationBusinessCriticality", "canConfigureApplicationSmartAlerts", "canConfigureApplications", "canConfigureAuthenticationMethods", "canConfigureAutomationActions", "canConfigureAutomationPolicies", "canConfigureBizops", "canConfigureCustomEntities", "canConfigureDatabaseManagement", "canConfigureEumApplications", "canConfigureEventsAndAlerts", "canConfigureGenAIEvaluations", "canConfigureGlobalAlertPayload", "canConfigureGlobalApplicationSmartAlerts", "canConfigureGlobalInfraSmartAlerts", "canConfigureGlobalLogSmartAlerts", "canConfigureGlobalSyntheticSmartAlerts", "canConfigureIPFiltering", "canConfigureIntegrations", "canConfigureLLM", "canConfigureLLMModelPrice", "canConfigureLogManagement", "canConfigureLogRetentionPeriod", "canConfigureLoggingPerspectives", "canConfigureMaintenanceWindows", "canConfigureMobileAppMonitoring", "canConfigureMobileAppSmartAlerts", "canConfigureNetworkIntegrations", "canConfigurePersonalApiTokens", "canConfigurePersonallyIdentifiableInformationMasking", "canConfigureReleases", "canConfigureServiceLevelCorrectionWindows", "canConfigureServiceLevelSmartAlerts", "canConfigureServiceLevels", "canConfigureServiceMapping", "canConfigureSessionSettings", "canConfigureSubtraces", "canConfigureSyntheticCredentials", "canConfigureSyntheticLocations", "canConfigureSyntheticTests", "canConfigureTeams", "canConfigureUsers", "canConfigureWebsiteConversions", "canConfigureWebsiteSmartAlerts", "canCreateHeapDump", "canCreatePublicCustomDashboards", "canCreateThreadDump", "canDeleteAutomationActionHistory", "canDeleteLogs", "canDownloadAgentConfiguration", "canEditAllAccessibleCustomDashboards", "canInstallNewAgents", "canInvokeAlertChannel", "canManuallyCloseIssue", "canRunAutomationActions", "canUseSyntheticCredentials", "canViewAccountAndBillingInformation", "canViewAuditLog", "canViewBizAlerts", "canViewBusinessActivities", "canViewBusinessProcessDetails", "canViewBusinessProcesses", "canViewLogVolume", "canViewLogs", "canViewSyntheticLocations", "canViewSyntheticTestResults", "canViewSyntheticTests", "canViewTraceDetails", "createdBy", "createdOn", "expiresOn", "id", "internalId", "lastUsedOn", "limitedAiGatewayScope", "limitedAlertChannelsScope", "limitedApplicationsScope", "limitedAutomationScope", "limitedBizOpsScope", "limitedGenAICapabilitiesScope", "limitedGenAIScope", "limitedInfrastructureScope", "limitedKubernetesScope", "limitedLinuxKVMHypervisorScope", "limitedLoggingPerspectivesScope", "limitedLogsScope", "limitedMobileAppsScope", "limitedNutanixScope", "limitedOpenstackScope", "limitedPcfScope", "limitedPhmcScope", "limitedPvcScope", "limitedSAPScope", "limitedServiceLevelScope", "limitedSyntheticsScope", "limitedVsphereScope", "limitedWebsitesScope", "limitedWindowsHypervisorScope", "limitedXenServerScope", "limitedZhmcScope", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -145,8 +153,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -171,6 +178,26 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if created_by (nullable) is None + # and model_fields_set contains the field + if self.created_by is None and "created_by" in self.model_fields_set: + _dict['createdBy'] = None + + # set to None if created_on (nullable) is None + # and model_fields_set contains the field + if self.created_on is None and "created_on" in self.model_fields_set: + _dict['createdOn'] = None + + # set to None if expires_on (nullable) is None + # and model_fields_set contains the field + if self.expires_on is None and "expires_on" in self.model_fields_set: + _dict['expiresOn'] = None + + # set to None if last_used_on (nullable) is None + # and model_fields_set contains the field + if self.last_used_on is None and "last_used_on" in self.model_fields_set: + _dict['lastUsedOn'] = None + return _dict @classmethod @@ -184,11 +211,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "accessGrantingToken": obj.get("accessGrantingToken"), + "canCollectNetTraceLogs": obj.get("canCollectNetTraceLogs"), "canConfigureAgentRunMode": obj.get("canConfigureAgentRunMode"), "canConfigureAgents": obj.get("canConfigureAgents"), "canConfigureAiAgents": obj.get("canConfigureAiAgents"), "canConfigureApdex": obj.get("canConfigureApdex"), "canConfigureApiTokens": obj.get("canConfigureApiTokens"), + "canConfigureApplicationBusinessCriticality": obj.get("canConfigureApplicationBusinessCriticality"), "canConfigureApplicationSmartAlerts": obj.get("canConfigureApplicationSmartAlerts"), "canConfigureApplications": obj.get("canConfigureApplications"), "canConfigureAuthenticationMethods": obj.get("canConfigureAuthenticationMethods"), @@ -199,6 +228,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "canConfigureDatabaseManagement": obj.get("canConfigureDatabaseManagement"), "canConfigureEumApplications": obj.get("canConfigureEumApplications"), "canConfigureEventsAndAlerts": obj.get("canConfigureEventsAndAlerts"), + "canConfigureGenAIEvaluations": obj.get("canConfigureGenAIEvaluations"), "canConfigureGlobalAlertPayload": obj.get("canConfigureGlobalAlertPayload"), "canConfigureGlobalApplicationSmartAlerts": obj.get("canConfigureGlobalApplicationSmartAlerts"), "canConfigureGlobalInfraSmartAlerts": obj.get("canConfigureGlobalInfraSmartAlerts"), @@ -210,9 +240,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "canConfigureLLMModelPrice": obj.get("canConfigureLLMModelPrice"), "canConfigureLogManagement": obj.get("canConfigureLogManagement"), "canConfigureLogRetentionPeriod": obj.get("canConfigureLogRetentionPeriod"), + "canConfigureLoggingPerspectives": obj.get("canConfigureLoggingPerspectives"), "canConfigureMaintenanceWindows": obj.get("canConfigureMaintenanceWindows"), "canConfigureMobileAppMonitoring": obj.get("canConfigureMobileAppMonitoring"), "canConfigureMobileAppSmartAlerts": obj.get("canConfigureMobileAppSmartAlerts"), + "canConfigureNetworkIntegrations": obj.get("canConfigureNetworkIntegrations"), "canConfigurePersonalApiTokens": obj.get("canConfigurePersonalApiTokens"), "canConfigurePersonallyIdentifiableInformationMasking": obj.get("canConfigurePersonallyIdentifiableInformationMasking"), "canConfigureReleases": obj.get("canConfigureReleases"), @@ -269,6 +301,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "limitedInfrastructureScope": obj.get("limitedInfrastructureScope"), "limitedKubernetesScope": obj.get("limitedKubernetesScope"), "limitedLinuxKVMHypervisorScope": obj.get("limitedLinuxKVMHypervisorScope"), + "limitedLoggingPerspectivesScope": obj.get("limitedLoggingPerspectivesScope"), "limitedLogsScope": obj.get("limitedLogsScope"), "limitedMobileAppsScope": obj.get("limitedMobileAppsScope"), "limitedNutanixScope": obj.get("limitedNutanixScope"), diff --git a/instana_client/models/app_data_metric_configuration.py b/instana_client/models/app_data_metric_configuration.py index 0bb5c83a..a1e428af 100644 --- a/instana_client/models/app_data_metric_configuration.py +++ b/instana_client/models/app_data_metric_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AppDataMetricConfiguration(BaseModel): """ @@ -43,7 +44,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of numerator_tag_filter_expression if self.numerator_tag_filter_expression: _dict['numeratorTagFilterExpression'] = self.numerator_tag_filter_expression.to_dict() + # set to None if granularity (nullable) is None + # and model_fields_set contains the field + if self.granularity is None and "granularity" in self.model_fields_set: + _dict['granularity'] = None + + # set to None if numerator_tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.numerator_tag_filter_expression is None and "numerator_tag_filter_expression" in self.model_fields_set: + _dict['numeratorTagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/application.py b/instana_client/models/application.py index 67806b43..a0bd562e 100644 --- a/instana_client/models/application.py +++ b/instana_client/models/application.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,16 +23,28 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Application(BaseModel): """ Returns a list of Application Perspectives. """ # noqa: E501 boundary_scope: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Here, `ALL` Application Boundary Scope is considered.", alias="boundaryScope") + business_criticality: Optional[StrictStr] = Field(default=None, description="Business criticality level of the application", alias="businessCriticality") entity_type: Optional[StrictStr] = Field(default=None, description="Since, this is an Application Perspective, it will be of type `APPLICATION`.", alias="entityType") id: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.") label: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Name of the Application Perspective. Eg: `app1`.") - __properties: ClassVar[List[str]] = ["boundaryScope", "entityType", "id", "label"] + __properties: ClassVar[List[str]] = ["boundaryScope", "businessCriticality", "entityType", "id", "label"] + + @field_validator('business_criticality') + def business_criticality_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['NOT_DEFINED', 'LOWEST', 'LOW', 'MEDIUM', 'HIGH', 'HIGHEST']): + raise ValueError("must be one of enum values ('NOT_DEFINED', 'LOWEST', 'LOW', 'MEDIUM', 'HIGH', 'HIGHEST')") + return value @field_validator('entity_type') def entity_type_validate_enum(cls, value): @@ -45,7 +57,8 @@ def entity_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +108,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "boundaryScope": obj.get("boundaryScope"), + "businessCriticality": obj.get("businessCriticality"), "entityType": obj.get("entityType"), "id": obj.get("id"), "label": obj.get("label") diff --git a/instana_client/models/application_alert_config.py b/instana_client/models/application_alert_config.py index 69acf953..caea70ea 100644 --- a/instana_client/models/application_alert_config.py +++ b/instana_client/models/application_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -31,6 +31,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationAlertConfig(BaseModel): """ @@ -53,7 +54,7 @@ class ApplicationAlertConfig(BaseModel): rule: Optional[ApplicationAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdApplicationAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tag_filters: Optional[List[TagFilter]] = Field(default=None, alias="tagFilters") threshold: Optional[Threshold] = None time_threshold: ApplicationTimeThreshold = Field(alias="timeThreshold") @@ -82,7 +83,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -94,8 +96,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -160,6 +161,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/application_alert_config_with_metadata.py b/instana_client/models/application_alert_config_with_metadata.py index 48ac47b3..96dd4eda 100644 --- a/instana_client/models/application_alert_config_with_metadata.py +++ b/instana_client/models/application_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -31,6 +31,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationAlertConfigWithMetadata(BaseModel): """ @@ -57,7 +58,7 @@ class ApplicationAlertConfigWithMetadata(BaseModel): rule: Optional[ApplicationAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdApplicationAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tag_filters: Optional[List[TagFilter]] = Field(default=None, alias="tagFilters") threshold: Optional[Threshold] = None time_threshold: ApplicationTimeThreshold = Field(alias="timeThreshold") @@ -86,7 +87,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -98,8 +100,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -164,6 +165,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/application_alert_rule.py b/instana_client/models/application_alert_rule.py index 2b017ea2..bd38ae10 100644 --- a/instana_client/models/application_alert_rule.py +++ b/instana_client/models/application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -54,7 +55,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -83,8 +85,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ErrorsApplicationAlertRule, ErrorsApplicationAlertRule, LogsApplicationAlertRule, SlownessApplicationAlertRule, StatusCodeApplicationAlertRule, ThroughputApplicationAlertRule]]: diff --git a/instana_client/models/application_apdex_entity.py b/instana_client/models/application_apdex_entity.py index c4592eda..d48bf358 100644 --- a/instana_client/models/application_apdex_entity.py +++ b/instana_client/models/application_apdex_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationApdexEntity(ApdexEntity): """ @@ -45,7 +46,8 @@ def boundary_scope_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/application_config.py b/instana_client/models/application_config.py index 3d2c76f0..06ce1137 100644 --- a/instana_client/models/application_config.py +++ b/instana_client/models/application_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.access_rule import AccessRule @@ -26,6 +26,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationConfig(BaseModel): """ @@ -33,12 +34,17 @@ class ApplicationConfig(BaseModel): """ # noqa: E501 access_rules: Annotated[List[AccessRule], Field(min_length=1, max_length=64)] = Field(description="Defines permissions and access relationships. ", alias="accessRules") boundary_scope: StrictStr = Field(description="**INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective. **ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective. **DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`. At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`. It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`. ", alias="boundaryScope") + business_criticality: Optional[StrictStr] = Field(description="Business criticality level of the application", alias="businessCriticality") + created_at: Optional[StrictInt] = Field(default=None, alias="createdAt") + created_by: Optional[StrictStr] = Field(default=None, alias="createdBy") id: Annotated[str, Field(min_length=1, strict=True, max_length=128)] = Field(description="Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.") label: Annotated[str, Field(min_length=1, strict=True, max_length=128)] = Field(description="Name of the Application Perspective. Eg: `app1`.") match_specification: Optional[MatchExpressionDTO] = Field(default=None, alias="matchSpecification") + modified_at: Optional[StrictInt] = Field(default=None, alias="modifiedAt") + modified_by: Optional[StrictStr] = Field(default=None, alias="modifiedBy") scope: StrictStr = Field(description="**INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set). This is useful when you treat the services as opaque. An example would be the services that represent 3rd party APIs. **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with. This is useful if you are want to monitor a set of services and their direct dependencies. For example, a development team responsible for several micro-services. **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services. This is useful if the AP will be used for troubleshooting. ") tag_filter_expression: Optional[TagFilterExpressionElement] = Field(default=None, alias="tagFilterExpression") - __properties: ClassVar[List[str]] = ["accessRules", "boundaryScope", "id", "label", "matchSpecification", "scope", "tagFilterExpression"] + __properties: ClassVar[List[str]] = ["accessRules", "boundaryScope", "businessCriticality", "createdAt", "createdBy", "id", "label", "matchSpecification", "modifiedAt", "modifiedBy", "scope", "tagFilterExpression"] @field_validator('boundary_scope') def boundary_scope_validate_enum(cls, value): @@ -47,6 +53,16 @@ def boundary_scope_validate_enum(cls, value): raise ValueError("must be one of enum values ('ALL', 'INBOUND', 'DEFAULT')") return value + @field_validator('business_criticality') + def business_criticality_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['NOT_DEFINED', 'LOWEST', 'LOW', 'MEDIUM', 'HIGH', 'HIGHEST']): + raise ValueError("must be one of enum values ('NOT_DEFINED', 'LOWEST', 'LOW', 'MEDIUM', 'HIGH', 'HIGHEST')") + return value + @field_validator('scope') def scope_validate_enum(cls, value): """Validates the enum""" @@ -55,7 +71,8 @@ def scope_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +84,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -106,6 +122,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if business_criticality (nullable) is None + # and model_fields_set contains the field + if self.business_criticality is None and "business_criticality" in self.model_fields_set: + _dict['businessCriticality'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod @@ -120,9 +146,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "accessRules": [AccessRule.from_dict(_item) for _item in obj["accessRules"]] if obj.get("accessRules") is not None else None, "boundaryScope": obj.get("boundaryScope"), + "businessCriticality": obj.get("businessCriticality"), + "createdAt": obj.get("createdAt"), + "createdBy": obj.get("createdBy"), "id": obj.get("id"), "label": obj.get("label"), "matchSpecification": MatchExpressionDTO.from_dict(obj["matchSpecification"]) if obj.get("matchSpecification") is not None else None, + "modifiedAt": obj.get("modifiedAt"), + "modifiedBy": obj.get("modifiedBy"), "scope": obj.get("scope"), "tagFilterExpression": TagFilterExpressionElement.from_dict(obj["tagFilterExpression"]) if obj.get("tagFilterExpression") is not None else None }) diff --git a/instana_client/models/application_event_result.py b/instana_client/models/application_event_result.py index 77050a68..a3b2bdac 100644 --- a/instana_client/models/application_event_result.py +++ b/instana_client/models/application_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,16 +23,18 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationEventResult(EventResult): """ ApplicationEventResult """ # noqa: E501 application_id: Optional[StrictStr] = Field(default=None, description="ID of the application.", alias="applicationId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "applicationId"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "applicationId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/application_item.py b/instana_client/models/application_item.py index 51281d5d..430da04f 100644 --- a/instana_client/models/application_item.py +++ b/instana_client/models/application_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.application import Application from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationItem(BaseModel): """ @@ -33,7 +34,8 @@ class ApplicationItem(BaseModel): __properties: ClassVar[List[str]] = ["application", "metrics"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/application_metric_result.py b/instana_client/models/application_metric_result.py index 6091fa4e..390e1776 100644 --- a/instana_client/models/application_metric_result.py +++ b/instana_client/models/application_metric_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.application_item import ApplicationItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationMetricResult(BaseModel): """ @@ -38,7 +39,8 @@ class ApplicationMetricResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/application_node.py b/instana_client/models/application_node.py index b3ae9c73..ee2e1e45 100644 --- a/instana_client/models/application_node.py +++ b/instana_client/models/application_node.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.service_node import ServiceNode from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationNode(BaseModel): """ @@ -35,7 +36,8 @@ class ApplicationNode(BaseModel): __properties: ClassVar[List[str]] = ["applicationId", "inclusive", "services"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/application_result.py b/instana_client/models/application_result.py index efc433bb..cb37a8b3 100644 --- a/instana_client/models/application_result.py +++ b/instana_client/models/application_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.application import Application from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationResult(BaseModel): """ @@ -35,7 +36,8 @@ class ApplicationResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/application_scope.py b/instana_client/models/application_scope.py index b1ef5e03..c12f1723 100644 --- a/instana_client/models/application_scope.py +++ b/instana_client/models/application_scope.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationScope(BaseModel): """ @@ -32,7 +33,8 @@ class ApplicationScope(BaseModel): __properties: ClassVar[List[str]] = ["name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/application_scope_with_metadata.py b/instana_client/models/application_scope_with_metadata.py index 2e591ffe..497e15f6 100644 --- a/instana_client/models/application_scope_with_metadata.py +++ b/instana_client/models/application_scope_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationScopeWithMetadata(BaseModel): """ @@ -33,7 +34,8 @@ class ApplicationScopeWithMetadata(BaseModel): __properties: ClassVar[List[str]] = ["id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + return _dict @classmethod diff --git a/instana_client/models/application_sli_entity.py b/instana_client/models/application_sli_entity.py index 62a6707c..0f542912 100644 --- a/instana_client/models/application_sli_entity.py +++ b/instana_client/models/application_sli_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,13 +23,14 @@ from instana_client.models.sli_entity import SliEntity from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationSliEntity(SliEntity): """ ApplicationSliEntity """ # noqa: E501 application_id: Optional[StrictStr] = Field(default=None, description="Specifies the ID of the Application that is to be monitored by the SLO", alias="applicationId") - boundary_scope: StrictStr = Field(description="Defines the boundary of calls to be monitored, specifying whether to track all calls or only inbound calls", alias="boundaryScope") + boundary_scope: Optional[StrictStr] = Field(description="Defines the boundary of calls to be monitored, specifying whether to track all calls or only inbound calls", alias="boundaryScope") endpoint_id: Optional[StrictStr] = Field(default=None, description="Specifies the ID of the Endpoint to be monitored by the application SLO", alias="endpointId") service_id: Optional[StrictStr] = Field(default=None, description="Identifies the service to be monitored by the application SLO", alias="serviceId") __properties: ClassVar[List[str]] = ["sliType", "applicationId", "boundaryScope", "endpointId", "serviceId"] @@ -37,12 +38,16 @@ class ApplicationSliEntity(SliEntity): @field_validator('boundary_scope') def boundary_scope_validate_enum(cls, value): """Validates the enum""" + if value is None: + return value + if value not in set(['ALL', 'INBOUND']): raise ValueError("must be one of enum values ('ALL', 'INBOUND')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +84,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if boundary_scope (nullable) is None + # and model_fields_set contains the field + if self.boundary_scope is None and "boundary_scope" in self.model_fields_set: + _dict['boundaryScope'] = None + + # set to None if endpoint_id (nullable) is None + # and model_fields_set contains the field + if self.endpoint_id is None and "endpoint_id" in self.model_fields_set: + _dict['endpointId'] = None + + # set to None if service_id (nullable) is None + # and model_fields_set contains the field + if self.service_id is None and "service_id" in self.model_fields_set: + _dict['serviceId'] = None + return _dict @classmethod diff --git a/instana_client/models/application_slo_entity.py b/instana_client/models/application_slo_entity.py index 840e6fa9..7c951dec 100644 --- a/instana_client/models/application_slo_entity.py +++ b/instana_client/models/application_slo_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ApplicationSloEntity(SloEntity): """ @@ -46,7 +47,8 @@ def boundary_scope_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +60,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,21 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if endpoint_id (nullable) is None + # and model_fields_set contains the field + if self.endpoint_id is None and "endpoint_id" in self.model_fields_set: + _dict['endpointId'] = None + + # set to None if service_id (nullable) is None + # and model_fields_set contains the field + if self.service_id is None and "service_id" in self.model_fields_set: + _dict['serviceId'] = None + return _dict @classmethod diff --git a/instana_client/models/application_time_threshold.py b/instana_client/models/application_time_threshold.py index e42510e7..4684a9b3 100644 --- a/instana_client/models/application_time_threshold.py +++ b/instana_client/models/application_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,7 +40,8 @@ class ApplicationTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -68,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[TraceImpactApplicationTimeThreshold, ViolationsInPeriodApplicationTimeThreshold, ViolationsInSequenceApplicationTimeThreshold]]: diff --git a/instana_client/models/audit_log_ui_response.py b/instana_client/models/audit_log_ui_response.py index b64ae411..a96629fb 100644 --- a/instana_client/models/audit_log_ui_response.py +++ b/instana_client/models/audit_log_ui_response.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AuditLogUiResponse(BaseModel): """ @@ -32,7 +33,8 @@ class AuditLogUiResponse(BaseModel): __properties: ClassVar[List[str]] = ["entries", "total"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/author.py b/instana_client/models/author.py index 916e9dd2..32266651 100644 --- a/instana_client/models/author.py +++ b/instana_client/models/author.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Author(BaseModel): """ @@ -42,7 +43,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +81,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + return _dict @classmethod diff --git a/instana_client/models/availability_blueprint_indicator.py b/instana_client/models/availability_blueprint_indicator.py index 7d2d313c..93c17b8c 100644 --- a/instana_client/models/availability_blueprint_indicator.py +++ b/instana_client/models/availability_blueprint_indicator.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -21,19 +21,23 @@ from pydantic import ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated +from instana_client.models.entity_metric import EntityMetric from instana_client.models.service_level_indicator import ServiceLevelIndicator from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AvailabilityBlueprintIndicator(ServiceLevelIndicator): """ AvailabilityBlueprintIndicator """ # noqa: E501 - threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0.0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") - __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type"] + metric: Optional[EntityMetric] = None + threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") + __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "metric"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +74,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 metric + if self.metric: + _dict['metric'] = self.metric.to_dict() return _dict @classmethod @@ -88,7 +94,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "operator": obj.get("operator"), "serviceLevelsMeasurement": obj.get("serviceLevelsMeasurement"), "threshold": obj.get("threshold"), - "type": obj.get("type") + "type": obj.get("type"), + "metric": EntityMetric.from_dict(obj["metric"]) if obj.get("metric") is not None else None }) return _obj diff --git a/instana_client/models/availability_sli_entity.py b/instana_client/models/availability_sli_entity.py index d06c4ab7..21509f5f 100644 --- a/instana_client/models/availability_sli_entity.py +++ b/instana_client/models/availability_sli_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AvailabilitySliEntity(SliEntity): """ @@ -34,7 +35,7 @@ class AvailabilitySliEntity(SliEntity): application_id: Optional[StrictStr] = Field(default=None, description="Specifies the ID of the Application that is to be monitored by the SLO", alias="applicationId") bad_event_filter_expression: Optional[TagFilterExpressionElement] = Field(default=None, alias="badEventFilterExpression") bad_event_filters: Optional[Annotated[List[TagFilter], Field(min_length=1, max_length=32)]] = Field(default=None, description="Defines the logical expression to filter data and classify events as Bad Events", alias="badEventFilters") - boundary_scope: StrictStr = Field(description="Defines the boundary of calls to be monitored, specifying whether to track all calls or only inbound calls", alias="boundaryScope") + boundary_scope: Optional[StrictStr] = Field(description="Defines the boundary of calls to be monitored, specifying whether to track all calls or only inbound calls", alias="boundaryScope") endpoint_id: Optional[StrictStr] = Field(default=None, description="Specifies the ID of the Endpoint to be monitored by the availability-based application SLO", alias="endpointId") good_event_filter_expression: Optional[TagFilterExpressionElement] = Field(default=None, alias="goodEventFilterExpression") good_event_filters: Optional[Annotated[List[TagFilter], Field(min_length=1, max_length=32)]] = Field(default=None, description="Defines the logical expression to filter data and classify events as Good Events", alias="goodEventFilters") @@ -46,12 +47,16 @@ class AvailabilitySliEntity(SliEntity): @field_validator('boundary_scope') def boundary_scope_validate_enum(cls, value): """Validates the enum""" + if value is None: + return value + if value not in set(['ALL', 'INBOUND']): raise ValueError("must be one of enum values ('ALL', 'INBOUND')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -109,6 +113,41 @@ def to_dict(self) -> Dict[str, Any]: if _item_good_event_filters: _items.append(_item_good_event_filters.to_dict()) _dict['goodEventFilters'] = _items + # set to None if bad_event_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.bad_event_filter_expression is None and "bad_event_filter_expression" in self.model_fields_set: + _dict['badEventFilterExpression'] = None + + # set to None if bad_event_filters (nullable) is None + # and model_fields_set contains the field + if self.bad_event_filters is None and "bad_event_filters" in self.model_fields_set: + _dict['badEventFilters'] = None + + # set to None if boundary_scope (nullable) is None + # and model_fields_set contains the field + if self.boundary_scope is None and "boundary_scope" in self.model_fields_set: + _dict['boundaryScope'] = None + + # set to None if endpoint_id (nullable) is None + # and model_fields_set contains the field + if self.endpoint_id is None and "endpoint_id" in self.model_fields_set: + _dict['endpointId'] = None + + # set to None if good_event_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.good_event_filter_expression is None and "good_event_filter_expression" in self.model_fields_set: + _dict['goodEventFilterExpression'] = None + + # set to None if good_event_filters (nullable) is None + # and model_fields_set contains the field + if self.good_event_filters is None and "good_event_filters" in self.model_fields_set: + _dict['goodEventFilters'] = None + + # set to None if service_id (nullable) is None + # and model_fields_set contains the field + if self.service_id is None and "service_id" in self.model_fields_set: + _dict['serviceId'] = None + return _dict @classmethod diff --git a/instana_client/models/available_metrics.py b/instana_client/models/available_metrics.py index b2e235b9..80423de9 100644 --- a/instana_client/models/available_metrics.py +++ b/instana_client/models/available_metrics.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.metric_metadata import MetricMetadata from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AvailableMetrics(BaseModel): """ @@ -32,7 +33,8 @@ class AvailableMetrics(BaseModel): __properties: ClassVar[List[str]] = ["metrics"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/available_plugins.py b/instana_client/models/available_plugins.py index 1e9f5a9c..4d3858be 100644 --- a/instana_client/models/available_plugins.py +++ b/instana_client/models/available_plugins.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class AvailablePlugins(BaseModel): """ @@ -31,7 +32,8 @@ class AvailablePlugins(BaseModel): __properties: ClassVar[List[str]] = ["plugins"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/backend_trace_reference.py b/instana_client/models/backend_trace_reference.py index 2ff26a66..24cc7b7b 100644 --- a/instana_client/models/backend_trace_reference.py +++ b/instana_client/models/backend_trace_reference.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BackendTraceReference(BaseModel): """ @@ -31,7 +32,8 @@ class BackendTraceReference(BaseModel): __properties: ClassVar[List[str]] = ["traceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/bidirectional_ms_teams_app_integration.py b/instana_client/models/bidirectional_ms_teams_app_integration.py index ec8dde92..c2c799d8 100644 --- a/instana_client/models/bidirectional_ms_teams_app_integration.py +++ b/instana_client/models/bidirectional_ms_teams_app_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BidirectionalMsTeamsAppIntegration(AbstractIntegration): """ @@ -41,7 +42,8 @@ class BidirectionalMsTeamsAppIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "apiTokenId", "channelId", "channelName", "instanaUrl", "serviceUrl", "teamId", "teamName", "tenantId", "tenantName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/bidirectional_slack_app_integration.py b/instana_client/models/bidirectional_slack_app_integration.py index d670aaf2..d5ed32bf 100644 --- a/instana_client/models/bidirectional_slack_app_integration.py +++ b/instana_client/models/bidirectional_slack_app_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BidirectionalSlackAppIntegration(AbstractIntegration): """ @@ -38,7 +39,8 @@ class BidirectionalSlackAppIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "appId", "channelId", "channelName", "emojiRendering", "status", "teamId", "teamName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/binary_operator_dto.py b/instana_client/models/binary_operator_dto.py index 3b7e160f..46c03db4 100644 --- a/instana_client/models/binary_operator_dto.py +++ b/instana_client/models/binary_operator_dto.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.match_expression_dto import MatchExpressionDTO from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BinaryOperatorDTO(MatchExpressionDTO): """ @@ -41,7 +42,8 @@ def conjunction_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/browser_script_configuration.py b/instana_client/models/browser_script_configuration.py index 67ed49f9..64b38b51 100644 --- a/instana_client/models/browser_script_configuration.py +++ b/instana_client/models/browser_script_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BrowserScriptConfiguration(SyntheticTypeConfiguration): """ @@ -61,7 +62,8 @@ def script_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -73,8 +75,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/browser_script_configuration_update.py b/instana_client/models/browser_script_configuration_update.py index 106e60ef..4e1e3f5d 100644 --- a/instana_client/models/browser_script_configuration_update.py +++ b/instana_client/models/browser_script_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BrowserScriptConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -60,7 +61,8 @@ def script_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -72,8 +74,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/built_in_event_specification.py b/instana_client/models/built_in_event_specification.py index 63094562..22c99e5f 100644 --- a/instana_client/models/built_in_event_specification.py +++ b/instana_client/models/built_in_event_specification.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.rule_input import RuleInput from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BuiltInEventSpecification(BaseModel): """ @@ -44,7 +45,8 @@ class BuiltInEventSpecification(BaseModel): __properties: ClassVar[List[str]] = ["description", "enabled", "hidden", "hyperParams", "id", "name", "ruleInputs", "severity", "shortPluginId", "supportedPollRateSeconds", "triggering"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/built_in_event_specification_with_last_updated.py b/instana_client/models/built_in_event_specification_with_last_updated.py index 0423de59..0288caa3 100644 --- a/instana_client/models/built_in_event_specification_with_last_updated.py +++ b/instana_client/models/built_in_event_specification_with_last_updated.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.rule_input import RuleInput from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BuiltInEventSpecificationWithLastUpdated(BaseModel): """ @@ -45,7 +46,8 @@ class BuiltInEventSpecificationWithLastUpdated(BaseModel): __properties: ClassVar[List[str]] = ["description", "enabled", "hidden", "hyperParams", "id", "lastUpdated", "name", "ruleInputs", "severity", "shortPluginId", "supportedPollRateSeconds", "triggering"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/bulk_alert_config_request.py b/instana_client/models/bulk_alert_config_request.py index 372859f7..613becdd 100644 --- a/instana_client/models/bulk_alert_config_request.py +++ b/instana_client/models/bulk_alert_config_request.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BulkAlertConfigRequest(BaseModel): """ @@ -31,7 +32,8 @@ class BulkAlertConfigRequest(BaseModel): __properties: ClassVar[List[str]] = ["configs"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/business_activity.py b/instana_client/models/business_activity.py index ae184936..7b6cf50c 100644 --- a/instana_client/models/business_activity.py +++ b/instana_client/models/business_activity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,24 +23,26 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BusinessActivity(BaseModel): """ BusinessActivity """ # noqa: E501 - activity_id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the activity generated by the source BPM tool", alias="activityId") - activity_name: Optional[StrictStr] = Field(default=None, description="Name of the activity ", alias="activityName") - activity_start: Optional[StrictInt] = Field(default=None, description="Unix timestamp representing the activity's start time", alias="activityStart") - activity_type: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Type of the activity ", alias="activityType") + activity_id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the activity generated by the source BPM tool", alias="activityId", json_schema_extra={"examples": ["ApproveInvoiceTask"]}) + activity_name: Optional[StrictStr] = Field(default=None, description="Name of the activity ", alias="activityName", json_schema_extra={"examples": ["Approve Invoice"]}) + activity_start: Optional[StrictInt] = Field(default=None, description="Unix timestamp representing the activity's start time", alias="activityStart", json_schema_extra={"examples": [1680559706000]}) + activity_type: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Type of the activity ", alias="activityType", json_schema_extra={"examples": ["userTask"]}) call_id: Optional[StrictStr] = Field(default=None, alias="callId") endpoint_ids: Optional[List[StrictStr]] = Field(default=None, alias="endpointIds") - process_definition_id: Optional[StrictStr] = Field(default=None, description="The identifier of the process the activity is an instance of.", alias="processDefinitionId") - process_definition_name: Optional[StrictStr] = Field(default=None, description="The name of the process that the activity is an instance of", alias="processDefinitionName") - root_process_instance_id: Optional[StrictStr] = Field(default=None, description="The id of the root process for the activity", alias="rootProcessInstanceId") + process_definition_id: Optional[StrictStr] = Field(default=None, description="The identifier of the process the activity is an instance of.", alias="processDefinitionId", json_schema_extra={"examples": ["invoice:2:aa2bbbcc-bb04-11ee-9d4e-0242ac110002"]}) + process_definition_name: Optional[StrictStr] = Field(default=None, description="The name of the process that the activity is an instance of", alias="processDefinitionName", json_schema_extra={"examples": ["Invoice Approval"]}) + root_process_instance_id: Optional[StrictStr] = Field(default=None, description="The id of the root process for the activity", alias="rootProcessInstanceId", json_schema_extra={"examples": ["486cbb3b-e633-11ee-8707-0242ac110002"]}) __properties: ClassVar[List[str]] = ["activityId", "activityName", "activityStart", "activityType", "callId", "endpointIds", "processDefinitionId", "processDefinitionName", "rootProcessInstanceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -93,6 +94,11 @@ def to_dict(self) -> Dict[str, Any]: if self.activity_start is None and "activity_start" in self.model_fields_set: _dict['activityStart'] = None + # set to None if endpoint_ids (nullable) is None + # and model_fields_set contains the field + if self.endpoint_ids is None and "endpoint_ids" in self.model_fields_set: + _dict['endpointIds'] = None + # set to None if process_definition_id (nullable) is None # and model_fields_set contains the field if self.process_definition_id is None and "process_definition_id" in self.model_fields_set: diff --git a/instana_client/models/business_perspective_config.py b/instana_client/models/business_perspective_config.py index 1eebfbb6..498ea404 100644 --- a/instana_client/models/business_perspective_config.py +++ b/instana_client/models/business_perspective_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class BusinessPerspectiveConfig(BaseModel): """ @@ -36,7 +37,8 @@ class BusinessPerspectiveConfig(BaseModel): __properties: ClassVar[List[str]] = ["description", "id", "name", "tagFilterExpression"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -77,6 +78,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/call_groups_item.py b/instana_client/models/call_groups_item.py index 2ff1882d..eebc9366 100644 --- a/instana_client/models/call_groups_item.py +++ b/instana_client/models/call_groups_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CallGroupsItem(BaseModel): """ @@ -35,7 +36,8 @@ class CallGroupsItem(BaseModel): __properties: ClassVar[List[str]] = ["cursor", "metrics", "name", "timestamp"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/call_groups_result.py b/instana_client/models/call_groups_result.py index 8b8faa73..b3cf0a38 100644 --- a/instana_client/models/call_groups_result.py +++ b/instana_client/models/call_groups_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.call_groups_item import CallGroupsItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CallGroupsResult(BaseModel): """ @@ -39,7 +40,8 @@ class CallGroupsResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/call_relation.py b/instana_client/models/call_relation.py index 727b5e71..b9caf3ea 100644 --- a/instana_client/models/call_relation.py +++ b/instana_client/models/call_relation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.service_simple import ServiceSimple from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CallRelation(BaseModel): """ @@ -35,7 +36,8 @@ class CallRelation(BaseModel): __properties: ClassVar[List[str]] = ["endpoint", "service", "technologies"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/change_summary.py b/instana_client/models/change_summary.py index 6f44b023..959c7971 100644 --- a/instana_client/models/change_summary.py +++ b/instana_client/models/change_summary.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.author import Author from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ChangeSummary(BaseModel): """ @@ -40,7 +41,8 @@ def change_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/cloudfoundry_physical_context.py b/instana_client/models/cloudfoundry_physical_context.py index d15d21c6..b09267c5 100644 --- a/instana_client/models/cloudfoundry_physical_context.py +++ b/instana_client/models/cloudfoundry_physical_context.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.snapshot_preview import SnapshotPreview from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CloudfoundryPhysicalContext(BaseModel): """ @@ -35,7 +36,8 @@ class CloudfoundryPhysicalContext(BaseModel): __properties: ClassVar[List[str]] = ["application", "cfInstanceIndex", "organization", "space"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of space if self.space: _dict['space'] = self.space.to_dict() + # set to None if application (nullable) is None + # and model_fields_set contains the field + if self.application is None and "application" in self.model_fields_set: + _dict['application'] = None + + # set to None if cf_instance_index (nullable) is None + # and model_fields_set contains the field + if self.cf_instance_index is None and "cf_instance_index" in self.model_fields_set: + _dict['cfInstanceIndex'] = None + + # set to None if organization (nullable) is None + # and model_fields_set contains the field + if self.organization is None and "organization" in self.model_fields_set: + _dict['organization'] = None + + # set to None if space (nullable) is None + # and model_fields_set contains the field + if self.space is None and "space" in self.model_fields_set: + _dict['space'] = None + return _dict @classmethod diff --git a/instana_client/models/condition.py b/instana_client/models/condition.py index 5081d7a2..1cf2fcf1 100644 --- a/instana_client/models/condition.py +++ b/instana_client/models/condition.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Condition(BaseModel): """ @@ -31,7 +32,8 @@ class Condition(BaseModel): __properties: ClassVar[List[str]] = ["query"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/config_version.py b/instana_client/models/config_version.py index 8c91f405..1c7f5310 100644 --- a/instana_client/models/config_version.py +++ b/instana_client/models/config_version.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.change_summary import ChangeSummary from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ConfigVersion(BaseModel): """ @@ -37,7 +38,8 @@ class ConfigVersion(BaseModel): __properties: ClassVar[List[str]] = ["changeSummary", "created", "deleted", "enabled", "id"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/correction.py b/instana_client/models/correction.py index c36def00..d3687ee7 100644 --- a/instana_client/models/correction.py +++ b/instana_client/models/correction.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.correction_window import CorrectionWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Correction(BaseModel): """ @@ -37,7 +38,8 @@ class Correction(BaseModel): __properties: ClassVar[List[str]] = ["activeCorrectionConfigIds", "correctionWindows", "from", "inActiveCorrectionConfigIds", "to"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/correction_configuration.py b/instana_client/models/correction_configuration.py index 3665c2fd..b0921aeb 100644 --- a/instana_client/models/correction_configuration.py +++ b/instana_client/models/correction_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.correction_scheduling import CorrectionScheduling from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CorrectionConfiguration(BaseModel): """ @@ -42,7 +43,8 @@ class CorrectionConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["active", "createdDate", "description", "id", "lastUpdated", "name", "scheduling", "sloIds", "tags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +84,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of scheduling if self.scheduling: _dict['scheduling'] = self.scheduling.to_dict() + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + return _dict @classmethod diff --git a/instana_client/models/correction_scheduling.py b/instana_client/models/correction_scheduling.py index 07a15f08..bd0c75fd 100644 --- a/instana_client/models/correction_scheduling.py +++ b/instana_client/models/correction_scheduling.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CorrectionScheduling(BaseModel): """ @@ -44,7 +45,8 @@ def duration_unit_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/correction_window.py b/instana_client/models/correction_window.py index bc4ddead..db4c1f46 100644 --- a/instana_client/models/correction_window.py +++ b/instana_client/models/correction_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CorrectionWindow(BaseModel): """ @@ -35,7 +36,8 @@ class CorrectionWindow(BaseModel): __properties: ClassVar[List[str]] = ["correctionConfigs", "from", "sloConfigs", "to"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/crash_mobile_app_alert_rule.py b/instana_client/models/crash_mobile_app_alert_rule.py index 6a00bf92..b4f870d1 100644 --- a/instana_client/models/crash_mobile_app_alert_rule.py +++ b/instana_client/models/crash_mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CrashMobileAppAlertRule(MobileAppAlertRule): """ @@ -31,7 +32,8 @@ class CrashMobileAppAlertRule(MobileAppAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/create_evaluation_request.py b/instana_client/models/create_evaluation_request.py new file mode 100644 index 00000000..e296b727 --- /dev/null +++ b/instana_client/models/create_evaluation_request.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateEvaluationRequest(BaseModel): + """ + CreateEvaluationRequest + """ # noqa: E501 + description: Optional[StrictStr] = None + evaluation_name: Annotated[str, Field(min_length=1, strict=True)] + evaluator_ids: Annotated[List[StrictStr], Field(min_length=1)] + metadata: Optional[Dict[str, Dict[str, Any]]] = None + model_names: Optional[List[StrictStr]] = None + sampling_percentage: Optional[Union[StrictFloat, StrictInt]] = None + service_names: Optional[List[StrictStr]] = None + time_before_run_hours: Optional[StrictInt] = None + time_before_run_minutes: Optional[StrictInt] = None + trace_ids: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["description", "evaluation_name", "evaluator_ids", "metadata", "model_names", "sampling_percentage", "service_names", "time_before_run_hours", "time_before_run_minutes", "trace_ids"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateEvaluationRequest 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 CreateEvaluationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "evaluation_name": obj.get("evaluation_name"), + "evaluator_ids": obj.get("evaluator_ids"), + "metadata": obj.get("metadata"), + "model_names": obj.get("model_names"), + "sampling_percentage": obj.get("sampling_percentage"), + "service_names": obj.get("service_names"), + "time_before_run_hours": obj.get("time_before_run_hours"), + "time_before_run_minutes": obj.get("time_before_run_minutes"), + "trace_ids": obj.get("trace_ids") + }) + return _obj + + diff --git a/instana_client/models/create_evaluation_response.py b/instana_client/models/create_evaluation_response.py new file mode 100644 index 00000000..b83c4881 --- /dev/null +++ b/instana_client/models/create_evaluation_response.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateEvaluationResponse(BaseModel): + """ + CreateEvaluationResponse + """ # noqa: E501 + evaluation_id: Optional[StrictStr] = None + message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["evaluation_id", "message"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateEvaluationResponse 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 CreateEvaluationResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "evaluation_id": obj.get("evaluation_id"), + "message": obj.get("message") + }) + return _obj + + diff --git a/instana_client/models/create_website_request_inner.py b/instana_client/models/create_website_request_inner.py index 8b5537a1..89ebc8ee 100644 --- a/instana_client/models/create_website_request_inner.py +++ b/instana_client/models/create_website_request_inner.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CreateWebsiteRequestInner(BaseModel): """ @@ -32,7 +33,8 @@ class CreateWebsiteRequestInner(BaseModel): __properties: ClassVar[List[str]] = ["displayName", "id"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/cursor_paginated_business_activity_item.py b/instana_client/models/cursor_paginated_business_activity_item.py index 7948b325..17acb356 100644 --- a/instana_client/models/cursor_paginated_business_activity_item.py +++ b/instana_client/models/cursor_paginated_business_activity_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.business_activity import BusinessActivity from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CursorPaginatedBusinessActivityItem(BaseModel): """ @@ -34,7 +35,8 @@ class CursorPaginatedBusinessActivityItem(BaseModel): __properties: ClassVar[List[str]] = ["businessActivity", "cursor", "metrics"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/cursor_pagination.py b/instana_client/models/cursor_pagination.py index a6e55fb5..1415bd17 100644 --- a/instana_client/models/cursor_pagination.py +++ b/instana_client/models/cursor_pagination.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CursorPagination(BaseModel): """ @@ -34,7 +35,8 @@ class CursorPagination(BaseModel): __properties: ClassVar[List[str]] = ["ingestionTime", "offset", "retrievalSize"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/cursor_pagination_with_ui_cursor_infra_explore_cursor.py b/instana_client/models/cursor_pagination_with_ui_cursor_infra_explore_cursor.py index 6b6637d5..4f61f013 100644 --- a/instana_client/models/cursor_pagination_with_ui_cursor_infra_explore_cursor.py +++ b/instana_client/models/cursor_pagination_with_ui_cursor_infra_explore_cursor.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CursorPaginationWithUiCursorInfraExploreCursor(BaseModel): """ @@ -34,7 +35,8 @@ class CursorPaginationWithUiCursorInfraExploreCursor(BaseModel): __properties: ClassVar[List[str]] = ["ingestionTime", "offset", "retrievalSize"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_blueprint_indicator.py b/instana_client/models/custom_blueprint_indicator.py index cabb7837..748175b7 100644 --- a/instana_client/models/custom_blueprint_indicator.py +++ b/instana_client/models/custom_blueprint_indicator.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomBlueprintIndicator(ServiceLevelIndicator): """ @@ -32,11 +33,12 @@ class CustomBlueprintIndicator(ServiceLevelIndicator): bad_event_infra_metric: Optional[StrictStr] = Field(default=None, alias="badEventInfraMetric") bad_events_filter: Optional[TagFilterExpressionElement] = Field(default=None, alias="badEventsFilter") good_event_infra_metric: Optional[StrictStr] = Field(default=None, alias="goodEventInfraMetric") - good_events_filter: TagFilterExpressionElement = Field(alias="goodEventsFilter") + good_events_filter: Optional[TagFilterExpressionElement] = Field(alias="goodEventsFilter") __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "badEventInfraMetric", "badEventsFilter", "goodEventInfraMetric", "goodEventsFilter"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +81,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of good_events_filter if self.good_events_filter: _dict['goodEventsFilter'] = self.good_events_filter.to_dict() + # set to None if bad_events_filter (nullable) is None + # and model_fields_set contains the field + if self.bad_events_filter is None and "bad_events_filter" in self.model_fields_set: + _dict['badEventsFilter'] = None + + # set to None if good_events_filter (nullable) is None + # and model_fields_set contains the field + if self.good_events_filter is None and "good_events_filter" in self.model_fields_set: + _dict['goodEventsFilter'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_dashboard.py b/instana_client/models/custom_dashboard.py index cb01dbf7..ac197581 100644 --- a/instana_client/models/custom_dashboard.py +++ b/instana_client/models/custom_dashboard.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.widget import Widget from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomDashboard(BaseModel): """ @@ -37,7 +38,8 @@ class CustomDashboard(BaseModel): __properties: ClassVar[List[str]] = ["accessRules", "id", "title", "widgets"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_dashboard_preview.py b/instana_client/models/custom_dashboard_preview.py index 5770bffa..10a38f8d 100644 --- a/instana_client/models/custom_dashboard_preview.py +++ b/instana_client/models/custom_dashboard_preview.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomDashboardPreview(BaseModel): """ @@ -43,7 +44,8 @@ def annotations_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_dashboard_with_user_specific_information.py b/instana_client/models/custom_dashboard_with_user_specific_information.py index 965142d9..46d2dd11 100644 --- a/instana_client/models/custom_dashboard_with_user_specific_information.py +++ b/instana_client/models/custom_dashboard_with_user_specific_information.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.widget import Widget from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomDashboardWithUserSpecificInformation(BaseModel): """ @@ -39,7 +40,8 @@ class CustomDashboardWithUserSpecificInformation(BaseModel): __properties: ClassVar[List[str]] = ["accessRules", "id", "ownerId", "title", "widgets", "writable"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_dependency.py b/instana_client/models/custom_dependency.py index c1708b49..aae87f44 100644 --- a/instana_client/models/custom_dependency.py +++ b/instana_client/models/custom_dependency.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomDependency(BaseModel): """ @@ -57,7 +58,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -95,6 +96,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if entity_type (nullable) is None + # and model_fields_set contains the field + if self.entity_type is None and "entity_type" in self.model_fields_set: + _dict['entityType'] = None + + # set to None if separator (nullable) is None + # and model_fields_set contains the field + if self.separator is None and "separator" in self.model_fields_set: + _dict['separator'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_email_subject_prefix.py b/instana_client/models/custom_email_subject_prefix.py index 471b3269..ec77acea 100644 --- a/instana_client/models/custom_email_subject_prefix.py +++ b/instana_client/models/custom_email_subject_prefix.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,19 +22,21 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEmailSubjectPrefix(BaseModel): """ CustomEmailSubjectPrefix """ # noqa: E501 - agent_monitoring_issue: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given agent monitoring issue", alias="agentMonitoringIssue") - change: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given change event") - incident: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given incident") - issue: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given issue") + agent_monitoring_issue: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given agent monitoring issue", alias="agentMonitoringIssue", json_schema_extra={"examples": [{"closeValue": "Close email subject prefix value", "openValue": "Open email subject prefix value"}]}) + change: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given change event", json_schema_extra={"examples": [{"changeValue": "Email subject prefix value"}]}) + incident: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given incident", json_schema_extra={"examples": [{"closeValue": "Close email subject prefix value", "openValue": "Open email subject prefix value"}]}) + issue: Optional[Dict[str, StrictStr]] = Field(default=None, description="A map containing the open and close email subject value of a given issue", json_schema_extra={"examples": [{"closeValue": "Close email subject prefix value", "openValue": "Open email subject prefix value"}]}) __properties: ClassVar[List[str]] = ["agentMonitoringIssue", "change", "incident", "issue"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_entity_model.py b/instana_client/models/custom_entity_model.py index f0890e91..9f0ec185 100644 --- a/instana_client/models/custom_entity_model.py +++ b/instana_client/models/custom_entity_model.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEntityModel(BaseModel): """ @@ -39,12 +40,13 @@ class CustomEntityModel(BaseModel): label: Annotated[str, Field(min_length=1, strict=True)] metrics: Optional[List[CustomMetric]] = None name: Optional[StrictStr] = None - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tags: Optional[List[CustomTag]] = None __properties: ClassVar[List[str]] = ["dashboards", "dependencies", "identifiers", "label", "metrics", "name", "tagFilterExpression", "tags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -113,6 +114,36 @@ def to_dict(self) -> Dict[str, Any]: if _item_tags: _items.append(_item_tags.to_dict()) _dict['tags'] = _items + # set to None if dashboards (nullable) is None + # and model_fields_set contains the field + if self.dashboards is None and "dashboards" in self.model_fields_set: + _dict['dashboards'] = None + + # set to None if dependencies (nullable) is None + # and model_fields_set contains the field + if self.dependencies is None and "dependencies" in self.model_fields_set: + _dict['dependencies'] = None + + # set to None if metrics (nullable) is None + # and model_fields_set contains the field + if self.metrics is None and "metrics" in self.model_fields_set: + _dict['metrics'] = None + + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tags (nullable) is None + # and model_fields_set contains the field + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_entity_with_metadata.py b/instana_client/models/custom_entity_with_metadata.py index ce8d45bf..bcfc88f9 100644 --- a/instana_client/models/custom_entity_with_metadata.py +++ b/instana_client/models/custom_entity_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.custom_entity_model import CustomEntityModel from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEntityWithMetadata(BaseModel): """ @@ -36,7 +37,8 @@ class CustomEntityWithMetadata(BaseModel): __properties: ClassVar[List[str]] = ["created", "data", "id", "version"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_event_mobile_app_alert_rule.py b/instana_client/models/custom_event_mobile_app_alert_rule.py index eb5de620..a98c83a4 100644 --- a/instana_client/models/custom_event_mobile_app_alert_rule.py +++ b/instana_client/models/custom_event_mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,21 +19,24 @@ import json from pydantic import ConfigDict, Field -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEventMobileAppAlertRule(MobileAppAlertRule): """ CustomEventMobileAppAlertRule """ # noqa: E501 custom_event_name: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="customEventName") + metric_name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="metricName") __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName", "customEventName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +73,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_name (nullable) is None + # and model_fields_set contains the field + if self.metric_name is None and "metric_name" in self.model_fields_set: + _dict['metricName'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_event_specification.py b/instana_client/models/custom_event_specification.py index 90c04cc9..6f6b9b33 100644 --- a/instana_client/models/custom_event_specification.py +++ b/instana_client/models/custom_event_specification.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.action import Action from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEventSpecification(BaseModel): """ @@ -56,7 +57,8 @@ def rule_logical_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -68,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -108,6 +109,26 @@ def to_dict(self) -> Dict[str, Any]: if _item_rules: _items.append(_item_rules.to_dict()) _dict['rules'] = _items + # set to None if rule_logical_operator (nullable) is None + # and model_fields_set contains the field + if self.rule_logical_operator is None and "rule_logical_operator" in self.model_fields_set: + _dict['ruleLogicalOperator'] = None + + # set to None if transient_event_alert_muted (nullable) is None + # and model_fields_set contains the field + if self.transient_event_alert_muted is None and "transient_event_alert_muted" in self.model_fields_set: + _dict['transientEventAlertMuted'] = None + + # set to None if transient_event_enabled (nullable) is None + # and model_fields_set contains the field + if self.transient_event_enabled is None and "transient_event_enabled" in self.model_fields_set: + _dict['transientEventEnabled'] = None + + # set to None if transient_event_threshold (nullable) is None + # and model_fields_set contains the field + if self.transient_event_threshold is None and "transient_event_threshold" in self.model_fields_set: + _dict['transientEventThreshold'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_event_specification_with_last_updated.py b/instana_client/models/custom_event_specification_with_last_updated.py index ba546475..77178b60 100644 --- a/instana_client/models/custom_event_specification_with_last_updated.py +++ b/instana_client/models/custom_event_specification_with_last_updated.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.action import Action from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEventSpecificationWithLastUpdated(BaseModel): """ @@ -62,7 +63,8 @@ def rule_logical_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -74,8 +76,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -114,6 +115,36 @@ def to_dict(self) -> Dict[str, Any]: if _item_rules: _items.append(_item_rules.to_dict()) _dict['rules'] = _items + # set to None if application_alert_config_id (nullable) is None + # and model_fields_set contains the field + if self.application_alert_config_id is None and "application_alert_config_id" in self.model_fields_set: + _dict['applicationAlertConfigId'] = None + + # set to None if infra_alert_config_id (nullable) is None + # and model_fields_set contains the field + if self.infra_alert_config_id is None and "infra_alert_config_id" in self.model_fields_set: + _dict['infraAlertConfigId'] = None + + # set to None if rule_logical_operator (nullable) is None + # and model_fields_set contains the field + if self.rule_logical_operator is None and "rule_logical_operator" in self.model_fields_set: + _dict['ruleLogicalOperator'] = None + + # set to None if transient_event_alert_muted (nullable) is None + # and model_fields_set contains the field + if self.transient_event_alert_muted is None and "transient_event_alert_muted" in self.model_fields_set: + _dict['transientEventAlertMuted'] = None + + # set to None if transient_event_enabled (nullable) is None + # and model_fields_set contains the field + if self.transient_event_enabled is None and "transient_event_enabled" in self.model_fields_set: + _dict['transientEventEnabled'] = None + + # set to None if transient_event_threshold (nullable) is None + # and model_fields_set contains the field + if self.transient_event_threshold is None and "transient_event_threshold" in self.model_fields_set: + _dict['transientEventThreshold'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_event_website_alert_rule.py b/instana_client/models/custom_event_website_alert_rule.py index 0018f475..7d8ea721 100644 --- a/instana_client/models/custom_event_website_alert_rule.py +++ b/instana_client/models/custom_event_website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,21 +19,24 @@ import json from pydantic import ConfigDict, Field -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.website_alert_rule import WebsiteAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomEventWebsiteAlertRule(WebsiteAlertRule): """ CustomEventWebsiteAlertRule """ # noqa: E501 custom_event_name: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="customEventName") + metric_name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="metricName") __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName", "customEventName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +73,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_name (nullable) is None + # and model_fields_set contains the field + if self.metric_name is None and "metric_name" in self.model_fields_set: + _dict['metricName'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_metric.py b/instana_client/models/custom_metric.py index 81c2db67..3e1d89e8 100644 --- a/instana_client/models/custom_metric.py +++ b/instana_client/models/custom_metric.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomMetric(BaseModel): """ @@ -66,7 +67,8 @@ def section_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -78,8 +80,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -104,6 +105,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if section (nullable) is None + # and model_fields_set contains the field + if self.section is None and "section" in self.model_fields_set: + _dict['section'] = None + return _dict @classmethod diff --git a/instana_client/models/custom_payload_configuration.py b/instana_client/models/custom_payload_configuration.py index cd5aaa7b..12e61559 100644 --- a/instana_client/models/custom_payload_configuration.py +++ b/instana_client/models/custom_payload_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.custom_payload_field import CustomPayloadField from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomPayloadConfiguration(BaseModel): """ @@ -33,7 +34,8 @@ class CustomPayloadConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["fields"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_payload_field.py b/instana_client/models/custom_payload_field.py index 78006256..c2baaf76 100644 --- a/instana_client/models/custom_payload_field.py +++ b/instana_client/models/custom_payload_field.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -40,7 +41,8 @@ class CustomPayloadField(BaseModel): __properties: ClassVar[List[str]] = ["key", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[DynamicField, MetricField, StaticStringField]]: diff --git a/instana_client/models/custom_payload_with_last_updated.py b/instana_client/models/custom_payload_with_last_updated.py index e607fe70..dd4b4507 100644 --- a/instana_client/models/custom_payload_with_last_updated.py +++ b/instana_client/models/custom_payload_with_last_updated.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.custom_payload_field import CustomPayloadField from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomPayloadWithLastUpdated(BaseModel): """ @@ -34,7 +35,8 @@ class CustomPayloadWithLastUpdated(BaseModel): __properties: ClassVar[List[str]] = ["fields", "lastUpdated"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_payload_with_version.py b/instana_client/models/custom_payload_with_version.py index 64e24a8d..7407bd45 100644 --- a/instana_client/models/custom_payload_with_version.py +++ b/instana_client/models/custom_payload_with_version.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.custom_payload_field import CustomPayloadField from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomPayloadWithVersion(BaseModel): """ @@ -35,7 +36,8 @@ class CustomPayloadWithVersion(BaseModel): __properties: ClassVar[List[str]] = ["fields", "lastUpdated", "version"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/custom_tag.py b/instana_client/models/custom_tag.py index 2032c934..a6041412 100644 --- a/instana_client/models/custom_tag.py +++ b/instana_client/models/custom_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class CustomTag(BaseModel): """ @@ -58,7 +59,8 @@ def section_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +97,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + return _dict @classmethod diff --git a/instana_client/models/customer_email.py b/instana_client/models/customer_email.py new file mode 100644 index 00000000..cfa097c7 --- /dev/null +++ b/instana_client/models/customer_email.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CustomerEmail(BaseModel): + """ + CustomerEmail + """ # noqa: E501 + customer_email: Optional[StrictStr] = Field(default=None, alias="customerEmail") + email: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["customerEmail", "email"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CustomerEmail 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 CustomerEmail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customerEmail": obj.get("customerEmail"), + "email": obj.get("email") + }) + return _obj + + diff --git a/instana_client/models/dashboard_api_token.py b/instana_client/models/dashboard_api_token.py index 76d3bfa8..2e5fd7b7 100644 --- a/instana_client/models/dashboard_api_token.py +++ b/instana_client/models/dashboard_api_token.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DashboardApiToken(BaseModel): """ @@ -33,7 +34,8 @@ class DashboardApiToken(BaseModel): __properties: ClassVar[List[str]] = ["id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/database_integration.py b/instana_client/models/database_integration.py index b954fdf9..af8ea4e8 100644 --- a/instana_client/models/database_integration.py +++ b/instana_client/models/database_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DatabaseIntegration(BaseModel): """ @@ -32,7 +33,8 @@ class DatabaseIntegration(BaseModel): __properties: ClassVar[List[str]] = ["type", "url"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/deprecated_tag_filter.py b/instana_client/models/deprecated_tag_filter.py index a09ed765..bc696550 100644 --- a/instana_client/models/deprecated_tag_filter.py +++ b/instana_client/models/deprecated_tag_filter.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DeprecatedTagFilter(BaseModel): """ @@ -52,7 +53,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -64,8 +66,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dns_configuration.py b/instana_client/models/dns_configuration.py index 353c3e9e..23a1cecf 100644 --- a/instana_client/models/dns_configuration.py +++ b/instana_client/models/dns_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DNSConfiguration(SyntheticTypeConfiguration): """ @@ -64,7 +65,8 @@ def transport_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -76,8 +78,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dns_configuration_update.py b/instana_client/models/dns_configuration_update.py index 08af340f..37dfb3a4 100644 --- a/instana_client/models/dns_configuration_update.py +++ b/instana_client/models/dns_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DNSConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -64,7 +65,8 @@ def transport_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -76,8 +78,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dns_filter_query_time.py b/instana_client/models/dns_filter_query_time.py index 9c1533d7..f5a31600 100644 --- a/instana_client/models/dns_filter_query_time.py +++ b/instana_client/models/dns_filter_query_time.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DNSFilterQueryTime(BaseModel): """ @@ -40,7 +41,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dns_filter_target_value.py b/instana_client/models/dns_filter_target_value.py index 1e550e78..8fdcd338 100644 --- a/instana_client/models/dns_filter_target_value.py +++ b/instana_client/models/dns_filter_target_value.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DNSFilterTargetValue(BaseModel): """ @@ -47,7 +48,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/duration.py b/instana_client/models/duration.py index 79411214..a530dec8 100644 --- a/instana_client/models/duration.py +++ b/instana_client/models/duration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Duration(BaseModel): """ @@ -40,7 +41,8 @@ def unit_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dynamic_field.py b/instana_client/models/dynamic_field.py index 00dd00b4..7256b353 100644 --- a/instana_client/models/dynamic_field.py +++ b/instana_client/models/dynamic_field.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.dynamic_field_value import DynamicFieldValue from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DynamicField(CustomPayloadField): """ @@ -33,7 +34,8 @@ class DynamicField(CustomPayloadField): __properties: ClassVar[List[str]] = ["key", "type", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dynamic_field_value.py b/instana_client/models/dynamic_field_value.py index ab6349d1..fb7b26aa 100644 --- a/instana_client/models/dynamic_field_value.py +++ b/instana_client/models/dynamic_field_value.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DynamicFieldValue(BaseModel): """ @@ -33,7 +34,8 @@ class DynamicFieldValue(BaseModel): __properties: ClassVar[List[str]] = ["key", "tagName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if key (nullable) is None + # and model_fields_set contains the field + if self.key is None and "key" in self.model_fields_set: + _dict['key'] = None + return _dict @classmethod diff --git a/instana_client/models/dynamic_parameter.py b/instana_client/models/dynamic_parameter.py index 9782f085..4ced293e 100644 --- a/instana_client/models/dynamic_parameter.py +++ b/instana_client/models/dynamic_parameter.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DynamicParameter(BaseModel): """ @@ -34,7 +35,8 @@ class DynamicParameter(BaseModel): __properties: ClassVar[List[str]] = ["key", "name", "resolvedValue", "tagName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/dynamic_tag.py b/instana_client/models/dynamic_tag.py index ecf72eef..2c3efadc 100644 --- a/instana_client/models/dynamic_tag.py +++ b/instana_client/models/dynamic_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class DynamicTag(BaseModel): """ @@ -38,7 +39,8 @@ class DynamicTag(BaseModel): __properties: ClassVar[List[str]] = ["aliases", "canApplyToDestination", "canApplyToSource", "categoryLabels", "icon", "prefix", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -76,6 +77,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if icon (nullable) is None + # and model_fields_set contains the field + if self.icon is None and "icon" in self.model_fields_set: + _dict['icon'] = None + return _dict @classmethod diff --git a/instana_client/models/edit_user.py b/instana_client/models/edit_user.py index 0e5657a1..7c1ca2da 100644 --- a/instana_client/models/edit_user.py +++ b/instana_client/models/edit_user.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EditUser(BaseModel): """ @@ -32,7 +33,8 @@ class EditUser(BaseModel): __properties: ClassVar[List[str]] = ["fullName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/email_integration.py b/instana_client/models/email_integration.py index 7021e762..cae3ba91 100644 --- a/instana_client/models/email_integration.py +++ b/instana_client/models/email_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,13 +18,14 @@ import re # noqa: F401 import json -from pydantic import ConfigDict, Field +from pydantic import ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.abstract_integration import AbstractIntegration from instana_client.models.custom_email_subject_prefix import CustomEmailSubjectPrefix from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EmailIntegration(AbstractIntegration): """ @@ -32,10 +33,12 @@ class EmailIntegration(AbstractIntegration): """ # noqa: E501 custom_email_subject_prefix: Optional[CustomEmailSubjectPrefix] = Field(default=None, alias="customEmailSubjectPrefix") emails: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=1)] - __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "customEmailSubjectPrefix", "emails"] + transformation_expression: Optional[StrictStr] = Field(default=None, alias="transformationExpression") + __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "customEmailSubjectPrefix", "emails", "transformationExpression"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -93,7 +95,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "name": obj.get("name"), "timezone": obj.get("timezone"), "customEmailSubjectPrefix": CustomEmailSubjectPrefix.from_dict(obj["customEmailSubjectPrefix"]) if obj.get("customEmailSubjectPrefix") is not None else None, - "emails": obj.get("emails") + "emails": obj.get("emails"), + "transformationExpression": obj.get("transformationExpression") }) return _obj diff --git a/instana_client/models/empty_configuration.py b/instana_client/models/empty_configuration.py index c6895630..e65e45b5 100644 --- a/instana_client/models/empty_configuration.py +++ b/instana_client/models/empty_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EmptyConfiguration(SyntheticTypeConfiguration): """ @@ -31,7 +32,8 @@ class EmptyConfiguration(SyntheticTypeConfiguration): __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "syntheticType", "timeout"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/endpoint.py b/instana_client/models/endpoint.py index 244af15e..49d49f5a 100644 --- a/instana_client/models/endpoint.py +++ b/instana_client/models/endpoint.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Endpoint(BaseModel): """ @@ -62,12 +63,13 @@ def synthetic_type_validate_enum(cls, value): @field_validator('type') def type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): - raise ValueError("must be one of enum values ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") + if value not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): + raise ValueError("must be one of enum values ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -79,8 +81,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/endpoint_config.py b/instana_client/models/endpoint_config.py index 327fff08..44b30d4d 100644 --- a/instana_client/models/endpoint_config.py +++ b/instana_client/models/endpoint_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.http_endpoint_rule import HttpEndpointRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointConfig(BaseModel): """ @@ -44,7 +45,8 @@ def endpoint_case_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/endpoint_event_result.py b/instana_client/models/endpoint_event_result.py index 2673eb18..d922d25b 100644 --- a/instana_client/models/endpoint_event_result.py +++ b/instana_client/models/endpoint_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointEventResult(EventResult): """ @@ -31,10 +32,11 @@ class EndpointEventResult(EventResult): application_id: Optional[StrictStr] = Field(default=None, description="ID of the application this endpoint is in scope of.", alias="applicationId") endpoint_id: Optional[StrictStr] = Field(default=None, description="ID of the endpoint.", alias="endpointId") endpoint_service_id: Optional[StrictStr] = Field(default=None, description="ID service related to this endpoint.", alias="endpointServiceId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "applicationId", "endpointId", "endpointServiceId"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "applicationId", "endpointId", "endpointServiceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/endpoint_item.py b/instana_client/models/endpoint_item.py index d1e39fe9..34e012d3 100644 --- a/instana_client/models/endpoint_item.py +++ b/instana_client/models/endpoint_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.endpoint import Endpoint from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointItem(BaseModel): """ @@ -33,7 +34,8 @@ class EndpointItem(BaseModel): __properties: ClassVar[List[str]] = ["endpoint", "metrics"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/endpoint_metric_result.py b/instana_client/models/endpoint_metric_result.py index 40ccba59..c40ae7ad 100644 --- a/instana_client/models/endpoint_metric_result.py +++ b/instana_client/models/endpoint_metric_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.endpoint_item import EndpointItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointMetricResult(BaseModel): """ @@ -38,7 +39,8 @@ class EndpointMetricResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/endpoint_node.py b/instana_client/models/endpoint_node.py index 5c819b15..aed411a0 100644 --- a/instana_client/models/endpoint_node.py +++ b/instana_client/models/endpoint_node.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointNode(BaseModel): """ @@ -33,7 +34,8 @@ class EndpointNode(BaseModel): __properties: ClassVar[List[str]] = ["endpointId", "inclusive"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/endpoint_result.py b/instana_client/models/endpoint_result.py index 4f3a3eaa..d6869df0 100644 --- a/instana_client/models/endpoint_result.py +++ b/instana_client/models/endpoint_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.endpoint import Endpoint from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointResult(BaseModel): """ @@ -35,7 +36,8 @@ class EndpointResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/endpoint_simple.py b/instana_client/models/endpoint_simple.py index a622b2cb..761b20ad 100644 --- a/instana_client/models/endpoint_simple.py +++ b/instana_client/models/endpoint_simple.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EndpointSimple(BaseModel): """ @@ -38,12 +39,13 @@ def type_validate_enum(cls, value): if value is None: return value - if value not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): - raise ValueError("must be one of enum values ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") + if value not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): + raise ValueError("must be one of enum values ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/entity_count_rule.py b/instana_client/models/entity_count_rule.py index e4ba0f57..f0815d94 100644 --- a/instana_client/models/entity_count_rule.py +++ b/instana_client/models/entity_count_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.abstract_rule import AbstractRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EntityCountRule(AbstractRule): """ @@ -40,7 +41,8 @@ def condition_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/entity_count_verification_rule.py b/instana_client/models/entity_count_verification_rule.py index 987fdfb3..6a9e8c79 100644 --- a/instana_client/models/entity_count_verification_rule.py +++ b/instana_client/models/entity_count_verification_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,19 +18,20 @@ import re # noqa: F401 import json -from pydantic import ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from pydantic import ConfigDict, Field, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from instana_client.models.abstract_rule import AbstractRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EntityCountVerificationRule(AbstractRule): """ EntityCountVerificationRule """ # noqa: E501 condition_operator: StrictStr = Field(alias="conditionOperator") - condition_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="conditionValue") + condition_value: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, alias="conditionValue") matching_entity_label: Annotated[str, Field(min_length=0, strict=True, max_length=2048)] = Field(alias="matchingEntityLabel") matching_entity_type: Annotated[str, Field(min_length=0, strict=True, max_length=64)] = Field(alias="matchingEntityType") matching_operator: StrictStr = Field(alias="matchingOperator") @@ -51,7 +52,8 @@ def matching_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +65,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/entity_health_info.py b/instana_client/models/entity_health_info.py index fb839d8e..6cce569d 100644 --- a/instana_client/models/entity_health_info.py +++ b/instana_client/models/entity_health_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.event import Event from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EntityHealthInfo(BaseModel): """ @@ -34,7 +35,8 @@ class EntityHealthInfo(BaseModel): __properties: ClassVar[List[str]] = ["maxSeverity", "openIssues"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/entity_id.py b/instana_client/models/entity_id.py index bbdf14e0..31125e1b 100644 --- a/instana_client/models/entity_id.py +++ b/instana_client/models/entity_id.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,21 +19,23 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EntityId(BaseModel): """ EntityId """ # noqa: E501 - host: StrictStr + host: Optional[StrictStr] plugin_id: StrictStr = Field(description="Plugin name", alias="pluginId") - steady_id: StrictStr = Field(description="Steady identifier for the entity.", alias="steadyId") + steady_id: Optional[StrictStr] = Field(description="Steady identifier for the entity.", alias="steadyId") __properties: ClassVar[List[str]] = ["host", "pluginId", "steadyId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if host (nullable) is None + # and model_fields_set contains the field + if self.host is None and "host" in self.model_fields_set: + _dict['host'] = None + + # set to None if steady_id (nullable) is None + # and model_fields_set contains the field + if self.steady_id is None and "steady_id" in self.model_fields_set: + _dict['steadyId'] = None + return _dict @classmethod diff --git a/instana_client/models/entity_metric.py b/instana_client/models/entity_metric.py new file mode 100644 index 00000000..0adda1a6 --- /dev/null +++ b/instana_client/models/entity_metric.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 instana_client.models.entity_metric_scope import EntityMetricScope +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class EntityMetric(BaseModel): + """ + EntityMetric + """ # noqa: E501 + name: StrictStr = Field(description="Name of the Entity Metric") + scope: Optional[EntityMetricScope] = None + __properties: ClassVar[List[str]] = ["name", "scope"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EntityMetric 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 scope + if self.scope: + _dict['scope'] = self.scope.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EntityMetric from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "scope": EntityMetricScope.from_dict(obj["scope"]) if obj.get("scope") is not None else None + }) + return _obj + + diff --git a/instana_client/models/entity_metric_scope.py b/instana_client/models/entity_metric_scope.py new file mode 100644 index 00000000..0f331cd3 --- /dev/null +++ b/instana_client/models/entity_metric_scope.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 instana_client.models.tag_filter_expression_element import TagFilterExpressionElement +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class EntityMetricScope(BaseModel): + """ + EntityMetricScope + """ # noqa: E501 + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(default=None, alias="tagFilterExpression") + type: StrictStr = Field(description="Type of the Entity Metric. Eg. For Mobile App SLO it would be any of the supported beaconTypes") + __properties: ClassVar[List[str]] = ["tagFilterExpression", "type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EntityMetricScope 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 tag_filter_expression + if self.tag_filter_expression: + _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EntityMetricScope from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tagFilterExpression": TagFilterExpressionElement.from_dict(obj["tagFilterExpression"]) if obj.get("tagFilterExpression") is not None else None, + "type": obj.get("type") + }) + return _obj + + diff --git a/instana_client/models/entity_verification_rule.py b/instana_client/models/entity_verification_rule.py index d06048ad..8b310790 100644 --- a/instana_client/models/entity_verification_rule.py +++ b/instana_client/models/entity_verification_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_rule import AbstractRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EntityVerificationRule(AbstractRule): """ @@ -43,7 +44,8 @@ def matching_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/error_budget_alert_rule.py b/instana_client/models/error_budget_alert_rule.py index 15b4f4ea..9afa59f4 100644 --- a/instana_client/models/error_budget_alert_rule.py +++ b/instana_client/models/error_budget_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.service_levels_alert_rule import ServiceLevelsAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ErrorBudgetAlertRule(ServiceLevelsAlertRule): """ @@ -39,7 +40,8 @@ def metric_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/errors_application_alert_rule.py b/instana_client/models/errors_application_alert_rule.py index c5a2122f..317e65d5 100644 --- a/instana_client/models/errors_application_alert_rule.py +++ b/instana_client/models/errors_application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,20 +18,24 @@ import re # noqa: F401 import json -from pydantic import ConfigDict -from typing import Any, ClassVar, Dict, List +from pydantic import ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated from instana_client.models.application_alert_rule import ApplicationAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ErrorsApplicationAlertRule(ApplicationAlertRule): """ ErrorsApplicationAlertRule """ # noqa: E501 + metric_name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="metricName") __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -69,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_name (nullable) is None + # and model_fields_set contains the field + if self.metric_name is None and "metric_name" in self.model_fields_set: + _dict['metricName'] = None + return _dict @classmethod diff --git a/instana_client/models/evaluation_detail_response.py b/instana_client/models/evaluation_detail_response.py new file mode 100644 index 00000000..3630bb41 --- /dev/null +++ b/instana_client/models/evaluation_detail_response.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class EvaluationDetailResponse(BaseModel): + """ + Detailed evaluation information + """ # noqa: E501 + client_id: Optional[StrictStr] = Field(default=None, description="Client identifier") + created_at: Optional[StrictInt] = Field(default=None, description="Creation timestamp (milliseconds since epoch)") + created_by: Optional[StrictStr] = Field(default=None, description="User who created the evaluation") + description: Optional[StrictStr] = Field(default=None, description="Description of the evaluation") + evaluation_id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the evaluation") + evaluation_name: Optional[StrictStr] = Field(default=None, description="Human-readable name for the evaluation") + evaluator_ids: Optional[List[StrictStr]] = Field(default=None, description="List of evaluator IDs to be used") + model_names: Optional[List[StrictStr]] = Field(default=None, description="List of model names to filter traces") + sampling_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage of traces to sample") + service_names: Optional[List[StrictStr]] = Field(default=None, description="List of service names to filter traces") + time_before_run_hours: Optional[StrictInt] = Field(default=None, description="Hours before run to include traces") + time_before_run_minutes: Optional[StrictInt] = Field(default=None, description="Minutes before run to include traces") + trace_ids: Optional[List[StrictStr]] = Field(default=None, description="List of trace IDs to evaluate") + __properties: ClassVar[List[str]] = ["client_id", "created_at", "created_by", "description", "evaluation_id", "evaluation_name", "evaluator_ids", "model_names", "sampling_percentage", "service_names", "time_before_run_hours", "time_before_run_minutes", "trace_ids"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EvaluationDetailResponse 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 EvaluationDetailResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "client_id": obj.get("client_id"), + "created_at": obj.get("created_at"), + "created_by": obj.get("created_by"), + "description": obj.get("description"), + "evaluation_id": obj.get("evaluation_id"), + "evaluation_name": obj.get("evaluation_name"), + "evaluator_ids": obj.get("evaluator_ids"), + "model_names": obj.get("model_names"), + "sampling_percentage": obj.get("sampling_percentage"), + "service_names": obj.get("service_names"), + "time_before_run_hours": obj.get("time_before_run_hours"), + "time_before_run_minutes": obj.get("time_before_run_minutes"), + "trace_ids": obj.get("trace_ids") + }) + return _obj + + diff --git a/instana_client/models/evaluation_list_item.py b/instana_client/models/evaluation_list_item.py new file mode 100644 index 00000000..8eac5b5d --- /dev/null +++ b/instana_client/models/evaluation_list_item.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class EvaluationListItem(BaseModel): + """ + EvaluationListItem + """ # noqa: E501 + duration_mean_ms: Optional[Union[StrictFloat, StrictInt]] = None + evaluation_id: Optional[StrictStr] = None + evaluator_names: Optional[List[StrictStr]] = None + evaluators: Optional[List[StrictStr]] = None + last_run_start: Optional[StrictInt] = None + metadata: Optional[StrictStr] = None + model_names: Optional[List[StrictStr]] = None + name: Optional[StrictStr] = None + number_of_runs: Optional[StrictInt] = None + sampling_percentage: Optional[Union[StrictFloat, StrictInt]] = None + service_names: Optional[List[StrictStr]] = None + time_before_run_hours: Optional[StrictInt] = None + time_before_run_minutes: Optional[StrictInt] = None + trace_ids: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["duration_mean_ms", "evaluation_id", "evaluator_names", "evaluators", "last_run_start", "metadata", "model_names", "name", "number_of_runs", "sampling_percentage", "service_names", "time_before_run_hours", "time_before_run_minutes", "trace_ids"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EvaluationListItem 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 EvaluationListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "duration_mean_ms": obj.get("duration_mean_ms"), + "evaluation_id": obj.get("evaluation_id"), + "evaluator_names": obj.get("evaluator_names"), + "evaluators": obj.get("evaluators"), + "last_run_start": obj.get("last_run_start"), + "metadata": obj.get("metadata"), + "model_names": obj.get("model_names"), + "name": obj.get("name"), + "number_of_runs": obj.get("number_of_runs"), + "sampling_percentage": obj.get("sampling_percentage"), + "service_names": obj.get("service_names"), + "time_before_run_hours": obj.get("time_before_run_hours"), + "time_before_run_minutes": obj.get("time_before_run_minutes"), + "trace_ids": obj.get("trace_ids") + }) + return _obj + + diff --git a/instana_client/models/evaluation_list_response.py b/instana_client/models/evaluation_list_response.py new file mode 100644 index 00000000..9d8e408d --- /dev/null +++ b/instana_client/models/evaluation_list_response.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from instana_client.models.evaluation_list_item import EvaluationListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class EvaluationListResponse(BaseModel): + """ + EvaluationListResponse + """ # noqa: E501 + evaluations: Optional[List[EvaluationListItem]] = None + total: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["evaluations", "total"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EvaluationListResponse 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 evaluations (list) + _items = [] + if self.evaluations: + for _item_evaluations in self.evaluations: + if _item_evaluations: + _items.append(_item_evaluations.to_dict()) + _dict['evaluations'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EvaluationListResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "evaluations": [EvaluationListItem.from_dict(_item) for _item in obj["evaluations"]] if obj.get("evaluations") is not None else None, + "total": obj.get("total") + }) + return _obj + + diff --git a/instana_client/models/evaluator.py b/instana_client/models/evaluator.py new file mode 100644 index 00000000..4c722e4b --- /dev/null +++ b/instana_client/models/evaluator.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Evaluator(BaseModel): + """ + Evaluator + """ # noqa: E501 + criteria: StrictStr + evaluator_id: Optional[StrictStr] = Field(default=None, alias="evaluatorId") + evaluator_name: StrictStr = Field(alias="evaluatorName") + is_built_in: Optional[StrictBool] = Field(default=None, alias="isBuiltIn") + mean_score: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="meanScore") + number_of_runs: Optional[StrictInt] = Field(default=None, alias="numberOfRuns") + pass_rate_mean: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="passRateMean") + threshold: Union[StrictFloat, StrictInt] + __properties: ClassVar[List[str]] = ["criteria", "evaluatorId", "evaluatorName", "isBuiltIn", "meanScore", "numberOfRuns", "passRateMean", "threshold"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Evaluator 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 Evaluator from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "criteria": obj.get("criteria"), + "evaluatorId": obj.get("evaluatorId"), + "evaluatorName": obj.get("evaluatorName"), + "isBuiltIn": obj.get("isBuiltIn"), + "meanScore": obj.get("meanScore"), + "numberOfRuns": obj.get("numberOfRuns"), + "passRateMean": obj.get("passRateMean"), + "threshold": obj.get("threshold") + }) + return _obj + + diff --git a/instana_client/models/event.py b/instana_client/models/event.py index 19324ed1..31b58d81 100644 --- a/instana_client/models/event.py +++ b/instana_client/models/event.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.problem import Problem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Event(BaseModel): """ @@ -61,7 +62,8 @@ def entity_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -73,8 +75,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -109,6 +110,26 @@ def to_dict(self) -> Dict[str, Any]: if _item_rbac_tags: _items.append(_item_rbac_tags.to_dict()) _dict['rbacTags'] = _items + # set to None if affected_entities (nullable) is None + # and model_fields_set contains the field + if self.affected_entities is None and "affected_entities" in self.model_fields_set: + _dict['affectedEntities'] = None + + # set to None if metric_access_id (nullable) is None + # and model_fields_set contains the field + if self.metric_access_id is None and "metric_access_id" in self.model_fields_set: + _dict['metricAccessId'] = None + + # set to None if rbac_tags (nullable) is None + # and model_fields_set contains the field + if self.rbac_tags is None and "rbac_tags" in self.model_fields_set: + _dict['rbacTags'] = None + + # set to None if short_code (nullable) is None + # and model_fields_set contains the field + if self.short_code is None and "short_code" in self.model_fields_set: + _dict['shortCode'] = None + return _dict @classmethod diff --git a/instana_client/models/event_filtering_configuration.py b/instana_client/models/event_filtering_configuration.py index b0501b93..27d67776 100644 --- a/instana_client/models/event_filtering_configuration.py +++ b/instana_client/models/event_filtering_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EventFilteringConfiguration(BaseModel): """ @@ -46,7 +47,8 @@ def event_types_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +60,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if application_alert_config_ids (nullable) is None + # and model_fields_set contains the field + if self.application_alert_config_ids is None and "application_alert_config_ids" in self.model_fields_set: + _dict['applicationAlertConfigIds'] = None + + # set to None if event_types (nullable) is None + # and model_fields_set contains the field + if self.event_types is None and "event_types" in self.model_fields_set: + _dict['eventTypes'] = None + + # set to None if rule_ids (nullable) is None + # and model_fields_set contains the field + if self.rule_ids is None and "rule_ids" in self.model_fields_set: + _dict['ruleIds'] = None + return _dict @classmethod diff --git a/instana_client/models/event_result.py b/instana_client/models/event_result.py index fa7035cf..6ac8fd05 100644 --- a/instana_client/models/event_result.py +++ b/instana_client/models/event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,10 +19,11 @@ import json from importlib import import_module -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, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,6 +40,7 @@ class EventResult(BaseModel): """ EventResult """ # noqa: E501 + aggregated: Optional[StrictBool] = Field(default=None, description="Whether this event is aggregated across multiple entities.") detail: Optional[StrictStr] = Field(default=None, description="Details of the event.") end: Optional[StrictInt] = Field(default=None, description="A Unix timestamp representing the end time of the Event.") entity_label: Optional[StrictStr] = Field(default=None, description="The label of the affected entity of the event.", alias="entityLabel") @@ -59,10 +61,11 @@ class EventResult(BaseModel): state: Optional[StrictStr] = Field(default=None, description="The state of the Event, \"open\" or \"close\". ") triggering_event_id: Optional[StrictStr] = Field(default=None, description="The triggering event ID in case of an incident.", alias="triggeringEventId") type: Optional[StrictStr] = Field(default=None, description="The type of Event.") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -91,8 +94,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ApplicationEventResult, EndpointEventResult, InfraEventResult, LogEventResult, MobileAppEventResult, ServiceEventResult, SyntheticsEventResult, WebsiteEventResult]]: diff --git a/instana_client/models/event_specification_info.py b/instana_client/models/event_specification_info.py index a9130a1a..5be53ec8 100644 --- a/instana_client/models/event_specification_info.py +++ b/instana_client/models/event_specification_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class EventSpecificationInfo(BaseModel): """ @@ -48,7 +49,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/extended_service.py b/instana_client/models/extended_service.py index 090750cf..1b70213d 100644 --- a/instana_client/models/extended_service.py +++ b/instana_client/models/extended_service.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ExtendedService(BaseModel): """ @@ -53,12 +54,13 @@ def entity_type_validate_enum(cls, value): def types_validate_enum(cls, value): """Validates the enum""" for i in value: - if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): - raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") + if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): + raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/failure_synthetic_alert_rule.py b/instana_client/models/failure_synthetic_alert_rule.py index 3ad3a79e..aad647c5 100644 --- a/instana_client/models/failure_synthetic_alert_rule.py +++ b/instana_client/models/failure_synthetic_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_alert_rule import SyntheticAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class FailureSyntheticAlertRule(SyntheticAlertRule): """ @@ -31,7 +32,8 @@ class FailureSyntheticAlertRule(SyntheticAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/filter_interface.py b/instana_client/models/filter_interface.py new file mode 100644 index 00000000..65fbd3ee --- /dev/null +++ b/instana_client/models/filter_interface.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 instana_client.models.rbac_restrictions import RbacRestrictions +from instana_client.models.time_config import TimeConfig +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class FilterInterface(BaseModel): + """ + FilterInterface + """ # noqa: E501 + rbac_restrictions: Optional[RbacRestrictions] = Field(default=None, alias="rbacRestrictions") + time_config: Optional[TimeConfig] = Field(default=None, alias="timeConfig") + __properties: ClassVar[List[str]] = ["rbacRestrictions", "timeConfig"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FilterInterface 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 rbac_restrictions + if self.rbac_restrictions: + _dict['rbacRestrictions'] = self.rbac_restrictions.to_dict() + # override the default output from pydantic by calling `to_dict()` of time_config + if self.time_config: + _dict['timeConfig'] = self.time_config.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FilterInterface from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rbacRestrictions": RbacRestrictions.from_dict(obj["rbacRestrictions"]) if obj.get("rbacRestrictions") is not None else None, + "timeConfig": TimeConfig.from_dict(obj["timeConfig"]) if obj.get("timeConfig") is not None else None + }) + return _obj + + diff --git a/instana_client/models/fixed_http_path_segment_matching_rule.py b/instana_client/models/fixed_http_path_segment_matching_rule.py index 811d9066..73020ebc 100644 --- a/instana_client/models/fixed_http_path_segment_matching_rule.py +++ b/instana_client/models/fixed_http_path_segment_matching_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class FixedHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): """ @@ -33,7 +34,8 @@ class FixedHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): __properties: ClassVar[List[str]] = ["type", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/fixed_time_window.py b/instana_client/models/fixed_time_window.py index 9e820b2a..d8ea7c5c 100644 --- a/instana_client/models/fixed_time_window.py +++ b/instana_client/models/fixed_time_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.time_window import TimeWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class FixedTimeWindow(TimeWindow): """ @@ -33,7 +34,8 @@ class FixedTimeWindow(TimeWindow): __properties: ClassVar[List[str]] = ["duration", "durationUnit", "timezone", "type", "startTimestamp"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/fleet_configuration.py b/instana_client/models/fleet_configuration.py new file mode 100644 index 00000000..ef855219 --- /dev/null +++ b/instana_client/models/fleet_configuration.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class FleetConfiguration(BaseModel): + """ + FleetConfiguration + """ # noqa: E501 + configuration: Dict[str, Any] + configuration_id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + name: Annotated[str, Field(min_length=1, strict=True)] + type: Annotated[str, Field(min_length=1, strict=True)] + updated_at: Optional[datetime] = None + version: StrictStr + __properties: ClassVar[List[str]] = ["configuration", "configuration_id", "created_at", "name", "type", "updated_at", "version"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetConfiguration 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, + ) + # set to None if configuration_id (nullable) is None + # and model_fields_set contains the field + if self.configuration_id is None and "configuration_id" in self.model_fields_set: + _dict['configuration_id'] = None + + # set to None if created_at (nullable) is None + # and model_fields_set contains the field + if self.created_at is None and "created_at" in self.model_fields_set: + _dict['created_at'] = None + + # set to None if updated_at (nullable) is None + # and model_fields_set contains the field + if self.updated_at is None and "updated_at" in self.model_fields_set: + _dict['updated_at'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "configuration": obj.get("configuration"), + "configuration_id": obj.get("configuration_id"), + "created_at": obj.get("created_at"), + "name": obj.get("name"), + "type": obj.get("type"), + "updated_at": obj.get("updated_at"), + "version": obj.get("version") + }) + return _obj + + diff --git a/instana_client/models/fleet_configuration_assignment.py b/instana_client/models/fleet_configuration_assignment.py new file mode 100644 index 00000000..6492db3a --- /dev/null +++ b/instana_client/models/fleet_configuration_assignment.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class FleetConfigurationAssignment(BaseModel): + """ + FleetConfigurationAssignment + """ # noqa: E501 + agent_host: Annotated[str, Field(min_length=1, strict=True)] + agent_host_id: Annotated[str, Field(min_length=1, strict=True)] + agent_name: Optional[StrictStr] = None + agent_type: Annotated[str, Field(min_length=1, strict=True)] + assignment_id: Optional[StrictStr] = None + configuration_id: Annotated[str, Field(min_length=1, strict=True)] + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["agent_host", "agent_host_id", "agent_name", "agent_type", "assignment_id", "configuration_id", "created_at", "updated_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetConfigurationAssignment 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, + ) + # set to None if agent_name (nullable) is None + # and model_fields_set contains the field + if self.agent_name is None and "agent_name" in self.model_fields_set: + _dict['agent_name'] = None + + # set to None if assignment_id (nullable) is None + # and model_fields_set contains the field + if self.assignment_id is None and "assignment_id" in self.model_fields_set: + _dict['assignment_id'] = None + + # set to None if created_at (nullable) is None + # and model_fields_set contains the field + if self.created_at is None and "created_at" in self.model_fields_set: + _dict['created_at'] = None + + # set to None if updated_at (nullable) is None + # and model_fields_set contains the field + if self.updated_at is None and "updated_at" in self.model_fields_set: + _dict['updated_at'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetConfigurationAssignment from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "agent_host": obj.get("agent_host"), + "agent_host_id": obj.get("agent_host_id"), + "agent_name": obj.get("agent_name"), + "agent_type": obj.get("agent_type"), + "assignment_id": obj.get("assignment_id"), + "configuration_id": obj.get("configuration_id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at") + }) + return _obj + + diff --git a/instana_client/models/fleet_configuration_assignment_response.py b/instana_client/models/fleet_configuration_assignment_response.py new file mode 100644 index 00000000..c31542dc --- /dev/null +++ b/instana_client/models/fleet_configuration_assignment_response.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class FleetConfigurationAssignmentResponse(BaseModel): + """ + FleetConfigurationAssignmentResponse + """ # noqa: E501 + assignment_id: Annotated[str, Field(min_length=1, strict=True)] + message: Annotated[str, Field(min_length=1, strict=True)] + __properties: ClassVar[List[str]] = ["assignment_id", "message"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetConfigurationAssignmentResponse 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 FleetConfigurationAssignmentResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "assignment_id": obj.get("assignment_id"), + "message": obj.get("message") + }) + return _obj + + diff --git a/instana_client/models/fleet_configuration_response.py b/instana_client/models/fleet_configuration_response.py new file mode 100644 index 00000000..d46f917d --- /dev/null +++ b/instana_client/models/fleet_configuration_response.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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_extensions import Annotated +from instana_client.models.fleet_configuration import FleetConfiguration +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class FleetConfigurationResponse(BaseModel): + """ + FleetConfigurationResponse + """ # noqa: E501 + configuration: Optional[FleetConfiguration] = None + configuration_version: Optional[StrictStr] = None + id: Annotated[str, Field(min_length=1, strict=True)] + message: Annotated[str, Field(min_length=1, strict=True)] + status: Annotated[str, Field(min_length=1, strict=True)] + __properties: ClassVar[List[str]] = ["configuration", "configuration_version", "id", "message", "status"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FleetConfigurationResponse 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 configuration + if self.configuration: + _dict['configuration'] = self.configuration.to_dict() + # set to None if configuration (nullable) is None + # and model_fields_set contains the field + if self.configuration is None and "configuration" in self.model_fields_set: + _dict['configuration'] = None + + # set to None if configuration_version (nullable) is None + # and model_fields_set contains the field + if self.configuration_version is None and "configuration_version" in self.model_fields_set: + _dict['configuration_version'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FleetConfigurationResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "configuration": FleetConfiguration.from_dict(obj["configuration"]) if obj.get("configuration") is not None else None, + "configuration_version": obj.get("configuration_version"), + "id": obj.get("id"), + "message": obj.get("message"), + "status": obj.get("status") + }) + return _obj + + diff --git a/instana_client/models/gateway_status_response.py b/instana_client/models/gateway_status_response.py new file mode 100644 index 00000000..9247389f --- /dev/null +++ b/instana_client/models/gateway_status_response.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GatewayStatusResponse(BaseModel): + """ + Gateway status for evaluation capability + """ # noqa: E501 + enabled: Optional[StrictBool] = Field(default=None, description="Whether GENAI_EVALUATION capability is enabled") + gateway_id: Optional[StrictStr] = Field(default=None, description="The ID of the enabled LLM gateway") + gateway_name: Optional[StrictStr] = Field(default=None, description="The name of the enabled LLM gateway") + message: Optional[StrictStr] = Field(default=None, description="Status message") + model_name: Optional[StrictStr] = Field(default=None, description="The LLM model name configured in the gateway") + __properties: ClassVar[List[str]] = ["enabled", "gateway_id", "gateway_name", "message", "model_name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GatewayStatusResponse 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 GatewayStatusResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled"), + "gateway_id": obj.get("gateway_id"), + "gateway_name": obj.get("gateway_name"), + "message": obj.get("message"), + "model_name": obj.get("model_name") + }) + return _obj + + diff --git a/instana_client/models/generic_infra_alert_rule.py b/instana_client/models/generic_infra_alert_rule.py index 2b2ee642..c6b08eab 100644 --- a/instana_client/models/generic_infra_alert_rule.py +++ b/instana_client/models/generic_infra_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GenericInfraAlertRule(InfraAlertRule): """ @@ -35,7 +36,8 @@ class GenericInfraAlertRule(InfraAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "crossSeriesAggregation", "entityType", "metricGroupBy", "metricName", "metricTagFilterExpression", "regex"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -76,6 +77,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of metric_tag_filter_expression if self.metric_tag_filter_expression: _dict['metricTagFilterExpression'] = self.metric_tag_filter_expression.to_dict() + # set to None if metric_tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.metric_tag_filter_expression is None and "metric_tag_filter_expression" in self.model_fields_set: + _dict['metricTagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/geo_location_configuration.py b/instana_client/models/geo_location_configuration.py index 63768bc1..bd109339 100644 --- a/instana_client/models/geo_location_configuration.py +++ b/instana_client/models/geo_location_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.geo_mapping_rule import GeoMappingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GeoLocationConfiguration(BaseModel): """ @@ -41,7 +42,8 @@ def geo_detail_removal_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/geo_mapping_rule.py b/instana_client/models/geo_mapping_rule.py index 8cda3dcb..06b9e42e 100644 --- a/instana_client/models/geo_mapping_rule.py +++ b/instana_client/models/geo_mapping_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.geo_subdivision import GeoSubdivision from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GeoMappingRule(BaseModel): """ @@ -43,7 +44,8 @@ class GeoMappingRule(BaseModel): __properties: ClassVar[List[str]] = ["accuracyRadius", "cidr", "city", "continent", "continentCode", "country", "countryCode", "latitude", "leastSpecificSubdivision", "longitude", "subdivisions"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -91,6 +92,31 @@ def to_dict(self) -> Dict[str, Any]: if _item_subdivisions: _items.append(_item_subdivisions.to_dict()) _dict['subdivisions'] = _items + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if continent (nullable) is None + # and model_fields_set contains the field + if self.continent is None and "continent" in self.model_fields_set: + _dict['continent'] = None + + # set to None if continent_code (nullable) is None + # and model_fields_set contains the field + if self.continent_code is None and "continent_code" in self.model_fields_set: + _dict['continentCode'] = None + + # set to None if country (nullable) is None + # and model_fields_set contains the field + if self.country is None and "country" in self.model_fields_set: + _dict['country'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + return _dict @classmethod diff --git a/instana_client/models/geo_subdivision.py b/instana_client/models/geo_subdivision.py index 531a44ef..56a84442 100644 --- a/instana_client/models/geo_subdivision.py +++ b/instana_client/models/geo_subdivision.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GeoSubdivision(BaseModel): """ @@ -33,7 +34,8 @@ class GeoSubdivision(BaseModel): __properties: ClassVar[List[str]] = ["code", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_action_beacons_result.py b/instana_client/models/get_action_beacons_result.py index 7a7e16ff..3095a787 100644 --- a/instana_client/models/get_action_beacons_result.py +++ b/instana_client/models/get_action_beacons_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,18 +23,20 @@ from instana_client.models.action_beacon import ActionBeacon from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetActionBeaconsResult(BaseModel): """ GetActionBeaconsResult """ # noqa: E501 beacons: List[ActionBeacon] = Field(description="List of action beacons for the current page") - has_more: StrictBool = Field(description="Indicates whether more beacons are available beyond the current page", alias="hasMore") - next_cursor: Optional[StrictInt] = Field(default=None, description="Cursor for the next page (timestamp). Use this value in the next request to fetch more beacons.", alias="nextCursor") + has_more: StrictBool = Field(description="Indicates whether more beacons are available beyond the current page", alias="hasMore", json_schema_extra={"examples": [True]}) + next_cursor: Optional[StrictInt] = Field(default=None, description="Cursor for the next page (timestamp). Use this value in the next request to fetch more beacons.", alias="nextCursor", json_schema_extra={"examples": [1757340000000]}) __properties: ClassVar[List[str]] = ["beacons", "hasMore", "nextCursor"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_activities.py b/instana_client/models/get_activities.py index bfece559..c37ec106 100644 --- a/instana_client/models/get_activities.py +++ b/instana_client/models/get_activities.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetActivities(BaseModel): """ @@ -39,7 +40,8 @@ class GetActivities(BaseModel): __properties: ClassVar[List[str]] = ["order", "pagination", "tagFilterExpression", "timeFrame", "timeframe"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -92,6 +93,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of timeframe if self.timeframe: _dict['timeframe'] = self.timeframe.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_application_metrics.py b/instana_client/models/get_application_metrics.py index 7c2ea43d..c23edf57 100644 --- a/instana_client/models/get_application_metrics.py +++ b/instana_client/models/get_application_metrics.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetApplicationMetrics(BaseModel): """ @@ -38,7 +39,8 @@ class GetApplicationMetrics(BaseModel): __properties: ClassVar[List[str]] = ["includeInternal", "includeSynthetic", "metrics", "tagFilterExpression", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -89,6 +90,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_applications.py b/instana_client/models/get_applications.py index 699078d4..08a79476 100644 --- a/instana_client/models/get_applications.py +++ b/instana_client/models/get_applications.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetApplications(BaseModel): """ @@ -62,12 +63,13 @@ def endpoint_types_validate_enum(cls, value): return value for i in value: - if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): - raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") + if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): + raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -79,8 +81,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_available_metrics_query.py b/instana_client/models/get_available_metrics_query.py index 764d2a06..758ab862 100644 --- a/instana_client/models/get_available_metrics_query.py +++ b/instana_client/models/get_available_metrics_query.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,19 +25,21 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetAvailableMetricsQuery(BaseModel): """ GetAvailableMetricsQuery """ # noqa: E501 query: Optional[Annotated[str, Field(min_length=0, strict=True, max_length=200)]] = Field(default=None, description="Search term used to filter results using fields such as label, description, tag name or keywords") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") time_frame: TimeFrame = Field(alias="timeFrame") type: Optional[StrictStr] = Field(default=None, description="Entity type. Identifier for the monitored technology.") __properties: ClassVar[List[str]] = ["query", "tagFilterExpression", "timeFrame", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -81,6 +82,21 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if query (nullable) is None + # and model_fields_set contains the field + if self.query is None and "query" in self.model_fields_set: + _dict['query'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + return _dict @classmethod diff --git a/instana_client/models/get_available_plugins_query.py b/instana_client/models/get_available_plugins_query.py index 01f0d4b9..08c23a92 100644 --- a/instana_client/models/get_available_plugins_query.py +++ b/instana_client/models/get_available_plugins_query.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,22 +19,24 @@ import json from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetAvailablePluginsQuery(BaseModel): """ GetAvailablePluginsQuery """ # noqa: E501 - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") time_frame: TimeFrame = Field(alias="timeFrame") __properties: ClassVar[List[str]] = ["tagFilterExpression", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -78,6 +79,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_call_groups.py b/instana_client/models/get_call_groups.py index cccdbdfd..582bb47d 100644 --- a/instana_client/models/get_call_groups.py +++ b/instana_client/models/get_call_groups.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetCallGroups(BaseModel): """ @@ -47,7 +48,8 @@ class GetCallGroups(BaseModel): __properties: ClassVar[List[str]] = ["group", "includeInternal", "includeSynthetic", "metrics", "order", "pagination", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -114,6 +115,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tag_filters (nullable) is None + # and model_fields_set contains the field + if self.tag_filters is None and "tag_filters" in self.model_fields_set: + _dict['tagFilters'] = None + return _dict @classmethod diff --git a/instana_client/models/get_combined_metrics.py b/instana_client/models/get_combined_metrics.py index 92538680..659e9903 100644 --- a/instana_client/models/get_combined_metrics.py +++ b/instana_client/models/get_combined_metrics.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,21 +24,23 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetCombinedMetrics(BaseModel): """ GetCombinedMetrics """ # noqa: E501 metrics: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=1, max_length=15)] = Field(description="Id of the exact metric you want to retrieve, eg. \"cpu.user\", \"clientrequests.read.mean\"") - plugin: StrictStr = Field(description="Plugin name") - query: Optional[StrictStr] = Field(default=None, description="Dynamic Focus Query") - rollup: Optional[StrictInt] = Field(default=None, description="Rollup value in seconds") + plugin: StrictStr = Field(description="Plugin name", json_schema_extra={"examples": ["host"]}) + query: Optional[StrictStr] = Field(default=None, description="Dynamic Focus Query", json_schema_extra={"examples": ["entity.selfType:java"]}) + rollup: Optional[StrictInt] = Field(default=None, description="Rollup value in seconds", json_schema_extra={"examples": [5]}) snapshot_ids: Optional[Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=1, max_length=60)]] = Field(default=None, description="Unique identifier the metrics are assigned to", alias="snapshotIds") time_frame: Optional[TimeFrame] = Field(default=None, alias="timeFrame") __properties: ClassVar[List[str]] = ["metrics", "plugin", "query", "rollup", "snapshotIds", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_dynamic_parameter_values.py b/instana_client/models/get_dynamic_parameter_values.py index 7dccc3c6..29f59850 100644 --- a/instana_client/models/get_dynamic_parameter_values.py +++ b/instana_client/models/get_dynamic_parameter_values.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.dynamic_parameter import DynamicParameter from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetDynamicParameterValues(BaseModel): """ @@ -35,7 +36,8 @@ class GetDynamicParameterValues(BaseModel): __properties: ClassVar[List[str]] = ["eventId", "parameters", "timestamp"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_endpoints.py b/instana_client/models/get_endpoints.py index b850e199..cf4235ab 100644 --- a/instana_client/models/get_endpoints.py +++ b/instana_client/models/get_endpoints.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetEndpoints(BaseModel): """ @@ -62,12 +63,13 @@ def endpoint_types_validate_enum(cls, value): return value for i in value: - if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): - raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") + if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): + raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -79,8 +81,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_infrastructure_groups_query.py b/instana_client/models/get_infrastructure_groups_query.py index 75845da1..06964a2d 100644 --- a/instana_client/models/get_infrastructure_groups_query.py +++ b/instana_client/models/get_infrastructure_groups_query.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetInfrastructureGroupsQuery(BaseModel): """ @@ -35,16 +36,17 @@ class GetInfrastructureGroupsQuery(BaseModel): """ # noqa: E501 group_by: Annotated[List[StrictStr], Field(min_length=0, max_length=5)] = Field(description="Entity grouping tag. Use the Instana Analyze Infrastructure dashboard to determine the entity grouping tag name.", alias="groupBy") metrics: Optional[Annotated[List[SimpleMetricConfiguration], Field(min_length=0, max_length=10)]] = None - missing_placeholder: Optional[StrictStr] = Field(default=None, alias="missingPlaceholder") + missing_placeholder: Optional[StrictStr] = Field(default=None, description="Placeholder value for missing tag values", alias="missingPlaceholder") order: Optional[Order] = None pagination: CursorPaginationWithUiCursorInfraExploreCursor - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") time_frame: TimeFrame = Field(alias="timeFrame") type: Optional[StrictStr] = Field(default=None, description="Type of entities") __properties: ClassVar[List[str]] = ["groupBy", "metrics", "missingPlaceholder", "order", "pagination", "tagFilterExpression", "timeFrame", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -101,6 +102,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if metrics (nullable) is None + # and model_fields_set contains the field + if self.metrics is None and "metrics" in self.model_fields_set: + _dict['metrics'] = None + + # set to None if missing_placeholder (nullable) is None + # and model_fields_set contains the field + if self.missing_placeholder is None and "missing_placeholder" in self.model_fields_set: + _dict['missingPlaceholder'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + return _dict @classmethod diff --git a/instana_client/models/get_infrastructure_query.py b/instana_client/models/get_infrastructure_query.py index 5a68e13e..888584ab 100644 --- a/instana_client/models/get_infrastructure_query.py +++ b/instana_client/models/get_infrastructure_query.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetInfrastructureQuery(BaseModel): """ @@ -37,14 +38,15 @@ class GetInfrastructureQuery(BaseModel): missing_placeholder: Optional[StrictStr] = Field(default=None, alias="missingPlaceholder") order: Optional[Order] = None pagination: CursorPaginationWithUiCursorInfraExploreCursor - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tags: Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=5)]] = None time_frame: TimeFrame = Field(alias="timeFrame") type: Optional[StrictStr] = Field(default=None, description="Type of entities") __properties: ClassVar[List[str]] = ["metrics", "missingPlaceholder", "order", "pagination", "tagFilterExpression", "tags", "timeFrame", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -101,6 +102,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if metrics (nullable) is None + # and model_fields_set contains the field + if self.metrics is None and "metrics" in self.model_fields_set: + _dict['metrics'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tags (nullable) is None + # and model_fields_set contains the field + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None + + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + return _dict @classmethod diff --git a/instana_client/models/get_metrics_result.py b/instana_client/models/get_metrics_result.py index 4a331c5e..5ecad4cd 100644 --- a/instana_client/models/get_metrics_result.py +++ b/instana_client/models/get_metrics_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetMetricsResult(BaseModel): """ @@ -42,7 +43,8 @@ class GetMetricsResult(BaseModel): __properties: ClassVar[List[str]] = ["disableDefaultGroups", "groups", "includeAggregatedTestIds", "metrics", "pagination", "tagFilterExpression", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -103,6 +104,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_mobile_app_beacon_groups.py b/instana_client/models/get_mobile_app_beacon_groups.py index 8cef992d..a25664a1 100644 --- a/instana_client/models/get_mobile_app_beacon_groups.py +++ b/instana_client/models/get_mobile_app_beacon_groups.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetMobileAppBeaconGroups(BaseModel): """ @@ -53,7 +54,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -65,8 +67,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -120,6 +121,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tag_filters (nullable) is None + # and model_fields_set contains the field + if self.tag_filters is None and "tag_filters" in self.model_fields_set: + _dict['tagFilters'] = None + return _dict @classmethod diff --git a/instana_client/models/get_mobile_app_beacons.py b/instana_client/models/get_mobile_app_beacons.py index 49dc446a..acbc058f 100644 --- a/instana_client/models/get_mobile_app_beacons.py +++ b/instana_client/models/get_mobile_app_beacons.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetMobileAppBeacons(BaseModel): """ @@ -45,7 +46,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_mobile_app_metrics.py b/instana_client/models/get_mobile_app_metrics.py index 62436ba7..10ed1602 100644 --- a/instana_client/models/get_mobile_app_metrics.py +++ b/instana_client/models/get_mobile_app_metrics.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetMobileAppMetrics(BaseModel): """ @@ -45,7 +46,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_mobile_app_metrics_v2.py b/instana_client/models/get_mobile_app_metrics_v2.py index eacfc711..cffa8eca 100644 --- a/instana_client/models/get_mobile_app_metrics_v2.py +++ b/instana_client/models/get_mobile_app_metrics_v2.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetMobileAppMetricsV2(BaseModel): """ @@ -45,7 +46,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +97,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_payload_keys_result.py b/instana_client/models/get_payload_keys_result.py index 67267d26..82215c4a 100644 --- a/instana_client/models/get_payload_keys_result.py +++ b/instana_client/models/get_payload_keys_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetPayloadKeysResult(BaseModel): """ @@ -31,7 +32,8 @@ class GetPayloadKeysResult(BaseModel): __properties: ClassVar[List[str]] = ["payloadKeys"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -69,6 +70,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if payload_keys (nullable) is None + # and model_fields_set contains the field + if self.payload_keys is None and "payload_keys" in self.model_fields_set: + _dict['payloadKeys'] = None + return _dict @classmethod diff --git a/instana_client/models/get_services.py b/instana_client/models/get_services.py index 38115df0..a38d4400 100644 --- a/instana_client/models/get_services.py +++ b/instana_client/models/get_services.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetServices(BaseModel): """ @@ -65,7 +66,8 @@ def context_scope_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -77,8 +79,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_session_replay_metadata_result.py b/instana_client/models/get_session_replay_metadata_result.py index 8df5eb75..18f6891c 100644 --- a/instana_client/models/get_session_replay_metadata_result.py +++ b/instana_client/models/get_session_replay_metadata_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,18 +23,20 @@ from instana_client.models.session_replay_metadata import SessionReplayMetadata from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetSessionReplayMetadataResult(BaseModel): """ GetSessionReplayMetadataResult """ # noqa: E501 - has_more: StrictBool = Field(description="Whether there are more records to fetch beyond this page", alias="hasMore") + has_more: StrictBool = Field(description="Whether there are more records to fetch beyond this page", alias="hasMore", json_schema_extra={"examples": [True]}) metadata: List[SessionReplayMetadata] = Field(description="List of session replay metadata records") - next_cursor: Optional[StrictInt] = Field(default=None, description="Cursor for the next page (timestamp of last record)", alias="nextCursor") + next_cursor: Optional[StrictInt] = Field(default=None, description="Cursor for the next page (timestamp of last record)", alias="nextCursor", json_schema_extra={"examples": [1234587890]}) __properties: ClassVar[List[str]] = ["hasMore", "metadata", "nextCursor"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_snapshots_query.py b/instana_client/models/get_snapshots_query.py index b60cde39..7baea41c 100644 --- a/instana_client/models/get_snapshots_query.py +++ b/instana_client/models/get_snapshots_query.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetSnapshotsQuery(BaseModel): """ @@ -34,7 +35,8 @@ class GetSnapshotsQuery(BaseModel): __properties: ClassVar[List[str]] = ["snapshotIds", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_test_result.py b/instana_client/models/get_test_result.py index d27642c2..9274695b 100644 --- a/instana_client/models/get_test_result.py +++ b/instana_client/models/get_test_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTestResult(BaseModel): """ @@ -47,7 +48,8 @@ class GetTestResult(BaseModel): __properties: ClassVar[List[str]] = ["applicationId", "locationId", "metrics", "order", "pagination", "serviceId", "tagFilterExpression", "tagFilters", "testId", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -111,6 +112,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_test_result_analytic.py b/instana_client/models/get_test_result_analytic.py index ad875f09..1738b3eb 100644 --- a/instana_client/models/get_test_result_analytic.py +++ b/instana_client/models/get_test_result_analytic.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTestResultAnalytic(BaseModel): """ @@ -43,7 +44,8 @@ class GetTestResultAnalytic(BaseModel): __properties: ClassVar[List[str]] = ["analyticFunction", "includeLocationIdGrouping", "order", "pagination", "syntheticMetrics", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -100,6 +101,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_test_result_base.py b/instana_client/models/get_test_result_base.py index 51b79bed..6c6800d7 100644 --- a/instana_client/models/get_test_result_base.py +++ b/instana_client/models/get_test_result_base.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -27,6 +27,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTestResultBase(BaseModel): """ @@ -40,7 +41,8 @@ class GetTestResultBase(BaseModel): __properties: ClassVar[List[str]] = ["order", "pagination", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -97,6 +98,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_test_result_list.py b/instana_client/models/get_test_result_list.py index a89a3bf5..bf7b4b43 100644 --- a/instana_client/models/get_test_result_list.py +++ b/instana_client/models/get_test_result_list.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTestResultList(BaseModel): """ @@ -43,7 +44,8 @@ class GetTestResultList(BaseModel): __properties: ClassVar[List[str]] = ["applicationId", "order", "pagination", "syntheticMetrics", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -100,6 +101,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_test_summary_result.py b/instana_client/models/get_test_summary_result.py index 5d7ed5c4..4b0232dc 100644 --- a/instana_client/models/get_test_summary_result.py +++ b/instana_client/models/get_test_summary_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTestSummaryResult(BaseModel): """ @@ -42,7 +43,8 @@ class GetTestSummaryResult(BaseModel): __properties: ClassVar[List[str]] = ["metrics", "order", "pagination", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -106,6 +107,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/get_trace_download_result_item.py b/instana_client/models/get_trace_download_result_item.py index 2532654c..0d9a1b2c 100644 --- a/instana_client/models/get_trace_download_result_item.py +++ b/instana_client/models/get_trace_download_result_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.call_relation import CallRelation from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTraceDownloadResultItem(BaseModel): """ @@ -43,7 +44,8 @@ class GetTraceDownloadResultItem(BaseModel): __properties: ClassVar[List[str]] = ["callCount", "cursor", "destination", "duration", "errorCount", "foreignParentId", "id", "minSelfTime", "name", "networkTime", "parentId", "timestamp"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_trace_groups.py b/instana_client/models/get_trace_groups.py index e9b62019..f7fdec8a 100644 --- a/instana_client/models/get_trace_groups.py +++ b/instana_client/models/get_trace_groups.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTraceGroups(BaseModel): """ @@ -47,7 +48,8 @@ class GetTraceGroups(BaseModel): __properties: ClassVar[List[str]] = ["group", "includeInternal", "includeSynthetic", "metrics", "order", "pagination", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -114,6 +115,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tag_filters (nullable) is None + # and model_fields_set contains the field + if self.tag_filters is None and "tag_filters" in self.model_fields_set: + _dict['tagFilters'] = None + return _dict @classmethod diff --git a/instana_client/models/get_traces.py b/instana_client/models/get_traces.py index a23a7299..a3006ec9 100644 --- a/instana_client/models/get_traces.py +++ b/instana_client/models/get_traces.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetTraces(BaseModel): """ @@ -43,7 +44,8 @@ class GetTraces(BaseModel): __properties: ClassVar[List[str]] = ["includeInternal", "includeSynthetic", "order", "pagination", "tagFilterExpression", "tagFilters", "timeFrame"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -100,6 +101,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tag_filters (nullable) is None + # and model_fields_set contains the field + if self.tag_filters is None and "tag_filters" in self.model_fields_set: + _dict['tagFilters'] = None + return _dict @classmethod diff --git a/instana_client/models/get_website_beacon_groups.py b/instana_client/models/get_website_beacon_groups.py index cf443a76..d53ca258 100644 --- a/instana_client/models/get_website_beacon_groups.py +++ b/instana_client/models/get_website_beacon_groups.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.website_monitoring_metrics_configuration import WebsiteMonitoringMetricsConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetWebsiteBeaconGroups(BaseModel): """ @@ -53,7 +54,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -65,8 +67,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -120,6 +121,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if tag_filters (nullable) is None + # and model_fields_set contains the field + if self.tag_filters is None and "tag_filters" in self.model_fields_set: + _dict['tagFilters'] = None + return _dict @classmethod diff --git a/instana_client/models/get_website_beacons.py b/instana_client/models/get_website_beacons.py index 11cb4ef6..988b774e 100644 --- a/instana_client/models/get_website_beacons.py +++ b/instana_client/models/get_website_beacons.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.time_frame import TimeFrame from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetWebsiteBeacons(BaseModel): """ @@ -45,7 +46,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_website_metrics.py b/instana_client/models/get_website_metrics.py index 49b24159..880038cc 100644 --- a/instana_client/models/get_website_metrics.py +++ b/instana_client/models/get_website_metrics.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.website_monitoring_metrics_configuration import WebsiteMonitoringMetricsConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetWebsiteMetrics(BaseModel): """ @@ -45,7 +46,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/get_website_metrics_v2.py b/instana_client/models/get_website_metrics_v2.py index c26dbc72..d01b6f15 100644 --- a/instana_client/models/get_website_metrics_v2.py +++ b/instana_client/models/get_website_metrics_v2.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.website_monitoring_metrics_configuration import WebsiteMonitoringMetricsConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GetWebsiteMetricsV2(BaseModel): """ @@ -45,7 +46,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +97,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_frame if self.time_frame: _dict['timeFrame'] = self.time_frame.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/git_hub_configuration.py b/instana_client/models/git_hub_configuration.py index a61c8525..c8182276 100644 --- a/instana_client/models/git_hub_configuration.py +++ b/instana_client/models/git_hub_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,19 +22,21 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GitHubConfiguration(BaseModel): """ GitHubConfiguration """ # noqa: E501 - branch_name: StrictStr = Field(alias="branchName") + allowed_credentials: Optional[List[StrictStr]] = Field(default=None, alias="allowedCredentials") credential_name: Optional[StrictStr] = Field(default=None, alias="credentialName") script_file: Optional[StrictStr] = Field(default=None, alias="scriptFile") url: StrictStr - __properties: ClassVar[List[str]] = ["branchName", "credentialName", "scriptFile", "url"] + __properties: ClassVar[List[str]] = ["allowedCredentials", "credentialName", "scriptFile", "url"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,7 +85,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "branchName": obj.get("branchName"), + "allowedCredentials": obj.get("allowedCredentials"), "credentialName": obj.get("credentialName"), "scriptFile": obj.get("scriptFile"), "url": obj.get("url") diff --git a/instana_client/models/global_application_alert_config_with_metadata.py b/instana_client/models/global_application_alert_config_with_metadata.py index f7335b2d..92e93d43 100644 --- a/instana_client/models/global_application_alert_config_with_metadata.py +++ b/instana_client/models/global_application_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GlobalApplicationAlertConfigWithMetadata(BaseModel): """ @@ -57,7 +58,7 @@ class GlobalApplicationAlertConfigWithMetadata(BaseModel): rule: Optional[ApplicationAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdApplicationAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: ApplicationTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -85,7 +86,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -97,8 +99,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -156,6 +157,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/global_applications_alert_config.py b/instana_client/models/global_applications_alert_config.py index 5f5100d3..dc2aacc7 100644 --- a/instana_client/models/global_applications_alert_config.py +++ b/instana_client/models/global_applications_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GlobalApplicationsAlertConfig(BaseModel): """ @@ -50,7 +51,7 @@ class GlobalApplicationsAlertConfig(BaseModel): rule: Optional[ApplicationAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdApplicationAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: ApplicationTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -78,7 +79,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -90,8 +92,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -149,6 +150,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/google_chat_integration.py b/instana_client/models/google_chat_integration.py index 4a2705f6..8ff07743 100644 --- a/instana_client/models/google_chat_integration.py +++ b/instana_client/models/google_chat_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GoogleChatIntegration(AbstractIntegration): """ @@ -33,7 +34,8 @@ class GoogleChatIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "webhookUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/graph_edge.py b/instana_client/models/graph_edge.py index a3d81a2b..30b13ee5 100644 --- a/instana_client/models/graph_edge.py +++ b/instana_client/models/graph_edge.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GraphEdge(BaseModel): """ @@ -43,7 +44,8 @@ def relation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/graph_node.py b/instana_client/models/graph_node.py index 8f62d8a5..265a95cc 100644 --- a/instana_client/models/graph_node.py +++ b/instana_client/models/graph_node.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.entity_id import EntityId from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GraphNode(BaseModel): """ @@ -36,7 +37,8 @@ class GraphNode(BaseModel): __properties: ClassVar[List[str]] = ["data", "entityId", "id", "label", "plugin"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/group.py b/instana_client/models/group.py index 7f55ea22..bf388230 100644 --- a/instana_client/models/group.py +++ b/instana_client/models/group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Group(BaseModel): """ @@ -41,7 +42,8 @@ def groupby_tag_entity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if groupby_tag_second_level_key (nullable) is None + # and model_fields_set contains the field + if self.groupby_tag_second_level_key is None and "groupby_tag_second_level_key" in self.model_fields_set: + _dict['groupbyTagSecondLevelKey'] = None + return _dict @classmethod diff --git a/instana_client/models/group_by_tag.py b/instana_client/models/group_by_tag.py index 25fcd431..4a7a6257 100644 --- a/instana_client/models/group_by_tag.py +++ b/instana_client/models/group_by_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GroupByTag(BaseModel): """ @@ -33,7 +34,8 @@ class GroupByTag(BaseModel): __properties: ClassVar[List[str]] = ["key", "tagName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if key (nullable) is None + # and model_fields_set contains the field + if self.key is None and "key" in self.model_fields_set: + _dict['key'] = None + return _dict @classmethod diff --git a/instana_client/models/group_mapping.py b/instana_client/models/group_mapping.py index 8b35e340..5a9ec6ca 100644 --- a/instana_client/models/group_mapping.py +++ b/instana_client/models/group_mapping.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GroupMapping(BaseModel): """ @@ -36,7 +37,8 @@ class GroupMapping(BaseModel): __properties: ClassVar[List[str]] = ["groupId", "id", "key", "teamId", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if team_id (nullable) is None + # and model_fields_set contains the field + if self.team_id is None and "team_id" in self.model_fields_set: + _dict['teamId'] = None + return _dict @classmethod diff --git a/instana_client/models/group_mapping_overview.py b/instana_client/models/group_mapping_overview.py index 3c8685b3..fa575d36 100644 --- a/instana_client/models/group_mapping_overview.py +++ b/instana_client/models/group_mapping_overview.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class GroupMappingOverview(BaseModel): """ @@ -35,7 +36,8 @@ class GroupMappingOverview(BaseModel): __properties: ClassVar[List[str]] = ["id", "key", "role", "team", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/health_state.py b/instana_client/models/health_state.py index 1f1f69d6..8182c1b4 100644 --- a/instana_client/models/health_state.py +++ b/instana_client/models/health_state.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HealthState(BaseModel): """ @@ -42,7 +43,8 @@ def health_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/historic_baseline.py b/instana_client/models/historic_baseline.py index 74337ea0..913a1f1e 100644 --- a/instana_client/models/historic_baseline.py +++ b/instana_client/models/historic_baseline.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,13 +24,14 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HistoricBaseline(Threshold): """ HistoricBaseline """ # noqa: E501 baseline: Optional[List[List[Union[StrictFloat, StrictInt]]]] = None - deviation_factor: Optional[Union[Annotated[float, Field(le=16.0, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") + deviation_factor: Optional[Union[Annotated[float, Field(le=16, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") last_updated: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="lastUpdated") seasonality: StrictStr __properties: ClassVar[List[str]] = ["operator", "type", "baseline", "deviationFactor", "lastUpdated", "seasonality"] @@ -43,7 +44,8 @@ def seasonality_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -81,6 +82,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if baseline (nullable) is None + # and model_fields_set contains the field + if self.baseline is None and "baseline" in self.model_fields_set: + _dict['baseline'] = None + return _dict @classmethod diff --git a/instana_client/models/host_availability_rule.py b/instana_client/models/host_availability_rule.py index dc14d600..d8e4f2e6 100644 --- a/instana_client/models/host_availability_rule.py +++ b/instana_client/models/host_availability_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter import TagFilter from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HostAvailabilityRule(AbstractRule): """ @@ -36,7 +37,8 @@ class HostAvailabilityRule(AbstractRule): __properties: ClassVar[List[str]] = ["ruleType", "severity", "closeAfter", "offlineDuration", "tagFilter"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/http_action_configuration.py b/instana_client/models/http_action_configuration.py index d5f96662..7f5051ee 100644 --- a/instana_client/models/http_action_configuration.py +++ b/instana_client/models/http_action_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HttpActionConfiguration(SyntheticTypeConfiguration): """ @@ -54,7 +55,8 @@ def operation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/http_action_configuration_update.py b/instana_client/models/http_action_configuration_update.py index 5eaa9308..4d1eb048 100644 --- a/instana_client/models/http_action_configuration_update.py +++ b/instana_client/models/http_action_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HttpActionConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -55,7 +56,8 @@ def operation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/http_endpoint_config.py b/instana_client/models/http_endpoint_config.py index b777dbce..1e4d1533 100644 --- a/instana_client/models/http_endpoint_config.py +++ b/instana_client/models/http_endpoint_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.http_endpoint_rule import HttpEndpointRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HttpEndpointConfig(BaseModel): """ @@ -36,7 +37,8 @@ class HttpEndpointConfig(BaseModel): __properties: ClassVar[List[str]] = ["endpointNameByCollectedPathTemplateRuleEnabled", "endpointNameByFirstPathSegmentRuleEnabled", "rules", "serviceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/http_endpoint_rule.py b/instana_client/models/http_endpoint_rule.py index 801c9c3b..98308d4c 100644 --- a/instana_client/models/http_endpoint_rule.py +++ b/instana_client/models/http_endpoint_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HttpEndpointRule(BaseModel): """ @@ -35,7 +36,8 @@ class HttpEndpointRule(BaseModel): __properties: ClassVar[List[str]] = ["enabled", "pathSegments", "testCases"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/http_path_segment_matching_rule.py b/instana_client/models/http_path_segment_matching_rule.py index f6176185..38087a2d 100644 --- a/instana_client/models/http_path_segment_matching_rule.py +++ b/instana_client/models/http_path_segment_matching_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -46,7 +47,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -75,8 +77,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[FixedHttpPathSegmentMatchingRule, MatchAllHttpPathSegmentMatchingRule, PathParameterHttpPathSegmentMatchingRule, UnsupportedHttpPathSegmentMatchingRule]]: diff --git a/instana_client/models/http_script_configuration.py b/instana_client/models/http_script_configuration.py index c73609c5..ff1af985 100644 --- a/instana_client/models/http_script_configuration.py +++ b/instana_client/models/http_script_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HttpScriptConfiguration(SyntheticTypeConfiguration): """ @@ -49,7 +50,8 @@ def script_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -61,8 +63,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/http_script_configuration_update.py b/instana_client/models/http_script_configuration_update.py index a1c68295..0ec5f6de 100644 --- a/instana_client/models/http_script_configuration_update.py +++ b/instana_client/models/http_script_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HttpScriptConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -48,7 +49,8 @@ def script_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/hyper_param.py b/instana_client/models/hyper_param.py index c2694751..31215945 100644 --- a/instana_client/models/hyper_param.py +++ b/instana_client/models/hyper_param.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class HyperParam(BaseModel): """ @@ -48,7 +49,8 @@ def value_format_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/icmp_configuration.py b/instana_client/models/icmp_configuration.py index c25d5465..41d544c1 100644 --- a/instana_client/models/icmp_configuration.py +++ b/instana_client/models/icmp_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ICMPConfiguration(SyntheticTypeConfiguration): """ @@ -40,7 +41,8 @@ class ICMPConfiguration(SyntheticTypeConfiguration): __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "syntheticType", "timeout", "packetCount", "packetInterval", "packetSize", "packetTimeout", "targetHost", "useDNS", "useIPv6", "validationRules"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/icmp_configuration_update.py b/instana_client/models/icmp_configuration_update.py index eba18b1e..87147e6c 100644 --- a/instana_client/models/icmp_configuration_update.py +++ b/instana_client/models/icmp_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ICMPConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -40,7 +41,8 @@ class ICMPConfigurationUpdate(SyntheticTypeConfigurationUpdate): __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "syntheticTest", "syntheticType", "timeout", "packetCount", "packetInterval", "packetSize", "packetTimeout", "targetHost", "useDNS", "useIPv6", "validationRules"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/icmp_validation.py b/instana_client/models/icmp_validation.py index 14f9df61..aa85f53d 100644 --- a/instana_client/models/icmp_validation.py +++ b/instana_client/models/icmp_validation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ICMPValidation(BaseModel): """ @@ -40,7 +41,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/identity_provider_patch.py b/instana_client/models/identity_provider_patch.py index c081fced..0192d33b 100644 --- a/instana_client/models/identity_provider_patch.py +++ b/instana_client/models/identity_provider_patch.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IdentityProviderPatch(BaseModel): """ @@ -31,7 +32,8 @@ class IdentityProviderPatch(BaseModel): __properties: ClassVar[List[str]] = ["restrictEmptyIdpGroups"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/idp_status_update.py b/instana_client/models/idp_status_update.py index cb2ed697..f7339f0b 100644 --- a/instana_client/models/idp_status_update.py +++ b/instana_client/models/idp_status_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IdpStatusUpdate(BaseModel): """ @@ -31,7 +32,8 @@ class IdpStatusUpdate(BaseModel): __properties: ClassVar[List[str]] = ["enabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/impacted_beacon_info.py b/instana_client/models/impacted_beacon_info.py index 77037152..8d5a8b1b 100644 --- a/instana_client/models/impacted_beacon_info.py +++ b/instana_client/models/impacted_beacon_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ImpactedBeaconInfo(BaseModel): """ @@ -35,7 +36,8 @@ class ImpactedBeaconInfo(BaseModel): __properties: ClassVar[List[str]] = ["country", "label", "subdivision", "userEmail", "userName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/infra_alert_config.py b/instana_client/models/infra_alert_config.py index ccf600da..a5339acc 100644 --- a/instana_client/models/infra_alert_config.py +++ b/instana_client/models/infra_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfraAlertConfig(BaseModel): """ @@ -47,7 +48,7 @@ class InfraAlertConfig(BaseModel): rule_logical_operator: Optional[StrictStr] = Field(default=None, description="Set AND / OR", alias="ruleLogicalOperator") rules: Optional[Annotated[List[RuleWithThresholdInfraAlertRule], Field(min_length=1, max_length=5)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[StrictInt] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: InfraTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -81,7 +82,8 @@ def rule_logical_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -93,8 +95,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -145,6 +146,56 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if evaluation_type (nullable) is None + # and model_fields_set contains the field + if self.evaluation_type is None and "evaluation_type" in self.model_fields_set: + _dict['evaluationType'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rule_logical_operator (nullable) is None + # and model_fields_set contains the field + if self.rule_logical_operator is None and "rule_logical_operator" in self.model_fields_set: + _dict['ruleLogicalOperator'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + + # set to None if triggering (nullable) is None + # and model_fields_set contains the field + if self.triggering is None and "triggering" in self.model_fields_set: + _dict['triggering'] = None + return _dict @classmethod diff --git a/instana_client/models/infra_alert_config_with_metadata.py b/instana_client/models/infra_alert_config_with_metadata.py index a0892466..8736dfdc 100644 --- a/instana_client/models/infra_alert_config_with_metadata.py +++ b/instana_client/models/infra_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfraAlertConfigWithMetadata(BaseModel): """ @@ -52,7 +53,7 @@ class InfraAlertConfigWithMetadata(BaseModel): rule_logical_operator: Optional[StrictStr] = Field(default=None, description="Set AND / OR", alias="ruleLogicalOperator") rules: Optional[Annotated[List[RuleWithThresholdInfraAlertRule], Field(min_length=1, max_length=5)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[StrictInt] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: InfraTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -86,7 +87,8 @@ def rule_logical_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -98,8 +100,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -150,6 +151,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + + # set to None if triggering (nullable) is None + # and model_fields_set contains the field + if self.triggering is None and "triggering" in self.model_fields_set: + _dict['triggering'] = None + return _dict @classmethod diff --git a/instana_client/models/infra_alert_rule.py b/instana_client/models/infra_alert_rule.py index ad12b617..4683ed04 100644 --- a/instana_client/models/infra_alert_rule.py +++ b/instana_client/models/infra_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -65,7 +66,8 @@ def cross_series_aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -94,8 +96,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[GenericInfraAlertRule]]: @@ -123,6 +124,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of metric_tag_filter_expression if self.metric_tag_filter_expression: _dict['metricTagFilterExpression'] = self.metric_tag_filter_expression.to_dict() + # set to None if metric_tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.metric_tag_filter_expression is None and "metric_tag_filter_expression" in self.model_fields_set: + _dict['metricTagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/infra_event_result.py b/instana_client/models/infra_event_result.py index 0422b05b..b1692c97 100644 --- a/instana_client/models/infra_event_result.py +++ b/instana_client/models/infra_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfraEventResult(EventResult): """ @@ -30,10 +31,12 @@ class InfraEventResult(EventResult): """ # noqa: E501 ibm_mq_file_transfer: Optional[List[Dict[str, Dict[str, Any]]]] = Field(default=None, description="IBM MQ file transfer information, if relevant for this entity and event.", alias="ibmMqFileTransfer") snapshot_id: Optional[StrictStr] = Field(default=None, description="ID of the snapshot.", alias="snapshotId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "ibmMqFileTransfer"] + snapshot_ids: Optional[List[StrictStr]] = Field(default=None, description="IDs of all affected snapshots. Only present for Infra Smart Alert events.", alias="snapshotIds") + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "ibmMqFileTransfer", "snapshotIds"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +85,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), @@ -103,7 +106,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "state": obj.get("state"), "triggeringEventId": obj.get("triggeringEventId"), "type": obj.get("type"), - "ibmMqFileTransfer": obj.get("ibmMqFileTransfer") + "ibmMqFileTransfer": obj.get("ibmMqFileTransfer"), + "snapshotIds": obj.get("snapshotIds") }) return _obj diff --git a/instana_client/models/infra_slo_entity.py b/instana_client/models/infra_slo_entity.py index 73fac9fd..27360c95 100644 --- a/instana_client/models/infra_slo_entity.py +++ b/instana_client/models/infra_slo_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfraSloEntity(SloEntity): """ @@ -33,7 +34,8 @@ class InfraSloEntity(SloEntity): __properties: ClassVar[List[str]] = ["tagFilterExpression", "type", "infraType"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/infra_time_threshold.py b/instana_client/models/infra_time_threshold.py index 6f0779ca..6f324493 100644 --- a/instana_client/models/infra_time_threshold.py +++ b/instana_client/models/infra_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -37,7 +38,8 @@ class InfraTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ViolationsInSequenceInfraTimeThreshold]]: diff --git a/instana_client/models/infrastructure_entities_result.py b/instana_client/models/infrastructure_entities_result.py index e5330e7d..654436ca 100644 --- a/instana_client/models/infrastructure_entities_result.py +++ b/instana_client/models/infrastructure_entities_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.infrastructure_item import InfrastructureItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfrastructureEntitiesResult(BaseModel): """ @@ -38,7 +39,8 @@ class InfrastructureEntitiesResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "next", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/infrastructure_group.py b/instana_client/models/infrastructure_group.py index 1e45134a..18e8d552 100644 --- a/instana_client/models/infrastructure_group.py +++ b/instana_client/models/infrastructure_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -20,8 +20,10 @@ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt from typing import Any, ClassVar, Dict, List, Optional, Union +from instana_client.models.sampling_metadata import SamplingMetadata from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfrastructureGroup(BaseModel): """ @@ -31,11 +33,13 @@ class InfrastructureGroup(BaseModel): count: Optional[StrictInt] = Field(default=None, description="number of entities in this group") metrics: Optional[Dict[str, List[List[Union[StrictFloat, StrictInt]]]]] = Field(default=None, description="map of metric keys to array of timestamp,value pairs") poll_rate: Optional[StrictInt] = Field(default=None, description="max poll rate across this group", alias="pollRate") + sampling_metadata: Optional[SamplingMetadata] = Field(default=None, alias="samplingMetadata") tags: Optional[Dict[str, Dict[str, Any]]] = Field(default=None, description="tag keys and values for this group") - __properties: ClassVar[List[str]] = ["adjustedGranularities", "count", "metrics", "pollRate", "tags"] + __properties: ClassVar[List[str]] = ["adjustedGranularities", "count", "metrics", "pollRate", "samplingMetadata", "tags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -73,6 +76,14 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of sampling_metadata + if self.sampling_metadata: + _dict['samplingMetadata'] = self.sampling_metadata.to_dict() + # set to None if sampling_metadata (nullable) is None + # and model_fields_set contains the field + if self.sampling_metadata is None and "sampling_metadata" in self.model_fields_set: + _dict['samplingMetadata'] = None + return _dict @classmethod @@ -89,6 +100,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "count": obj.get("count"), "metrics": obj.get("metrics"), "pollRate": obj.get("pollRate"), + "samplingMetadata": SamplingMetadata.from_dict(obj["samplingMetadata"]) if obj.get("samplingMetadata") is not None else None, "tags": obj.get("tags") }) return _obj diff --git a/instana_client/models/infrastructure_groups_result.py b/instana_client/models/infrastructure_groups_result.py index c9f0f23c..5094291c 100644 --- a/instana_client/models/infrastructure_groups_result.py +++ b/instana_client/models/infrastructure_groups_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.infrastructure_group import InfrastructureGroup from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfrastructureGroupsResult(BaseModel): """ @@ -38,7 +39,8 @@ class InfrastructureGroupsResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "next", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/infrastructure_item.py b/instana_client/models/infrastructure_item.py index 759b1003..2feb29ea 100644 --- a/instana_client/models/infrastructure_item.py +++ b/instana_client/models/infrastructure_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.entity_health_info import EntityHealthInfo from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfrastructureItem(BaseModel): """ @@ -39,7 +40,8 @@ class InfrastructureItem(BaseModel): __properties: ClassVar[List[str]] = ["adjustedGranularities", "entityHealthInfo", "label", "metrics", "plugin", "snapshotId", "tags", "time"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/infrastructure_metric_result.py b/instana_client/models/infrastructure_metric_result.py index 22637ddb..84ce2977 100644 --- a/instana_client/models/infrastructure_metric_result.py +++ b/instana_client/models/infrastructure_metric_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.metric_item import MetricItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InfrastructureMetricResult(BaseModel): """ @@ -32,7 +33,8 @@ class InfrastructureMetricResult(BaseModel): __properties: ClassVar[List[str]] = ["items"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/instana_version_info.py b/instana_client/models/instana_version_info.py index 405298f2..8b4381d0 100644 --- a/instana_client/models/instana_version_info.py +++ b/instana_client/models/instana_version_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InstanaVersionInfo(BaseModel): """ @@ -33,7 +34,8 @@ class InstanaVersionInfo(BaseModel): __properties: ClassVar[List[str]] = ["branch", "commit", "imageTag"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/integration_overview.py b/instana_client/models/integration_overview.py index b5539d70..54f0cd91 100644 --- a/instana_client/models/integration_overview.py +++ b/instana_client/models/integration_overview.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.api_tag import ApiTag from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IntegrationOverview(BaseModel): """ @@ -37,7 +38,8 @@ class IntegrationOverview(BaseModel): __properties: ClassVar[List[str]] = ["id", "kind", "name", "properties", "rbacTags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_rbac_tags: _items.append(_item_rbac_tags.to_dict()) _dict['rbacTags'] = _items + # set to None if properties (nullable) is None + # and model_fields_set contains the field + if self.properties is None and "properties" in self.model_fields_set: + _dict['properties'] = None + + # set to None if rbac_tags (nullable) is None + # and model_fields_set contains the field + if self.rbac_tags is None and "rbac_tags" in self.model_fields_set: + _dict['rbacTags'] = None + return _dict @classmethod diff --git a/instana_client/models/invitation.py b/instana_client/models/invitation.py index f136335d..7b0f38b8 100644 --- a/instana_client/models/invitation.py +++ b/instana_client/models/invitation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Invitation(BaseModel): """ @@ -36,7 +37,8 @@ class Invitation(BaseModel): __properties: ClassVar[List[str]] = ["email", "groupId", "message", "path", "teamId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if team_id (nullable) is None + # and model_fields_set contains the field + if self.team_id is None and "team_id" in self.model_fields_set: + _dict['teamId'] = None + return _dict @classmethod diff --git a/instana_client/models/invitation_response.py b/instana_client/models/invitation_response.py index 18b5f185..c3fde740 100644 --- a/instana_client/models/invitation_response.py +++ b/instana_client/models/invitation_response.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.invitation_result import InvitationResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InvitationResponse(BaseModel): """ @@ -32,7 +33,8 @@ class InvitationResponse(BaseModel): __properties: ClassVar[List[str]] = ["invitationResults"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/invitation_result.py b/instana_client/models/invitation_result.py index d66b5285..5abbce71 100644 --- a/instana_client/models/invitation_result.py +++ b/instana_client/models/invitation_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class InvitationResult(BaseModel): """ @@ -42,7 +43,8 @@ def invitation_status_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ip_filtering.py b/instana_client/models/ip_filtering.py index 87b354f8..a48a0846 100644 --- a/instana_client/models/ip_filtering.py +++ b/instana_client/models/ip_filtering.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.ip_filtering_rule_dto import IPFilteringRuleDto from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IPFiltering(BaseModel): """ @@ -38,7 +39,8 @@ class IPFiltering(BaseModel): __properties: ClassVar[List[str]] = ["active", "denyAll", "enabled", "lastChangedAt", "lastVerifiedAt", "rules", "supportAccessEnabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ip_filtering_rule_dto.py b/instana_client/models/ip_filtering_rule_dto.py index 147dcf25..eeb9e6de 100644 --- a/instana_client/models/ip_filtering_rule_dto.py +++ b/instana_client/models/ip_filtering_rule_dto.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IPFilteringRuleDto(BaseModel): """ @@ -32,7 +33,8 @@ class IPFilteringRuleDto(BaseModel): __properties: ClassVar[List[str]] = ["block", "target"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ip_filtering_upsert.py b/instana_client/models/ip_filtering_upsert.py index d3b0a9b4..a5662738 100644 --- a/instana_client/models/ip_filtering_upsert.py +++ b/instana_client/models/ip_filtering_upsert.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.ip_filtering_rule_dto import IPFilteringRuleDto from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IPFilteringUpsert(BaseModel): """ @@ -36,7 +37,8 @@ class IPFilteringUpsert(BaseModel): __properties: ClassVar[List[str]] = ["denyAll", "enabled", "rules", "supportAccessEnabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ip_masking_configuration.py b/instana_client/models/ip_masking_configuration.py index 2cb842a4..ac52022b 100644 --- a/instana_client/models/ip_masking_configuration.py +++ b/instana_client/models/ip_masking_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class IpMaskingConfiguration(BaseModel): """ @@ -38,7 +39,8 @@ def ip_masking_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/js_stack_trace_line.py b/instana_client/models/js_stack_trace_line.py index 9983711f..c2bc90ff 100644 --- a/instana_client/models/js_stack_trace_line.py +++ b/instana_client/models/js_stack_trace_line.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class JsStackTraceLine(BaseModel): """ @@ -37,7 +38,8 @@ class JsStackTraceLine(BaseModel): __properties: ClassVar[List[str]] = ["column", "file", "line", "name", "translationExplanation", "translationStatus"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -75,6 +76,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if translation_explanation (nullable) is None + # and model_fields_set contains the field + if self.translation_explanation is None and "translation_explanation" in self.model_fields_set: + _dict['translationExplanation'] = None + return _dict @classmethod diff --git a/instana_client/models/kubernetes_physical_context.py b/instana_client/models/kubernetes_physical_context.py index 7504b7cd..97aa6680 100644 --- a/instana_client/models/kubernetes_physical_context.py +++ b/instana_client/models/kubernetes_physical_context.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.snapshot_preview import SnapshotPreview from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class KubernetesPhysicalContext(BaseModel): """ @@ -35,7 +36,8 @@ class KubernetesPhysicalContext(BaseModel): __properties: ClassVar[List[str]] = ["cluster", "namespace", "node", "pod"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -85,6 +86,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of pod if self.pod: _dict['pod'] = self.pod.to_dict() + # set to None if cluster (nullable) is None + # and model_fields_set contains the field + if self.cluster is None and "cluster" in self.model_fields_set: + _dict['cluster'] = None + + # set to None if namespace (nullable) is None + # and model_fields_set contains the field + if self.namespace is None and "namespace" in self.model_fields_set: + _dict['namespace'] = None + + # set to None if node (nullable) is None + # and model_fields_set contains the field + if self.node is None and "node" in self.model_fields_set: + _dict['node'] = None + + # set to None if pod (nullable) is None + # and model_fields_set contains the field + if self.pod is None and "pod" in self.model_fields_set: + _dict['pod'] = None + return _dict @classmethod diff --git a/instana_client/models/latency_blueprint_indicator.py b/instana_client/models/latency_blueprint_indicator.py index 511ad0b7..18be566f 100644 --- a/instana_client/models/latency_blueprint_indicator.py +++ b/instana_client/models/latency_blueprint_indicator.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -21,19 +21,23 @@ from pydantic import ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated +from instana_client.models.entity_metric import EntityMetric from instana_client.models.service_level_indicator import ServiceLevelIndicator from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LatencyBlueprintIndicator(ServiceLevelIndicator): """ LatencyBlueprintIndicator """ # noqa: E501 - threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0.0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") - __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type"] + metric: Optional[EntityMetric] = None + threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") + __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "metric"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +74,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 metric + if self.metric: + _dict['metric'] = self.metric.to_dict() return _dict @classmethod @@ -88,7 +94,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "operator": obj.get("operator"), "serviceLevelsMeasurement": obj.get("serviceLevelsMeasurement"), "threshold": obj.get("threshold"), - "type": obj.get("type") + "type": obj.get("type"), + "metric": EntityMetric.from_dict(obj["metric"]) if obj.get("metric") is not None else None }) return _obj diff --git a/instana_client/models/llm_egress_gateway.py b/instana_client/models/llm_egress_gateway.py index abf8ded8..de885df7 100644 --- a/instana_client/models/llm_egress_gateway.py +++ b/instana_client/models/llm_egress_gateway.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -21,11 +21,13 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from uuid import UUID from instana_client.models.llm_gateway_capability import LLMGatewayCapability from instana_client.models.llm_gateway_model import LLMGatewayModel from instana_client.models.llm_gateway_service import LLMGatewayService from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LLMEgressGateway(BaseModel): """ @@ -35,7 +37,7 @@ class LLMEgressGateway(BaseModel): created_at: Optional[StrictStr] = Field(default=None, alias="createdAt") description: Optional[StrictStr] = None enabled: Optional[StrictBool] = None - id: StrictStr + id: UUID instana_agents: Optional[Dict[str, Any]] = Field(default=None, alias="instanaAgents") metadata: Optional[Dict[str, Any]] = None model: LLMGatewayModel @@ -48,7 +50,8 @@ class LLMEgressGateway(BaseModel): __properties: ClassVar[List[str]] = ["capabilities", "createdAt", "description", "enabled", "id", "instanaAgents", "metadata", "model", "modifiedAt", "name", "prompt", "service", "system", "tenantUnitId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +63,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/llm_gateway_capability.py b/instana_client/models/llm_gateway_capability.py index 0ff38cb4..8133a703 100644 --- a/instana_client/models/llm_gateway_capability.py +++ b/instana_client/models/llm_gateway_capability.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LLMGatewayCapability(BaseModel): """ @@ -34,7 +35,8 @@ class LLMGatewayCapability(BaseModel): __properties: ClassVar[List[str]] = ["enabled", "id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/llm_gateway_model.py b/instana_client/models/llm_gateway_model.py index 93480eb2..da3e46a8 100644 --- a/instana_client/models/llm_gateway_model.py +++ b/instana_client/models/llm_gateway_model.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LLMGatewayModel(BaseModel): """ @@ -32,7 +33,8 @@ class LLMGatewayModel(BaseModel): __properties: ClassVar[List[str]] = ["configuration", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/llm_gateway_service.py b/instana_client/models/llm_gateway_service.py index 5923abc6..023f410c 100644 --- a/instana_client/models/llm_gateway_service.py +++ b/instana_client/models/llm_gateway_service.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LLMGatewayService(BaseModel): """ @@ -34,7 +35,8 @@ class LLMGatewayService(BaseModel): __properties: ClassVar[List[str]] = ["connectionParameters", "id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/llm_gateway_test_connection_request.py b/instana_client/models/llm_gateway_test_connection_request.py index c17eb998..72183d3d 100644 --- a/instana_client/models/llm_gateway_test_connection_request.py +++ b/instana_client/models/llm_gateway_test_connection_request.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LLMGatewayTestConnectionRequest(BaseModel): """ @@ -33,7 +34,8 @@ class LLMGatewayTestConnectionRequest(BaseModel): __properties: ClassVar[List[str]] = ["connectionParameters", "gatewayId", "serviceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/llm_model_price.py b/instana_client/models/llm_model_price.py index 8040a271..77d89236 100644 --- a/instana_client/models/llm_model_price.py +++ b/instana_client/models/llm_model_price.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LlmModelPrice(BaseModel): """ @@ -39,7 +40,8 @@ class LlmModelPrice(BaseModel): __properties: ClassVar[List[str]] = ["defaultInputCost", "defaultOutputCost", "hasDefaultPrice", "inputCost", "isUserDefined", "modelName", "outputCost", "platform", "provider"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/llm_model_price_metadata.py b/instana_client/models/llm_model_price_metadata.py index 5c235ff3..f13b505c 100644 --- a/instana_client/models/llm_model_price_metadata.py +++ b/instana_client/models/llm_model_price_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LlmModelPriceMetadata(BaseModel): """ @@ -32,7 +33,8 @@ class LlmModelPriceMetadata(BaseModel): __properties: ClassVar[List[str]] = ["currencyCode"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/location_status.py b/instana_client/models/location_status.py index d4ac0423..9d206f02 100644 --- a/instana_client/models/location_status.py +++ b/instana_client/models/location_status.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LocationStatus(BaseModel): """ @@ -37,7 +38,8 @@ class LocationStatus(BaseModel): __properties: ClassVar[List[str]] = ["locationDisplayLabel", "locationId", "locationType", "successRate", "successRuns", "totalTestRuns"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/log_alert_config.py b/instana_client/models/log_alert_config.py index 6b2298d3..ba31dcd2 100644 --- a/instana_client/models/log_alert_config.py +++ b/instana_client/models/log_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogAlertConfig(BaseModel): """ @@ -44,7 +45,7 @@ class LogAlertConfig(BaseModel): name: Annotated[str, Field(min_length=0, strict=True, max_length=256)] = Field(description="Name of the Log Smart Alert. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.") rules: Optional[Annotated[List[RuleWithThresholdLogAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[StrictInt] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: LogTimeThreshold = Field(alias="timeThreshold") __properties: ClassVar[List[str]] = ["alertChannelIds", "alertChannels", "customPayloadFields", "description", "gracePeriod", "granularity", "groupBy", "name", "rules", "severity", "tagFilterExpression", "threshold", "timeThreshold"] @@ -57,7 +58,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -125,6 +126,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/log_alert_config_with_metadata.py b/instana_client/models/log_alert_config_with_metadata.py index aadcae09..73914e90 100644 --- a/instana_client/models/log_alert_config_with_metadata.py +++ b/instana_client/models/log_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogAlertConfigWithMetadata(BaseModel): """ @@ -49,7 +50,7 @@ class LogAlertConfigWithMetadata(BaseModel): read_only: Optional[StrictBool] = Field(default=None, alias="readOnly") rules: Optional[Annotated[List[RuleWithThresholdLogAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[StrictInt] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: LogTimeThreshold = Field(alias="timeThreshold") __properties: ClassVar[List[str]] = ["alertChannelIds", "alertChannels", "created", "customPayloadFields", "description", "enabled", "gracePeriod", "granularity", "groupBy", "id", "initialCreated", "name", "readOnly", "rules", "severity", "tagFilterExpression", "threshold", "timeThreshold"] @@ -62,7 +63,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -74,8 +76,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -130,6 +131,36 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/log_alert_rule.py b/instana_client/models/log_alert_rule.py index aa2097c4..599c6f5b 100644 --- a/instana_client/models/log_alert_rule.py +++ b/instana_client/models/log_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -49,7 +50,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -78,8 +80,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[LogCountAlertRule]]: diff --git a/instana_client/models/log_count_alert_rule.py b/instana_client/models/log_count_alert_rule.py index 827b6ecd..aec4e8fe 100644 --- a/instana_client/models/log_count_alert_rule.py +++ b/instana_client/models/log_count_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.log_alert_rule import LogAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogCountAlertRule(LogAlertRule): """ @@ -31,7 +32,8 @@ class LogCountAlertRule(LogAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/log_event_result.py b/instana_client/models/log_event_result.py index 1e84c6f9..30f269dc 100644 --- a/instana_client/models/log_event_result.py +++ b/instana_client/models/log_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,16 +23,18 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogEventResult(EventResult): """ LogEventResult """ # noqa: E501 snapshot_id: Optional[StrictStr] = Field(default=None, description="ID of the snapshot.", alias="snapshotId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/log_time_threshold.py b/instana_client/models/log_time_threshold.py index f77f7626..06761c8e 100644 --- a/instana_client/models/log_time_threshold.py +++ b/instana_client/models/log_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -37,7 +38,8 @@ class LogTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ViolationsInSequenceLogTimeThreshold]]: diff --git a/instana_client/models/log_volume_group.py b/instana_client/models/log_volume_group.py index 6386fd35..cfd9369f 100644 --- a/instana_client/models/log_volume_group.py +++ b/instana_client/models/log_volume_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogVolumeGroup(BaseModel): """ @@ -33,7 +34,8 @@ class LogVolumeGroup(BaseModel): __properties: ClassVar[List[str]] = ["label", "logVolume"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/log_volume_usage_item.py b/instana_client/models/log_volume_usage_item.py index 70a8ac4b..69aab8ef 100644 --- a/instana_client/models/log_volume_usage_item.py +++ b/instana_client/models/log_volume_usage_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.retention_period import RetentionPeriod from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogVolumeUsageItem(BaseModel): """ @@ -35,7 +36,8 @@ class LogVolumeUsageItem(BaseModel): __properties: ClassVar[List[str]] = ["logVolume", "numberOfMonth", "retentionPeriods"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/log_volume_usage_result.py b/instana_client/models/log_volume_usage_result.py index f7b50dcd..ff9752e3 100644 --- a/instana_client/models/log_volume_usage_result.py +++ b/instana_client/models/log_volume_usage_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.log_volume_usage_item import LogVolumeUsageItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogVolumeUsageResult(BaseModel): """ @@ -32,7 +33,8 @@ class LogVolumeUsageResult(BaseModel): __properties: ClassVar[List[str]] = ["logVolumeUsageItems"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/logs_api_response.py b/instana_client/models/logs_api_response.py new file mode 100644 index 00000000..0815a0c0 --- /dev/null +++ b/instana_client/models/logs_api_response.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing import Any, ClassVar, Dict, List, Optional +from instana_client.models.api_log_item import ApiLogItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LogsApiResponse(BaseModel): + """ + LogsApiResponse + """ # noqa: E501 + adjusted_time_frame: Optional[StrictStr] = Field(default=None, alias="adjustedTimeFrame") + can_load_more: Optional[StrictBool] = Field(default=None, alias="canLoadMore") + items: Optional[List[ApiLogItem]] = None + total_hits: Optional[StrictInt] = Field(default=None, alias="totalHits") + __properties: ClassVar[List[str]] = ["adjustedTimeFrame", "canLoadMore", "items", "totalHits"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LogsApiResponse 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 items (list) + _items = [] + if self.items: + for _item_items in self.items: + if _item_items: + _items.append(_item_items.to_dict()) + _dict['items'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LogsApiResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "adjustedTimeFrame": obj.get("adjustedTimeFrame"), + "canLoadMore": obj.get("canLoadMore"), + "items": [ApiLogItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None, + "totalHits": obj.get("totalHits") + }) + return _obj + + diff --git a/instana_client/models/logs_application_alert_rule.py b/instana_client/models/logs_application_alert_rule.py index bcb2e785..a1a4b704 100644 --- a/instana_client/models/logs_application_alert_rule.py +++ b/instana_client/models/logs_application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.application_alert_rule import ApplicationAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class LogsApplicationAlertRule(ApplicationAlertRule): """ @@ -59,7 +60,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -71,8 +73,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -97,6 +98,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + return _dict @classmethod diff --git a/instana_client/models/logs_query.py b/instana_client/models/logs_query.py new file mode 100644 index 00000000..48fa72d5 --- /dev/null +++ b/instana_client/models/logs_query.py @@ -0,0 +1,134 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 instana_client.models.filter_interface import FilterInterface +from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement +from instana_client.models.time_config import TimeConfig +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LogsQuery(BaseModel): + """ + LogsQuery + """ # noqa: E501 + filter: Optional[FilterInterface] = None + offset: Optional[Annotated[int, Field(le=2000, strict=True, ge=0)]] = None + order_direction: Optional[StrictStr] = Field(default=None, alias="orderDirection") + requested_tags: Optional[Annotated[List[StrictStr], Field(min_length=0, max_length=30)]] = Field(default=None, alias="requestedTags") + retrieval_size: Optional[Annotated[int, Field(le=200, strict=True, ge=1)]] = Field(default=None, alias="retrievalSize") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(default=None, alias="tagFilterExpression") + time_config: Optional[TimeConfig] = Field(default=None, alias="timeConfig") + __properties: ClassVar[List[str]] = ["filter", "offset", "orderDirection", "requestedTags", "retrievalSize", "tagFilterExpression", "timeConfig"] + + @field_validator('order_direction') + def order_direction_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['ASC', 'DESC']): + raise ValueError("must be one of enum values ('ASC', 'DESC')") + return value + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LogsQuery 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 filter + if self.filter: + _dict['filter'] = self.filter.to_dict() + # override the default output from pydantic by calling `to_dict()` of tag_filter_expression + if self.tag_filter_expression: + _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # override the default output from pydantic by calling `to_dict()` of time_config + if self.time_config: + _dict['timeConfig'] = self.time_config.to_dict() + # set to None if order_direction (nullable) is None + # and model_fields_set contains the field + if self.order_direction is None and "order_direction" in self.model_fields_set: + _dict['orderDirection'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LogsQuery from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": FilterInterface.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "offset": obj.get("offset"), + "orderDirection": obj.get("orderDirection"), + "requestedTags": obj.get("requestedTags"), + "retrievalSize": obj.get("retrievalSize"), + "tagFilterExpression": TagFilterExpressionElement.from_dict(obj["tagFilterExpression"]) if obj.get("tagFilterExpression") is not None else None, + "timeConfig": TimeConfig.from_dict(obj["timeConfig"]) if obj.get("timeConfig") is not None else None + }) + return _obj + + diff --git a/instana_client/models/maintenance_config.py b/instana_client/models/maintenance_config.py index 86417b9e..d4c5c875 100644 --- a/instana_client/models/maintenance_config.py +++ b/instana_client/models/maintenance_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.maintenance_window import MaintenanceWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MaintenanceConfig(BaseModel): """ @@ -36,7 +37,8 @@ class MaintenanceConfig(BaseModel): __properties: ClassVar[List[str]] = ["id", "name", "query", "windows"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/maintenance_config_scheduling.py b/instana_client/models/maintenance_config_scheduling.py index f527e61d..be82220d 100644 --- a/instana_client/models/maintenance_config_scheduling.py +++ b/instana_client/models/maintenance_config_scheduling.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.duration import Duration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -41,7 +42,8 @@ class MaintenanceConfigScheduling(BaseModel): __properties: ClassVar[List[str]] = ["duration", "start", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[OneTimeMaintenanceWindow, RecurrentMaintenanceWindow]]: diff --git a/instana_client/models/maintenance_config_v2.py b/instana_client/models/maintenance_config_v2.py index c42ab57c..04f2423f 100644 --- a/instana_client/models/maintenance_config_v2.py +++ b/instana_client/models/maintenance_config_v2.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MaintenanceConfigV2(BaseModel): """ @@ -41,7 +42,8 @@ class MaintenanceConfigV2(BaseModel): __properties: ClassVar[List[str]] = ["id", "name", "paused", "query", "retriggerOpenAlertsEnabled", "scheduling", "tagFilterExpression", "tagFilterExpressionEnabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -85,6 +86,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/maintenance_config_v2_with_state_and_occurrence.py b/instana_client/models/maintenance_config_v2_with_state_and_occurrence.py index e2cfba5e..77a5eecb 100644 --- a/instana_client/models/maintenance_config_v2_with_state_and_occurrence.py +++ b/instana_client/models/maintenance_config_v2_with_state_and_occurrence.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MaintenanceConfigV2WithStateAndOccurrence(BaseModel): """ @@ -55,7 +56,8 @@ def state_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -102,6 +103,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/maintenance_config_with_last_updated.py b/instana_client/models/maintenance_config_with_last_updated.py index 43182402..f6be8238 100644 --- a/instana_client/models/maintenance_config_with_last_updated.py +++ b/instana_client/models/maintenance_config_with_last_updated.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.maintenance_window import MaintenanceWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MaintenanceConfigWithLastUpdated(BaseModel): """ @@ -37,7 +38,8 @@ class MaintenanceConfigWithLastUpdated(BaseModel): __properties: ClassVar[List[str]] = ["id", "lastUpdated", "name", "query", "windows"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/maintenance_window.py b/instana_client/models/maintenance_window.py index 5455c9e6..c935c2f9 100644 --- a/instana_client/models/maintenance_window.py +++ b/instana_client/models/maintenance_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MaintenanceWindow(BaseModel): """ @@ -34,7 +35,8 @@ class MaintenanceWindow(BaseModel): __properties: ClassVar[List[str]] = ["end", "id", "start"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/manual_alerting_channel_configuration.py b/instana_client/models/manual_alerting_channel_configuration.py index 9c078c35..b633153c 100644 --- a/instana_client/models/manual_alerting_channel_configuration.py +++ b/instana_client/models/manual_alerting_channel_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.static_string_field import StaticStringField from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ManualAlertingChannelConfiguration(BaseModel): """ @@ -34,7 +35,8 @@ class ManualAlertingChannelConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["customPayloadFields", "eventId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/manual_close_info.py b/instana_client/models/manual_close_info.py index f6677252..42a7efd4 100644 --- a/instana_client/models/manual_close_info.py +++ b/instana_client/models/manual_close_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ManualCloseInfo(BaseModel): """ @@ -38,7 +39,8 @@ class ManualCloseInfo(BaseModel): __properties: ClassVar[List[str]] = ["closeTimestamp", "disableEvent", "eventIds", "forceClose", "muteAlerts", "reasonForClosing", "username"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/manual_service_config.py b/instana_client/models/manual_service_config.py index 0e48347d..7d2f1e29 100644 --- a/instana_client/models/manual_service_config.py +++ b/instana_client/models/manual_service_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ManualServiceConfig(BaseModel): """ @@ -33,12 +34,13 @@ class ManualServiceConfig(BaseModel): enabled: Optional[StrictBool] = Field(default=None, description="Enable or disable the manual service configuration. By default it is enabled.") existing_service_id: Optional[StrictStr] = Field(default=None, description="The service ID of the existing monitored service to which the calls should be linked.", alias="existingServiceId") id: Annotated[str, Field(min_length=1, strict=True, max_length=128)] = Field(description="A unique id of the manual service configuration.") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") unmonitored_service_name: Optional[StrictStr] = Field(default=None, description="A service name if you want to map calls to an unmonitored service.", alias="unmonitoredServiceName") __properties: ClassVar[List[str]] = ["description", "enabled", "existingServiceId", "id", "tagFilterExpression", "unmonitoredServiceName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if existing_service_id (nullable) is None + # and model_fields_set contains the field + if self.existing_service_id is None and "existing_service_id" in self.model_fields_set: + _dict['existingServiceId'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if unmonitored_service_name (nullable) is None + # and model_fields_set contains the field + if self.unmonitored_service_name is None and "unmonitored_service_name" in self.model_fields_set: + _dict['unmonitoredServiceName'] = None + return _dict @classmethod diff --git a/instana_client/models/match_all_http_path_segment_matching_rule.py b/instana_client/models/match_all_http_path_segment_matching_rule.py index e4451abf..c141b25c 100644 --- a/instana_client/models/match_all_http_path_segment_matching_rule.py +++ b/instana_client/models/match_all_http_path_segment_matching_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MatchAllHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): """ @@ -31,7 +32,8 @@ class MatchAllHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): __properties: ClassVar[List[str]] = ["type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/match_expression_dto.py b/instana_client/models/match_expression_dto.py index cb7c822c..bcf7f5d6 100644 --- a/instana_client/models/match_expression_dto.py +++ b/instana_client/models/match_expression_dto.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -37,7 +38,8 @@ class MatchExpressionDTO(BaseModel): __properties: ClassVar[List[str]] = ["type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[BinaryOperatorDTO, TagMatcherDTO]]: diff --git a/instana_client/models/meta_data.py b/instana_client/models/meta_data.py index 02635b52..792a9243 100644 --- a/instana_client/models/meta_data.py +++ b/instana_client/models/meta_data.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetaData(BaseModel): """ @@ -35,7 +36,8 @@ class MetaData(BaseModel): __properties: ClassVar[List[str]] = ["ai", "aiOriginated", "builtIn", "readOnly", "sensorImported"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_api_result.py b/instana_client/models/metric_api_result.py index 64154681..f82caa2d 100644 --- a/instana_client/models/metric_api_result.py +++ b/instana_client/models/metric_api_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.adjusted_timeframe import AdjustedTimeframe from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricAPIResult(BaseModel): """ @@ -33,7 +34,8 @@ class MetricAPIResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "metrics"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of adjusted_timeframe if self.adjusted_timeframe: _dict['adjustedTimeframe'] = self.adjusted_timeframe.to_dict() + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/metric_config.py b/instana_client/models/metric_config.py index 8bbd64d2..145593ca 100644 --- a/instana_client/models/metric_config.py +++ b/instana_client/models/metric_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricConfig(BaseModel): """ @@ -41,7 +42,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if granularity (nullable) is None + # and model_fields_set contains the field + if self.granularity is None and "granularity" in self.model_fields_set: + _dict['granularity'] = None + return _dict @classmethod diff --git a/instana_client/models/metric_configuration.py b/instana_client/models/metric_configuration.py index f1181cd5..c1119f89 100644 --- a/instana_client/models/metric_configuration.py +++ b/instana_client/models/metric_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricConfiguration(BaseModel): """ @@ -30,7 +31,7 @@ class MetricConfiguration(BaseModel): """ # noqa: E501 metric_aggregation: Optional[StrictStr] = Field(default=None, description="Specifies the types of aggregations that can be applied to a series of values. For example, `P25` refers to the 25th percentile. Note that not all aggregation methods are available for every metric. For instance, the `Call count` metric supports only the `SUM` aggregation, whereas the `Error rate` metric only supports the `MEAN` aggregation. ", alias="metricAggregation") metric_name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="Defines the name of the metric to be monitored. Examples include `calls` and `latency`", alias="metricName") - threshold: Optional[Union[Annotated[float, Field(strict=True, gt=0.0)], Annotated[int, Field(strict=True, gt=0)]]] = Field(default=None, description="Specifies the threshold value for the metric being monitored") + threshold: Optional[Union[Annotated[float, Field(strict=True, gt=0)], Annotated[int, Field(strict=True, gt=0)]]] = Field(default=None, description="Specifies the threshold value for the metric being monitored") __properties: ClassVar[List[str]] = ["metricAggregation", "metricName", "threshold"] @field_validator('metric_aggregation') @@ -44,7 +45,8 @@ def metric_aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_aggregation (nullable) is None + # and model_fields_set contains the field + if self.metric_aggregation is None and "metric_aggregation" in self.model_fields_set: + _dict['metricAggregation'] = None + return _dict @classmethod diff --git a/instana_client/models/metric_description.py b/instana_client/models/metric_description.py index e8e19c6f..6dc50bfe 100644 --- a/instana_client/models/metric_description.py +++ b/instana_client/models/metric_description.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricDescription(BaseModel): """ @@ -55,7 +56,8 @@ def default_aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_field.py b/instana_client/models/metric_field.py index 7887b51c..31daa671 100644 --- a/instana_client/models/metric_field.py +++ b/instana_client/models/metric_field.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.metric_field_value import MetricFieldValue from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricField(CustomPayloadField): """ @@ -43,8 +44,8 @@ def aggregation_validate_enum(cls, value): if value is None: return value - if value not in set(['SUM', 'MEAN', 'MIN', 'MAX']): - raise ValueError("must be one of enum values ('SUM', 'MEAN', 'MIN', 'MAX')") + if value not in set(['SUM', 'MEAN', 'MIN', 'MAX', 'PER_SECOND']): + raise ValueError("must be one of enum values ('SUM', 'MEAN', 'MIN', 'MAX', 'PER_SECOND')") return value @field_validator('source') @@ -58,7 +59,8 @@ def source_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_field_value.py b/instana_client/models/metric_field_value.py index f74bc733..81ce8612 100644 --- a/instana_client/models/metric_field_value.py +++ b/instana_client/models/metric_field_value.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricFieldValue(BaseModel): """ @@ -37,8 +38,8 @@ class MetricFieldValue(BaseModel): @field_validator('aggregation') def aggregation_validate_enum(cls, value): """Validates the enum""" - if value not in set(['SUM', 'MEAN', 'MIN', 'MAX']): - raise ValueError("must be one of enum values ('SUM', 'MEAN', 'MIN', 'MAX')") + if value not in set(['SUM', 'MEAN', 'MIN', 'MAX', 'PER_SECOND']): + raise ValueError("must be one of enum values ('SUM', 'MEAN', 'MIN', 'MAX', 'PER_SECOND')") return value @field_validator('source') @@ -52,7 +53,8 @@ def source_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -64,8 +66,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_instance.py b/instana_client/models/metric_instance.py index 81e2660d..90e17f15 100644 --- a/instana_client/models/metric_instance.py +++ b/instana_client/models/metric_instance.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricInstance(BaseModel): """ @@ -44,7 +45,8 @@ def formatter_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_item.py b/instana_client/models/metric_item.py index e7159737..4fe8a99e 100644 --- a/instana_client/models/metric_item.py +++ b/instana_client/models/metric_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricItem(BaseModel): """ @@ -38,7 +39,8 @@ class MetricItem(BaseModel): __properties: ClassVar[List[str]] = ["from", "host", "label", "metrics", "plugin", "snapshotId", "tags", "to"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_metadata.py b/instana_client/models/metric_metadata.py index c3cb70fd..f5292fc5 100644 --- a/instana_client/models/metric_metadata.py +++ b/instana_client/models/metric_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricMetadata(BaseModel): """ @@ -67,7 +68,8 @@ def infra_tag_category_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -79,8 +81,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metric_pattern.py b/instana_client/models/metric_pattern.py index e2e6ccc7..687d8666 100644 --- a/instana_client/models/metric_pattern.py +++ b/instana_client/models/metric_pattern.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricPattern(BaseModel): """ @@ -42,7 +43,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +81,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if placeholder (nullable) is None + # and model_fields_set contains the field + if self.placeholder is None and "placeholder" in self.model_fields_set: + _dict['placeholder'] = None + + # set to None if postfix (nullable) is None + # and model_fields_set contains the field + if self.postfix is None and "postfix" in self.model_fields_set: + _dict['postfix'] = None + return _dict @classmethod diff --git a/instana_client/models/metrics_result.py b/instana_client/models/metrics_result.py index c8b28d58..d2b42902 100644 --- a/instana_client/models/metrics_result.py +++ b/instana_client/models/metrics_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.metrics_result_item import MetricsResultItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricsResult(BaseModel): """ @@ -32,7 +33,8 @@ class MetricsResult(BaseModel): __properties: ClassVar[List[str]] = ["metricsResult"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/metrics_result_item.py b/instana_client/models/metrics_result_item.py index c8c99463..1184af15 100644 --- a/instana_client/models/metrics_result_item.py +++ b/instana_client/models/metrics_result_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.metrics_test_result_item import MetricsTestResultItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricsResultItem(BaseModel): """ @@ -35,7 +36,8 @@ class MetricsResultItem(BaseModel): __properties: ClassVar[List[str]] = ["customTags", "metrics", "runType", "tests"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +81,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_tests: _items.append(_item_tests.to_dict()) _dict['tests'] = _items + # set to None if run_type (nullable) is None + # and model_fields_set contains the field + if self.run_type is None and "run_type" in self.model_fields_set: + _dict['runType'] = None + return _dict @classmethod diff --git a/instana_client/models/metrics_test_result_item.py b/instana_client/models/metrics_test_result_item.py index 2b1000ce..e26b1aa5 100644 --- a/instana_client/models/metrics_test_result_item.py +++ b/instana_client/models/metrics_test_result_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MetricsTestResultItem(BaseModel): """ @@ -39,7 +40,8 @@ class MetricsTestResultItem(BaseModel): __properties: ClassVar[List[str]] = ["applicationId", "applicationIds", "locationId", "mobileApplicationIds", "serviceId", "testId", "testName", "websiteIds"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/mobile_app.py b/instana_client/models/mobile_app.py index eaa9c482..da70809f 100644 --- a/instana_client/models/mobile_app.py +++ b/instana_client/models/mobile_app.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,22 +18,25 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileApp(BaseModel): """ MobileApp """ # noqa: E501 + business_criticality: Optional[StrictInt] = Field(default=None, alias="businessCriticality") id: Annotated[str, Field(min_length=0, strict=True, max_length=128)] name: Annotated[str, Field(min_length=0, strict=True, max_length=128)] - __properties: ClassVar[List[str]] = ["id", "name"] + __properties: ClassVar[List[str]] = ["businessCriticality", "id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +85,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "businessCriticality": obj.get("businessCriticality"), "id": obj.get("id"), "name": obj.get("name") }) diff --git a/instana_client/models/mobile_app_alert_config.py b/instana_client/models/mobile_app_alert_config.py index dfe582c7..22d37cd7 100644 --- a/instana_client/models/mobile_app_alert_config.py +++ b/instana_client/models/mobile_app_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppAlertConfig(BaseModel): """ @@ -49,7 +50,7 @@ class MobileAppAlertConfig(BaseModel): rule: Optional[MobileAppAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdMobileAppAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: MobileAppTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -63,7 +64,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -75,8 +77,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -130,6 +131,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_alert_config_with_rbac_tag.py b/instana_client/models/mobile_app_alert_config_with_rbac_tag.py index fe71a5df..afd95157 100644 --- a/instana_client/models/mobile_app_alert_config_with_rbac_tag.py +++ b/instana_client/models/mobile_app_alert_config_with_rbac_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -31,6 +31,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppAlertConfigWithRBACTag(BaseModel): """ @@ -54,7 +55,7 @@ class MobileAppAlertConfigWithRBACTag(BaseModel): rule: Optional[MobileAppAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdMobileAppAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: MobileAppTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -68,7 +69,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -80,8 +82,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -142,6 +143,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_alert_rule.py b/instana_client/models/mobile_app_alert_rule.py index de180c0b..05b9eaa4 100644 --- a/instana_client/models/mobile_app_alert_rule.py +++ b/instana_client/models/mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -53,7 +54,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -82,8 +84,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[CrashMobileAppAlertRule, CustomEventMobileAppAlertRule, SlownessMobileAppAlertRule, StatusCodeMobileAppAlertRule, ThroughputMobileAppAlertRule]]: diff --git a/instana_client/models/mobile_app_beacon_groups_item.py b/instana_client/models/mobile_app_beacon_groups_item.py index 9a39a7af..dba33f4f 100644 --- a/instana_client/models/mobile_app_beacon_groups_item.py +++ b/instana_client/models/mobile_app_beacon_groups_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppBeaconGroupsItem(BaseModel): """ @@ -35,7 +36,8 @@ class MobileAppBeaconGroupsItem(BaseModel): __properties: ClassVar[List[str]] = ["cursor", "earliestTimestamp", "metrics", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/mobile_app_beacon_groups_result.py b/instana_client/models/mobile_app_beacon_groups_result.py index 8c027904..4db5037a 100644 --- a/instana_client/models/mobile_app_beacon_groups_result.py +++ b/instana_client/models/mobile_app_beacon_groups_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.mobile_app_beacon_groups_item import MobileAppBeaconGroupsItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppBeaconGroupsResult(BaseModel): """ @@ -39,7 +40,8 @@ class MobileAppBeaconGroupsResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_beacon_result.py b/instana_client/models/mobile_app_beacon_result.py index f466358d..3d047093 100644 --- a/instana_client/models/mobile_app_beacon_result.py +++ b/instana_client/models/mobile_app_beacon_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.mobile_app_beacons_item import MobileAppBeaconsItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppBeaconResult(BaseModel): """ @@ -39,7 +40,8 @@ class MobileAppBeaconResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_beacon_tag_group.py b/instana_client/models/mobile_app_beacon_tag_group.py index c617db8d..cf6ee4c6 100644 --- a/instana_client/models/mobile_app_beacon_tag_group.py +++ b/instana_client/models/mobile_app_beacon_tag_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppBeaconTagGroup(BaseModel): """ @@ -41,7 +42,8 @@ def groupby_tag_entity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if groupby_tag_second_level_key (nullable) is None + # and model_fields_set contains the field + if self.groupby_tag_second_level_key is None and "groupby_tag_second_level_key" in self.model_fields_set: + _dict['groupbyTagSecondLevelKey'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_beacons_item.py b/instana_client/models/mobile_app_beacons_item.py index 6138b4e1..027a9a5f 100644 --- a/instana_client/models/mobile_app_beacons_item.py +++ b/instana_client/models/mobile_app_beacons_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.mobile_app_monitoring_beacon import MobileAppMonitoringBeacon from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppBeaconsItem(BaseModel): """ @@ -35,7 +36,8 @@ class MobileAppBeaconsItem(BaseModel): __properties: ClassVar[List[str]] = ["beacon", "cursor", "impactedBeaconInfo"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/mobile_app_event_result.py b/instana_client/models/mobile_app_event_result.py index fd2e6f86..a9702fd8 100644 --- a/instana_client/models/mobile_app_event_result.py +++ b/instana_client/models/mobile_app_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,16 +23,18 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppEventResult(EventResult): """ MobileAppEventResult """ # noqa: E501 mobile_app_id: Optional[StrictStr] = Field(default=None, description="ID of the mobile app.", alias="mobileAppId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "mobileAppId"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "mobileAppId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/mobile_app_metric_result.py b/instana_client/models/mobile_app_metric_result.py index 54739ed6..f1bd1ab5 100644 --- a/instana_client/models/mobile_app_metric_result.py +++ b/instana_client/models/mobile_app_metric_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppMetricResult(BaseModel): """ @@ -32,7 +33,8 @@ class MobileAppMetricResult(BaseModel): __properties: ClassVar[List[str]] = ["empty"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/mobile_app_monitoring_beacon.py b/instana_client/models/mobile_app_monitoring_beacon.py index 3a25d620..ae332746 100644 --- a/instana_client/models/mobile_app_monitoring_beacon.py +++ b/instana_client/models/mobile_app_monitoring_beacon.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.stack_trace_line import StackTraceLine from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppMonitoringBeacon(BaseModel): """ @@ -124,7 +125,8 @@ class MobileAppMonitoringBeacon(BaseModel): __properties: ClassVar[List[str]] = ["accuracyRadius", "agentVersion", "appBuild", "appVersion", "appVersionNumber", "availableMb", "backendTraceId", "batchSize", "beaconId", "bundleIdentifier", "bytesIngested", "carrier", "city", "clockSkew", "coldStartTimeMs", "connectionType", "continent", "continentCode", "country", "countryCode", "currentAppState", "customEventName", "customMetric", "decodedBodySize", "deviceHardware", "deviceManufacturer", "deviceModel", "dropView", "duration", "effectiveConnectionType", "encodedBodySize", "environment", "errorCount", "errorId", "errorMessage", "errorType", "googlePlayServicesMissing", "hotStartTimeMs", "httpCallHeaders", "httpCallMethod", "httpCallOrigin", "httpCallPath", "httpCallStatus", "httpCallUrl", "ingestionTime", "internalMeta", "label", "latitude", "longitude", "maxMb", "meta", "mobileAppId", "mobileAppLabel", "osName", "osVersion", "parentBeaconId", "parsedStackTrace", "performanceSubtype", "platform", "rateLimitBeaconType", "rateLimitCount", "rateLimitCustomMetricVal", "rateLimitTimeMax", "rateLimitTimeMin", "region", "rooted", "sessionId", "sessionReplayStatus", "stackTrace", "stackTraceKeyChecksum", "stackTraceKeyInformation", "stackTraceLine", "stackTraceParsingStatus", "subdivision", "subdivisionCode", "tenant", "timestamp", "transferSize", "type", "unit", "useFeatures", "usedMb", "userEmail", "userId", "userIp", "userLanguages", "userName", "userSessionId", "view", "viewportHeight", "viewportWidth", "warmStartTimeMs"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -136,8 +138,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -169,6 +170,251 @@ def to_dict(self) -> Dict[str, Any]: if _item_stack_trace_line: _items.append(_item_stack_trace_line.to_dict()) _dict['stackTraceLine'] = _items + # set to None if app_build (nullable) is None + # and model_fields_set contains the field + if self.app_build is None and "app_build" in self.model_fields_set: + _dict['appBuild'] = None + + # set to None if app_version (nullable) is None + # and model_fields_set contains the field + if self.app_version is None and "app_version" in self.model_fields_set: + _dict['appVersion'] = None + + # set to None if backend_trace_id (nullable) is None + # and model_fields_set contains the field + if self.backend_trace_id is None and "backend_trace_id" in self.model_fields_set: + _dict['backendTraceId'] = None + + # set to None if bundle_identifier (nullable) is None + # and model_fields_set contains the field + if self.bundle_identifier is None and "bundle_identifier" in self.model_fields_set: + _dict['bundleIdentifier'] = None + + # set to None if carrier (nullable) is None + # and model_fields_set contains the field + if self.carrier is None and "carrier" in self.model_fields_set: + _dict['carrier'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if connection_type (nullable) is None + # and model_fields_set contains the field + if self.connection_type is None and "connection_type" in self.model_fields_set: + _dict['connectionType'] = None + + # set to None if continent (nullable) is None + # and model_fields_set contains the field + if self.continent is None and "continent" in self.model_fields_set: + _dict['continent'] = None + + # set to None if continent_code (nullable) is None + # and model_fields_set contains the field + if self.continent_code is None and "continent_code" in self.model_fields_set: + _dict['continentCode'] = None + + # set to None if country (nullable) is None + # and model_fields_set contains the field + if self.country is None and "country" in self.model_fields_set: + _dict['country'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + + # set to None if current_app_state (nullable) is None + # and model_fields_set contains the field + if self.current_app_state is None and "current_app_state" in self.model_fields_set: + _dict['currentAppState'] = None + + # set to None if custom_event_name (nullable) is None + # and model_fields_set contains the field + if self.custom_event_name is None and "custom_event_name" in self.model_fields_set: + _dict['customEventName'] = None + + # set to None if device_hardware (nullable) is None + # and model_fields_set contains the field + if self.device_hardware is None and "device_hardware" in self.model_fields_set: + _dict['deviceHardware'] = None + + # set to None if device_manufacturer (nullable) is None + # and model_fields_set contains the field + if self.device_manufacturer is None and "device_manufacturer" in self.model_fields_set: + _dict['deviceManufacturer'] = None + + # set to None if device_model (nullable) is None + # and model_fields_set contains the field + if self.device_model is None and "device_model" in self.model_fields_set: + _dict['deviceModel'] = None + + # set to None if drop_view (nullable) is None + # and model_fields_set contains the field + if self.drop_view is None and "drop_view" in self.model_fields_set: + _dict['dropView'] = None + + # set to None if effective_connection_type (nullable) is None + # and model_fields_set contains the field + if self.effective_connection_type is None and "effective_connection_type" in self.model_fields_set: + _dict['effectiveConnectionType'] = None + + # set to None if error_id (nullable) is None + # and model_fields_set contains the field + if self.error_id is None and "error_id" in self.model_fields_set: + _dict['errorId'] = None + + # set to None if error_message (nullable) is None + # and model_fields_set contains the field + if self.error_message is None and "error_message" in self.model_fields_set: + _dict['errorMessage'] = None + + # set to None if error_type (nullable) is None + # and model_fields_set contains the field + if self.error_type is None and "error_type" in self.model_fields_set: + _dict['errorType'] = None + + # set to None if http_call_headers (nullable) is None + # and model_fields_set contains the field + if self.http_call_headers is None and "http_call_headers" in self.model_fields_set: + _dict['httpCallHeaders'] = None + + # set to None if http_call_method (nullable) is None + # and model_fields_set contains the field + if self.http_call_method is None and "http_call_method" in self.model_fields_set: + _dict['httpCallMethod'] = None + + # set to None if http_call_origin (nullable) is None + # and model_fields_set contains the field + if self.http_call_origin is None and "http_call_origin" in self.model_fields_set: + _dict['httpCallOrigin'] = None + + # set to None if http_call_path (nullable) is None + # and model_fields_set contains the field + if self.http_call_path is None and "http_call_path" in self.model_fields_set: + _dict['httpCallPath'] = None + + # set to None if http_call_url (nullable) is None + # and model_fields_set contains the field + if self.http_call_url is None and "http_call_url" in self.model_fields_set: + _dict['httpCallUrl'] = None + + # set to None if internal_meta (nullable) is None + # and model_fields_set contains the field + if self.internal_meta is None and "internal_meta" in self.model_fields_set: + _dict['internalMeta'] = None + + # set to None if meta (nullable) is None + # and model_fields_set contains the field + if self.meta is None and "meta" in self.model_fields_set: + _dict['meta'] = None + + # set to None if mobile_app_label (nullable) is None + # and model_fields_set contains the field + if self.mobile_app_label is None and "mobile_app_label" in self.model_fields_set: + _dict['mobileAppLabel'] = None + + # set to None if os_name (nullable) is None + # and model_fields_set contains the field + if self.os_name is None and "os_name" in self.model_fields_set: + _dict['osName'] = None + + # set to None if os_version (nullable) is None + # and model_fields_set contains the field + if self.os_version is None and "os_version" in self.model_fields_set: + _dict['osVersion'] = None + + # set to None if parsed_stack_trace (nullable) is None + # and model_fields_set contains the field + if self.parsed_stack_trace is None and "parsed_stack_trace" in self.model_fields_set: + _dict['parsedStackTrace'] = None + + # set to None if platform (nullable) is None + # and model_fields_set contains the field + if self.platform is None and "platform" in self.model_fields_set: + _dict['platform'] = None + + # set to None if rate_limit_custom_metric_val (nullable) is None + # and model_fields_set contains the field + if self.rate_limit_custom_metric_val is None and "rate_limit_custom_metric_val" in self.model_fields_set: + _dict['rateLimitCustomMetricVal'] = None + + # set to None if session_replay_status (nullable) is None + # and model_fields_set contains the field + if self.session_replay_status is None and "session_replay_status" in self.model_fields_set: + _dict['sessionReplayStatus'] = None + + # set to None if stack_trace (nullable) is None + # and model_fields_set contains the field + if self.stack_trace is None and "stack_trace" in self.model_fields_set: + _dict['stackTrace'] = None + + # set to None if stack_trace_key_checksum (nullable) is None + # and model_fields_set contains the field + if self.stack_trace_key_checksum is None and "stack_trace_key_checksum" in self.model_fields_set: + _dict['stackTraceKeyChecksum'] = None + + # set to None if stack_trace_key_information (nullable) is None + # and model_fields_set contains the field + if self.stack_trace_key_information is None and "stack_trace_key_information" in self.model_fields_set: + _dict['stackTraceKeyInformation'] = None + + # set to None if stack_trace_line (nullable) is None + # and model_fields_set contains the field + if self.stack_trace_line is None and "stack_trace_line" in self.model_fields_set: + _dict['stackTraceLine'] = None + + # set to None if subdivision (nullable) is None + # and model_fields_set contains the field + if self.subdivision is None and "subdivision" in self.model_fields_set: + _dict['subdivision'] = None + + # set to None if subdivision_code (nullable) is None + # and model_fields_set contains the field + if self.subdivision_code is None and "subdivision_code" in self.model_fields_set: + _dict['subdivisionCode'] = None + + # set to None if use_features (nullable) is None + # and model_fields_set contains the field + if self.use_features is None and "use_features" in self.model_fields_set: + _dict['useFeatures'] = None + + # set to None if user_email (nullable) is None + # and model_fields_set contains the field + if self.user_email is None and "user_email" in self.model_fields_set: + _dict['userEmail'] = None + + # set to None if user_id (nullable) is None + # and model_fields_set contains the field + if self.user_id is None and "user_id" in self.model_fields_set: + _dict['userId'] = None + + # set to None if user_ip (nullable) is None + # and model_fields_set contains the field + if self.user_ip is None and "user_ip" in self.model_fields_set: + _dict['userIp'] = None + + # set to None if user_languages (nullable) is None + # and model_fields_set contains the field + if self.user_languages is None and "user_languages" in self.model_fields_set: + _dict['userLanguages'] = None + + # set to None if user_name (nullable) is None + # and model_fields_set contains the field + if self.user_name is None and "user_name" in self.model_fields_set: + _dict['userName'] = None + + # set to None if user_session_id (nullable) is None + # and model_fields_set contains the field + if self.user_session_id is None and "user_session_id" in self.model_fields_set: + _dict['userSessionId'] = None + + # set to None if view (nullable) is None + # and model_fields_set contains the field + if self.view is None and "view" in self.model_fields_set: + _dict['view'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_monitoring_metric_description.py b/instana_client/models/mobile_app_monitoring_metric_description.py index 30a11a72..7e12d7e4 100644 --- a/instana_client/models/mobile_app_monitoring_metric_description.py +++ b/instana_client/models/mobile_app_monitoring_metric_description.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppMonitoringMetricDescription(BaseModel): """ @@ -59,7 +60,8 @@ def default_aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -71,8 +73,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -97,6 +98,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if path_to_value_in_beacon (nullable) is None + # and model_fields_set contains the field + if self.path_to_value_in_beacon is None and "path_to_value_in_beacon" in self.model_fields_set: + _dict['pathToValueInBeacon'] = None + + # set to None if secondary_beacon_types (nullable) is None + # and model_fields_set contains the field + if self.secondary_beacon_types is None and "secondary_beacon_types" in self.model_fields_set: + _dict['secondaryBeaconTypes'] = None + + # set to None if tag_name (nullable) is None + # and model_fields_set contains the field + if self.tag_name is None and "tag_name" in self.model_fields_set: + _dict['tagName'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_monitoring_metrics_configuration.py b/instana_client/models/mobile_app_monitoring_metrics_configuration.py index b61c57d8..3583cabd 100644 --- a/instana_client/models/mobile_app_monitoring_metrics_configuration.py +++ b/instana_client/models/mobile_app_monitoring_metrics_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MobileAppMonitoringMetricsConfiguration(BaseModel): """ @@ -43,7 +44,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of numerator_tag_filter_expression if self.numerator_tag_filter_expression: _dict['numeratorTagFilterExpression'] = self.numerator_tag_filter_expression.to_dict() + # set to None if granularity (nullable) is None + # and model_fields_set contains the field + if self.granularity is None and "granularity" in self.model_fields_set: + _dict['granularity'] = None + + # set to None if numerator_tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.numerator_tag_filter_expression is None and "numerator_tag_filter_expression" in self.model_fields_set: + _dict['numeratorTagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/mobile_app_time_threshold.py b/instana_client/models/mobile_app_time_threshold.py index 63599f58..28e2f11e 100644 --- a/instana_client/models/mobile_app_time_threshold.py +++ b/instana_client/models/mobile_app_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,7 +40,8 @@ class MobileAppTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -68,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[UserImpactMobileAppTimeThreshold, ViolationsInPeriodMobileAppTimeThreshold, ViolationsInSequenceMobileAppTimeThreshold]]: diff --git a/instana_client/models/mobile_slo_entity.py b/instana_client/models/mobile_slo_entity.py new file mode 100644 index 00000000..3ea1a841 --- /dev/null +++ b/instana_client/models/mobile_slo_entity.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from instana_client.models.slo_entity import SloEntity +from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class MobileSloEntity(SloEntity): + """ + MobileSloEntity + """ # noqa: E501 + mobile_ids: Optional[List[StrictStr]] = Field(default=None, description="The ID(s) of the Mobile Apps", alias="mobileIds") + __properties: ClassVar[List[str]] = ["tagFilterExpression", "type", "mobileIds"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MobileSloEntity 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 tag_filter_expression + if self.tag_filter_expression: + _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if mobile_ids (nullable) is None + # and model_fields_set contains the field + if self.mobile_ids is None and "mobile_ids" in self.model_fields_set: + _dict['mobileIds'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MobileSloEntity from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tagFilterExpression": TagFilterExpressionElement.from_dict(obj["tagFilterExpression"]) if obj.get("tagFilterExpression") is not None else None, + "type": obj.get("type"), + "mobileIds": obj.get("mobileIds") + }) + return _obj + + diff --git a/instana_client/models/model_field.py b/instana_client/models/model_field.py index cc2b94ff..23165b48 100644 --- a/instana_client/models/model_field.py +++ b/instana_client/models/model_field.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ModelField(BaseModel): """ @@ -36,7 +37,8 @@ class ModelField(BaseModel): __properties: ClassVar[List[str]] = ["description", "encoding", "name", "secured", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/monitored_entities_stats.py b/instana_client/models/monitored_entities_stats.py index 83c426d0..b8f4ae38 100644 --- a/instana_client/models/monitored_entities_stats.py +++ b/instana_client/models/monitored_entities_stats.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MonitoredEntitiesStats(BaseModel): """ @@ -34,7 +35,8 @@ class MonitoredEntitiesStats(BaseModel): __properties: ClassVar[List[str]] = ["hostCount", "otelCollectorCount", "otelCount", "serverlessCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/monitoring_state.py b/instana_client/models/monitoring_state.py index d3b4d852..d0b1d689 100644 --- a/instana_client/models/monitoring_state.py +++ b/instana_client/models/monitoring_state.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.monitored_entities_stats import MonitoredEntitiesStats from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MonitoringState(BaseModel): """ @@ -37,7 +38,8 @@ class MonitoringState(BaseModel): __properties: ClassVar[List[str]] = ["hasEntities", "hostCount", "monitoredEntitiesStats", "openTelemetryCollectorCount", "openTelemetryCount", "serverlessCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/multiple_scripts_configuration.py b/instana_client/models/multiple_scripts_configuration.py index d70f200e..a3c8ad91 100644 --- a/instana_client/models/multiple_scripts_configuration.py +++ b/instana_client/models/multiple_scripts_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class MultipleScriptsConfiguration(BaseModel): """ @@ -32,7 +33,8 @@ class MultipleScriptsConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["bundle", "scriptFile"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/new_application_config.py b/instana_client/models/new_application_config.py index 0d6b0608..c8c19fde 100644 --- a/instana_client/models/new_application_config.py +++ b/instana_client/models/new_application_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class NewApplicationConfig(BaseModel): """ @@ -33,11 +34,12 @@ class NewApplicationConfig(BaseModel): """ # noqa: E501 access_rules: Annotated[List[AccessRule], Field(min_length=1, max_length=64)] = Field(description="Defines permissions and access relationships. ", alias="accessRules") boundary_scope: StrictStr = Field(description="**INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective. **ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective. **DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`. At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`. It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`. ", alias="boundaryScope") + business_criticality: Optional[StrictStr] = Field(description="Business criticality level of the application", alias="businessCriticality") label: Annotated[str, Field(min_length=1, strict=True, max_length=128)] = Field(description="Name of the Application Perspective. Eg: `app1`.") match_specification: Optional[MatchExpressionDTO] = Field(default=None, alias="matchSpecification") scope: StrictStr = Field(description="**INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set). This is useful when you treat the services as opaque. An example would be the services that represent 3rd party APIs. **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with. This is useful if you are want to monitor a set of services and their direct dependencies. For example, a development team responsible for several micro-services. **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services. This is useful if the AP will be used for troubleshooting. ") tag_filter_expression: Optional[TagFilterExpressionElement] = Field(default=None, alias="tagFilterExpression") - __properties: ClassVar[List[str]] = ["accessRules", "boundaryScope", "label", "matchSpecification", "scope", "tagFilterExpression"] + __properties: ClassVar[List[str]] = ["accessRules", "boundaryScope", "businessCriticality", "label", "matchSpecification", "scope", "tagFilterExpression"] @field_validator('boundary_scope') def boundary_scope_validate_enum(cls, value): @@ -46,6 +48,16 @@ def boundary_scope_validate_enum(cls, value): raise ValueError("must be one of enum values ('ALL', 'INBOUND', 'DEFAULT')") return value + @field_validator('business_criticality') + def business_criticality_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['NOT_DEFINED', 'LOWEST', 'LOW', 'MEDIUM', 'HIGH', 'HIGHEST']): + raise ValueError("must be one of enum values ('NOT_DEFINED', 'LOWEST', 'LOW', 'MEDIUM', 'HIGH', 'HIGHEST')") + return value + @field_validator('scope') def scope_validate_enum(cls, value): """Validates the enum""" @@ -54,7 +66,8 @@ def scope_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +79,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -105,6 +117,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if business_criticality (nullable) is None + # and model_fields_set contains the field + if self.business_criticality is None and "business_criticality" in self.model_fields_set: + _dict['businessCriticality'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod @@ -119,6 +141,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "accessRules": [AccessRule.from_dict(_item) for _item in obj["accessRules"]] if obj.get("accessRules") is not None else None, "boundaryScope": obj.get("boundaryScope"), + "businessCriticality": obj.get("businessCriticality"), "label": obj.get("label"), "matchSpecification": MatchExpressionDTO.from_dict(obj["matchSpecification"]) if obj.get("matchSpecification") is not None else None, "scope": obj.get("scope"), diff --git a/instana_client/models/new_business_perspective_config.py b/instana_client/models/new_business_perspective_config.py index c8e834c8..888a2381 100644 --- a/instana_client/models/new_business_perspective_config.py +++ b/instana_client/models/new_business_perspective_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class NewBusinessPerspectiveConfig(BaseModel): """ @@ -35,7 +36,8 @@ class NewBusinessPerspectiveConfig(BaseModel): __properties: ClassVar[List[str]] = ["description", "name", "tagFilterExpression"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -76,6 +77,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/new_manual_service_config.py b/instana_client/models/new_manual_service_config.py index c021c86b..900b5f7e 100644 --- a/instana_client/models/new_manual_service_config.py +++ b/instana_client/models/new_manual_service_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class NewManualServiceConfig(BaseModel): """ @@ -31,12 +32,13 @@ class NewManualServiceConfig(BaseModel): description: Optional[StrictStr] = Field(default=None, description="A description of the manual service configuration.") enabled: Optional[StrictBool] = Field(default=None, description="Enable or disable the manual service configuration. By default it is enabled.") existing_service_id: Optional[StrictStr] = Field(default=None, description="The service ID of the existing monitored service to which the calls should be linked.", alias="existingServiceId") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") unmonitored_service_name: Optional[StrictStr] = Field(default=None, description="A service name if you want to map calls to an unmonitored service.", alias="unmonitoredServiceName") __properties: ClassVar[List[str]] = ["description", "enabled", "existingServiceId", "tagFilterExpression", "unmonitoredServiceName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -77,6 +78,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if existing_service_id (nullable) is None + # and model_fields_set contains the field + if self.existing_service_id is None and "existing_service_id" in self.model_fields_set: + _dict['existingServiceId'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if unmonitored_service_name (nullable) is None + # and model_fields_set contains the field + if self.unmonitored_service_name is None and "unmonitored_service_name" in self.model_fields_set: + _dict['unmonitoredServiceName'] = None + return _dict @classmethod diff --git a/instana_client/models/notification.py b/instana_client/models/notification.py new file mode 100644 index 00000000..adfcdb99 --- /dev/null +++ b/instana_client/models/notification.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Notification(BaseModel): + """ + Optional notifications configuration for action execution events. Each notification specifies a condition (started, fail, success) and associated alert channels. + """ # noqa: E501 + alert_channel_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="List of alert channel identifiers to send notifications to for this condition.", alias="alertChannelIds") + condition: StrictStr = Field(description="Notification condition. Determines when the notification is sent. Each notification object represents a single condition with its associated alert channels.") + __properties: ClassVar[List[str]] = ["alertChannelIds", "condition"] + + @field_validator('condition') + def condition_validate_enum(cls, value): + """Validates the enum""" + if value not in set(['STATUS_UNKNOWN', 'SUBMITTED', 'IN_PROGRESS', 'SUCCESS', 'FAILED', 'READY', 'TIMEOUT']): + raise ValueError("must be one of enum values ('STATUS_UNKNOWN', 'SUBMITTED', 'IN_PROGRESS', 'SUCCESS', 'FAILED', 'READY', 'TIMEOUT')") + return value + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Notification 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 Notification from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "alertChannelIds": obj.get("alertChannelIds"), + "condition": obj.get("condition") + }) + return _obj + + diff --git a/instana_client/models/ns1_integration.py b/instana_client/models/ns1_integration.py index 4212ba94..0b8f94a0 100644 --- a/instana_client/models/ns1_integration.py +++ b/instana_client/models/ns1_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,23 +18,26 @@ import re # noqa: F401 import json -from pydantic import ConfigDict, Field +from pydantic import ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class NS1Integration(AbstractIntegration): """ NS1Integration """ # noqa: E501 + feed_label: Optional[StrictStr] = Field(default=None, alias="feedLabel") headers: Optional[List[Annotated[str, Field(min_length=1, strict=True)]]] = None webhook_urls: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=1)] = Field(alias="webhookUrls") - __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "headers", "webhookUrls"] + __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "feedLabel", "headers", "webhookUrls"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -88,6 +90,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "kind": obj.get("kind"), "name": obj.get("name"), "timezone": obj.get("timezone"), + "feedLabel": obj.get("feedLabel"), "headers": obj.get("headers"), "webhookUrls": obj.get("webhookUrls") }) diff --git a/instana_client/models/o_auth_config.py b/instana_client/models/o_auth_config.py index 8dfef178..c2a7c36d 100644 --- a/instana_client/models/o_auth_config.py +++ b/instana_client/models/o_auth_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class OAuthConfig(BaseModel): """ @@ -48,7 +49,8 @@ def grant_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/o_auth_integration.py b/instana_client/models/o_auth_integration.py index 92af6123..538682b4 100644 --- a/instana_client/models/o_auth_integration.py +++ b/instana_client/models/o_auth_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.o_auth_token import OAuthToken from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class OAuthIntegration(BaseModel): """ @@ -34,7 +35,8 @@ class OAuthIntegration(BaseModel): __properties: ClassVar[List[str]] = ["config", "token"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/o_auth_token.py b/instana_client/models/o_auth_token.py index 56e7bd16..f128c9e0 100644 --- a/instana_client/models/o_auth_token.py +++ b/instana_client/models/o_auth_token.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class OAuthToken(BaseModel): """ @@ -48,7 +49,8 @@ def status_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/occurrence.py b/instana_client/models/occurrence.py index 58342756..dd38c65f 100644 --- a/instana_client/models/occurrence.py +++ b/instana_client/models/occurrence.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Occurrence(BaseModel): """ @@ -33,7 +34,8 @@ class Occurrence(BaseModel): __properties: ClassVar[List[str]] = ["end", "start"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/office365_integration.py b/instana_client/models/office365_integration.py index 6846e28e..861d692d 100644 --- a/instana_client/models/office365_integration.py +++ b/instana_client/models/office365_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Office365Integration(AbstractIntegration): """ @@ -33,7 +34,8 @@ class Office365Integration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "webhookUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/one_time_maintenance_window.py b/instana_client/models/one_time_maintenance_window.py index 4efe4b00..b5d554c1 100644 --- a/instana_client/models/one_time_maintenance_window.py +++ b/instana_client/models/one_time_maintenance_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.maintenance_config_scheduling import MaintenanceConfigScheduling from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class OneTimeMaintenanceWindow(MaintenanceConfigScheduling): """ @@ -32,7 +33,8 @@ class OneTimeMaintenanceWindow(MaintenanceConfigScheduling): __properties: ClassVar[List[str]] = ["duration", "start", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/opsgenie_integration.py b/instana_client/models/opsgenie_integration.py index 8d87edba..ce841ba1 100644 --- a/instana_client/models/opsgenie_integration.py +++ b/instana_client/models/opsgenie_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class OpsgenieIntegration(AbstractIntegration): """ @@ -43,7 +44,8 @@ def region_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -81,6 +82,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if alias (nullable) is None + # and model_fields_set contains the field + if self.alias is None and "alias" in self.model_fields_set: + _dict['alias'] = None + + # set to None if tags (nullable) is None + # and model_fields_set contains the field + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None + return _dict @classmethod diff --git a/instana_client/models/order.py b/instana_client/models/order.py index 35467e74..5e2b3140 100644 --- a/instana_client/models/order.py +++ b/instana_client/models/order.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Order(BaseModel): """ @@ -41,7 +42,8 @@ def direction_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if collation (nullable) is None + # and model_fields_set contains the field + if self.collation is None and "collation" in self.model_fields_set: + _dict['collation'] = None + return _dict @classmethod diff --git a/instana_client/models/pagerduty_integration.py b/instana_client/models/pagerduty_integration.py index 84be9875..e6785d08 100644 --- a/instana_client/models/pagerduty_integration.py +++ b/instana_client/models/pagerduty_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PagerdutyIntegration(AbstractIntegration): """ @@ -33,7 +34,8 @@ class PagerdutyIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "serviceIntegrationKey"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/paginated_result.py b/instana_client/models/paginated_result.py index b0240278..c8b3aa66 100644 --- a/instana_client/models/paginated_result.py +++ b/instana_client/models/paginated_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PaginatedResult(BaseModel): """ @@ -35,7 +36,8 @@ class PaginatedResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/pagination.py b/instana_client/models/pagination.py index 388f199f..e0c994c1 100644 --- a/instana_client/models/pagination.py +++ b/instana_client/models/pagination.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Pagination(BaseModel): """ @@ -33,7 +34,8 @@ class Pagination(BaseModel): __properties: ClassVar[List[str]] = ["page", "pageSize"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/parameter.py b/instana_client/models/parameter.py index 751a867e..1dcd05f2 100644 --- a/instana_client/models/parameter.py +++ b/instana_client/models/parameter.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Parameter(BaseModel): """ @@ -39,7 +40,8 @@ class Parameter(BaseModel): __properties: ClassVar[List[str]] = ["description", "hidden", "label", "name", "required", "secured", "type", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -77,6 +78,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if hidden (nullable) is None + # and model_fields_set contains the field + if self.hidden is None and "hidden" in self.model_fields_set: + _dict['hidden'] = None + + # set to None if required (nullable) is None + # and model_fields_set contains the field + if self.required is None and "required" in self.model_fields_set: + _dict['required'] = None + + # set to None if secured (nullable) is None + # and model_fields_set contains the field + if self.secured is None and "secured" in self.model_fields_set: + _dict['secured'] = None + return _dict @classmethod diff --git a/instana_client/models/parameter_value.py b/instana_client/models/parameter_value.py index b6773fe5..071ab200 100644 --- a/instana_client/models/parameter_value.py +++ b/instana_client/models/parameter_value.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ParameterValue(BaseModel): """ @@ -33,7 +34,8 @@ class ParameterValue(BaseModel): __properties: ClassVar[List[str]] = ["name", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/path_parameter_http_path_segment_matching_rule.py b/instana_client/models/path_parameter_http_path_segment_matching_rule.py index 84dbfc21..3fb23f21 100644 --- a/instana_client/models/path_parameter_http_path_segment_matching_rule.py +++ b/instana_client/models/path_parameter_http_path_segment_matching_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PathParameterHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): """ @@ -33,7 +34,8 @@ class PathParameterHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): __properties: ClassVar[List[str]] = ["type", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/physical_context.py b/instana_client/models/physical_context.py index c8992e0b..7fa83de3 100644 --- a/instana_client/models/physical_context.py +++ b/instana_client/models/physical_context.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.snapshot_preview import SnapshotPreview from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PhysicalContext(BaseModel): """ @@ -39,7 +40,8 @@ class PhysicalContext(BaseModel): __properties: ClassVar[List[str]] = ["cloudfoundry", "cluster", "container", "host", "kubernetes", "process"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -95,6 +96,36 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of process if self.process: _dict['process'] = self.process.to_dict() + # set to None if cloudfoundry (nullable) is None + # and model_fields_set contains the field + if self.cloudfoundry is None and "cloudfoundry" in self.model_fields_set: + _dict['cloudfoundry'] = None + + # set to None if cluster (nullable) is None + # and model_fields_set contains the field + if self.cluster is None and "cluster" in self.model_fields_set: + _dict['cluster'] = None + + # set to None if container (nullable) is None + # and model_fields_set contains the field + if self.container is None and "container" in self.model_fields_set: + _dict['container'] = None + + # set to None if host (nullable) is None + # and model_fields_set contains the field + if self.host is None and "host" in self.model_fields_set: + _dict['host'] = None + + # set to None if kubernetes (nullable) is None + # and model_fields_set contains the field + if self.kubernetes is None and "kubernetes" in self.model_fields_set: + _dict['kubernetes'] = None + + # set to None if process (nullable) is None + # and model_fields_set contains the field + if self.process is None and "process" in self.model_fields_set: + _dict['process'] = None + return _dict @classmethod diff --git a/instana_client/models/plugin_result.py b/instana_client/models/plugin_result.py index 9daad588..5354a98a 100644 --- a/instana_client/models/plugin_result.py +++ b/instana_client/models/plugin_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PluginResult(BaseModel): """ @@ -32,7 +33,8 @@ class PluginResult(BaseModel): __properties: ClassVar[List[str]] = ["label", "plugin"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/policy.py b/instana_client/models/policy.py index 65e64a9b..af357753 100644 --- a/instana_client/models/policy.py +++ b/instana_client/models/policy.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.type_configuration import TypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Policy(BaseModel): """ @@ -39,7 +40,8 @@ class Policy(BaseModel): __properties: ClassVar[List[str]] = ["description", "id", "name", "tags", "trigger", "typeConfigurations"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/policy_runnable.py b/instana_client/models/policy_runnable.py index faa737bd..a2d03a0f 100644 --- a/instana_client/models/policy_runnable.py +++ b/instana_client/models/policy_runnable.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.run_configuration import RunConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PolicyRunnable(BaseModel): """ @@ -42,7 +43,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/policy_scheduling.py b/instana_client/models/policy_scheduling.py index fdd25499..b5f5ff83 100644 --- a/instana_client/models/policy_scheduling.py +++ b/instana_client/models/policy_scheduling.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PolicyScheduling(BaseModel): """ @@ -33,7 +34,8 @@ class PolicyScheduling(BaseModel): __properties: ClassVar[List[str]] = ["recurrentRule", "startTime"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/post_mobile_app_source_map_config_request.py b/instana_client/models/post_mobile_app_source_map_config_request.py index 0efa36fc..4aa7b93a 100644 --- a/instana_client/models/post_mobile_app_source_map_config_request.py +++ b/instana_client/models/post_mobile_app_source_map_config_request.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PostMobileAppSourceMapConfigRequest(BaseModel): """ @@ -31,7 +32,8 @@ class PostMobileAppSourceMapConfigRequest(BaseModel): __properties: ClassVar[List[str]] = ["description"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/post_snapshots_result.py b/instana_client/models/post_snapshots_result.py index a22ed5f4..4cf03a44 100644 --- a/instana_client/models/post_snapshots_result.py +++ b/instana_client/models/post_snapshots_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.snapshot_item import SnapshotItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PostSnapshotsResult(BaseModel): """ @@ -33,7 +34,8 @@ class PostSnapshotsResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "notFoundSnapshotsIds"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -78,6 +79,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if items (nullable) is None + # and model_fields_set contains the field + if self.items is None and "items" in self.model_fields_set: + _dict['items'] = None + + # set to None if not_found_snapshots_ids (nullable) is None + # and model_fields_set contains the field + if self.not_found_snapshots_ids is None and "not_found_snapshots_ids" in self.model_fields_set: + _dict['notFoundSnapshotsIds'] = None + return _dict @classmethod diff --git a/instana_client/models/prefix_object.py b/instana_client/models/prefix_object.py index 3b06bde1..04e4227d 100644 --- a/instana_client/models/prefix_object.py +++ b/instana_client/models/prefix_object.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,17 +22,19 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PrefixObject(BaseModel): """ Shortcode prefix configuration """ # noqa: E501 - enabled: Optional[StrictBool] = Field(default=None, description="Whether the shortcode prefix feature is enabled") - prefix: Optional[StrictStr] = Field(default=None, description="The prefix to use for event short codes (e.g., 'INSTANA-', 'PROD-')") + enabled: Optional[StrictBool] = Field(default=None, description="Whether the shortcode prefix feature is enabled", json_schema_extra={"examples": [True]}) + prefix: Optional[StrictStr] = Field(default=None, description="The prefix to use for event short codes (e.g., 'INSTANA-', 'PROD-')", json_schema_extra={"examples": ["INSTANA-"]}) __properties: ClassVar[List[str]] = ["enabled", "prefix"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/problem.py b/instana_client/models/problem.py index 33519ee1..77d6d3f4 100644 --- a/instana_client/models/problem.py +++ b/instana_client/models/problem.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Problem(BaseModel): """ @@ -35,7 +36,8 @@ class Problem(BaseModel): __properties: ClassVar[List[str]] = ["fixSuggestion", "id", "problemText", "severity"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/prometheus_webhook_integration.py b/instana_client/models/prometheus_webhook_integration.py index 86505b79..925e122e 100644 --- a/instana_client/models/prometheus_webhook_integration.py +++ b/instana_client/models/prometheus_webhook_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class PrometheusWebhookIntegration(AbstractIntegration): """ @@ -34,7 +35,8 @@ class PrometheusWebhookIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "receiver", "webhookUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -72,6 +73,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if receiver (nullable) is None + # and model_fields_set contains the field + if self.receiver is None and "receiver" in self.model_fields_set: + _dict['receiver'] = None + return _dict @classmethod diff --git a/instana_client/models/rbac_restrictions.py b/instana_client/models/rbac_restrictions.py new file mode 100644 index 00000000..ce6954fd --- /dev/null +++ b/instana_client/models/rbac_restrictions.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RbacRestrictions(BaseModel): + """ + RbacRestrictions + """ # noqa: E501 + action_filters: Optional[List[StrictStr]] = Field(default=None, alias="actionFilters") + alerting_channels: Optional[List[StrictStr]] = Field(default=None, alias="alertingChannels") + apdex_ids: Optional[List[StrictStr]] = Field(default=None, alias="apdexIds") + applications: Optional[List[StrictStr]] = None + business_perspectives: Optional[List[StrictStr]] = Field(default=None, alias="businessPerspectives") + infra_dfq_filter: Optional[List[StrictStr]] = Field(default=None, alias="infraDfqFilter") + kubernetes_clusters: Optional[List[StrictStr]] = Field(default=None, alias="kubernetesClusters") + kubernetes_namespaces: Optional[List[StrictStr]] = Field(default=None, alias="kubernetesNamespaces") + log_filters: Optional[List[StrictStr]] = Field(default=None, alias="logFilters") + logging_perspectives: Optional[List[StrictStr]] = Field(default=None, alias="loggingPerspectives") + mobile_apps: Optional[List[StrictStr]] = Field(default=None, alias="mobileApps") + service_levels: Optional[List[StrictStr]] = Field(default=None, alias="serviceLevels") + synthetic_credentials: Optional[List[StrictStr]] = Field(default=None, alias="syntheticCredentials") + synthetic_tests: Optional[List[StrictStr]] = Field(default=None, alias="syntheticTests") + websites: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["actionFilters", "alertingChannels", "apdexIds", "applications", "businessPerspectives", "infraDfqFilter", "kubernetesClusters", "kubernetesNamespaces", "logFilters", "loggingPerspectives", "mobileApps", "serviceLevels", "syntheticCredentials", "syntheticTests", "websites"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RbacRestrictions 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 RbacRestrictions from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "actionFilters": obj.get("actionFilters"), + "alertingChannels": obj.get("alertingChannels"), + "apdexIds": obj.get("apdexIds"), + "applications": obj.get("applications"), + "businessPerspectives": obj.get("businessPerspectives"), + "infraDfqFilter": obj.get("infraDfqFilter"), + "kubernetesClusters": obj.get("kubernetesClusters"), + "kubernetesNamespaces": obj.get("kubernetesNamespaces"), + "logFilters": obj.get("logFilters"), + "loggingPerspectives": obj.get("loggingPerspectives"), + "mobileApps": obj.get("mobileApps"), + "serviceLevels": obj.get("serviceLevels"), + "syntheticCredentials": obj.get("syntheticCredentials"), + "syntheticTests": obj.get("syntheticTests"), + "websites": obj.get("websites") + }) + return _obj + + diff --git a/instana_client/models/recurrent_maintenance_window.py b/instana_client/models/recurrent_maintenance_window.py index 2c7faf65..a2fd5c53 100644 --- a/instana_client/models/recurrent_maintenance_window.py +++ b/instana_client/models/recurrent_maintenance_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.maintenance_config_scheduling import MaintenanceConfigScheduling from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RecurrentMaintenanceWindow(MaintenanceConfigScheduling): """ @@ -35,7 +36,8 @@ class RecurrentMaintenanceWindow(MaintenanceConfigScheduling): __properties: ClassVar[List[str]] = ["duration", "start", "type", "rrule", "timezoneId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/release.py b/instana_client/models/release.py index 5fe23f8d..8709c52f 100644 --- a/instana_client/models/release.py +++ b/instana_client/models/release.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.service_scope import ServiceScope from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Release(BaseModel): """ @@ -37,7 +38,8 @@ class Release(BaseModel): __properties: ClassVar[List[str]] = ["applications", "name", "services", "start"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -89,6 +90,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_services: _items.append(_item_services.to_dict()) _dict['services'] = _items + # set to None if applications (nullable) is None + # and model_fields_set contains the field + if self.applications is None and "applications" in self.model_fields_set: + _dict['applications'] = None + + # set to None if services (nullable) is None + # and model_fields_set contains the field + if self.services is None and "services" in self.model_fields_set: + _dict['services'] = None + return _dict @classmethod diff --git a/instana_client/models/release_scope.py b/instana_client/models/release_scope.py index 035d8aba..fd77efe4 100644 --- a/instana_client/models/release_scope.py +++ b/instana_client/models/release_scope.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ReleaseScope(BaseModel): """ @@ -34,7 +35,8 @@ class ReleaseScope(BaseModel): __properties: ClassVar[List[str]] = ["applicationId", "applicationName", "serviceId", "serviceName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/release_with_metadata.py b/instana_client/models/release_with_metadata.py index 79e54c21..2217a09a 100644 --- a/instana_client/models/release_with_metadata.py +++ b/instana_client/models/release_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.service_scope_with_metadata import ServiceScopeWithMetadata from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ReleaseWithMetadata(BaseModel): """ @@ -41,7 +42,8 @@ class ReleaseWithMetadata(BaseModel): __properties: ClassVar[List[str]] = ["applications", "id", "lastUpdated", "name", "scopes", "services", "start"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -100,6 +101,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_services: _items.append(_item_services.to_dict()) _dict['services'] = _items + # set to None if applications (nullable) is None + # and model_fields_set contains the field + if self.applications is None and "applications" in self.model_fields_set: + _dict['applications'] = None + + # set to None if services (nullable) is None + # and model_fields_set contains the field + if self.services is None and "services" in self.model_fields_set: + _dict['services'] = None + return _dict @classmethod diff --git a/instana_client/models/retention_period.py b/instana_client/models/retention_period.py index 67f61dd7..4850282c 100644 --- a/instana_client/models/retention_period.py +++ b/instana_client/models/retention_period.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.log_volume_group import LogVolumeGroup from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RetentionPeriod(BaseModel): """ @@ -35,7 +36,8 @@ class RetentionPeriod(BaseModel): __properties: ClassVar[List[str]] = ["logVolume", "logVolumeGroups", "retentionDays"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +81,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_log_volume_groups: _items.append(_item_log_volume_groups.to_dict()) _dict['logVolumeGroups'] = _items + # set to None if log_volume_groups (nullable) is None + # and model_fields_set contains the field + if self.log_volume_groups is None and "log_volume_groups" in self.model_fields_set: + _dict['logVolumeGroups'] = None + return _dict @classmethod diff --git a/instana_client/models/role_mapping_overview.py b/instana_client/models/role_mapping_overview.py index e2301fb9..45807c80 100644 --- a/instana_client/models/role_mapping_overview.py +++ b/instana_client/models/role_mapping_overview.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RoleMappingOverview(BaseModel): """ @@ -37,7 +38,8 @@ class RoleMappingOverview(BaseModel): __properties: ClassVar[List[str]] = ["id", "key", "role", "roleId", "team", "teamId", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -75,6 +76,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if team (nullable) is None + # and model_fields_set contains the field + if self.team is None and "team" in self.model_fields_set: + _dict['team'] = None + + # set to None if team_id (nullable) is None + # and model_fields_set contains the field + if self.team_id is None and "team_id" in self.model_fields_set: + _dict['teamId'] = None + return _dict @classmethod diff --git a/instana_client/models/rolling_time_window.py b/instana_client/models/rolling_time_window.py index 93dc0295..e53285c0 100644 --- a/instana_client/models/rolling_time_window.py +++ b/instana_client/models/rolling_time_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.time_window import TimeWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RollingTimeWindow(TimeWindow): """ @@ -31,7 +32,8 @@ class RollingTimeWindow(TimeWindow): __properties: ClassVar[List[str]] = ["duration", "durationUnit", "timezone", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/rule_input.py b/instana_client/models/rule_input.py index d3f7c906..c2bab85f 100644 --- a/instana_client/models/rule_input.py +++ b/instana_client/models/rule_input.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RuleInput(BaseModel): """ @@ -41,7 +42,8 @@ def input_kind_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_rollup (nullable) is None + # and model_fields_set contains the field + if self.metric_rollup is None and "metric_rollup" in self.model_fields_set: + _dict['metricRollup'] = None + return _dict @classmethod diff --git a/instana_client/models/rule_with_threshold_application_alert_rule.py b/instana_client/models/rule_with_threshold_application_alert_rule.py index 028f9bab..56929ec3 100644 --- a/instana_client/models/rule_with_threshold_application_alert_rule.py +++ b/instana_client/models/rule_with_threshold_application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RuleWithThresholdApplicationAlertRule(BaseModel): """ @@ -37,12 +38,13 @@ class RuleWithThresholdApplicationAlertRule(BaseModel): @field_validator('threshold_operator') def threshold_operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/rule_with_threshold_infra_alert_rule.py b/instana_client/models/rule_with_threshold_infra_alert_rule.py index ae90bef7..be0c999e 100644 --- a/instana_client/models/rule_with_threshold_infra_alert_rule.py +++ b/instana_client/models/rule_with_threshold_infra_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RuleWithThresholdInfraAlertRule(BaseModel): """ @@ -37,12 +38,13 @@ class RuleWithThresholdInfraAlertRule(BaseModel): @field_validator('threshold_operator') def threshold_operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/rule_with_threshold_log_alert_rule.py b/instana_client/models/rule_with_threshold_log_alert_rule.py index a762e20b..46888033 100644 --- a/instana_client/models/rule_with_threshold_log_alert_rule.py +++ b/instana_client/models/rule_with_threshold_log_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RuleWithThresholdLogAlertRule(BaseModel): """ @@ -37,12 +38,13 @@ class RuleWithThresholdLogAlertRule(BaseModel): @field_validator('threshold_operator') def threshold_operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/rule_with_threshold_mobile_app_alert_rule.py b/instana_client/models/rule_with_threshold_mobile_app_alert_rule.py index ade7e856..d47d6519 100644 --- a/instana_client/models/rule_with_threshold_mobile_app_alert_rule.py +++ b/instana_client/models/rule_with_threshold_mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RuleWithThresholdMobileAppAlertRule(BaseModel): """ @@ -37,12 +38,13 @@ class RuleWithThresholdMobileAppAlertRule(BaseModel): @field_validator('threshold_operator') def threshold_operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/rule_with_threshold_website_alert_rule.py b/instana_client/models/rule_with_threshold_website_alert_rule.py index 6441a111..97ebb017 100644 --- a/instana_client/models/rule_with_threshold_website_alert_rule.py +++ b/instana_client/models/rule_with_threshold_website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.website_alert_rule import WebsiteAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RuleWithThresholdWebsiteAlertRule(BaseModel): """ @@ -37,12 +38,13 @@ class RuleWithThresholdWebsiteAlertRule(BaseModel): @field_validator('threshold_operator') def threshold_operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/run_configuration.py b/instana_client/models/run_configuration.py index 67551a36..ac21500a 100644 --- a/instana_client/models/run_configuration.py +++ b/instana_client/models/run_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.action_configuration import ActionConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class RunConfiguration(BaseModel): """ @@ -33,7 +34,8 @@ class RunConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["actions"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/run_evaluation_response.py b/instana_client/models/run_evaluation_response.py new file mode 100644 index 00000000..ef38e6a6 --- /dev/null +++ b/instana_client/models/run_evaluation_response.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RunEvaluationResponse(BaseModel): + """ + Response from running an evaluation + """ # noqa: E501 + gateway_name: Optional[StrictStr] = Field(default=None, description="The LLM gateway name that will be used for evaluation") + message: Optional[StrictStr] = Field(default=None, description="Status message") + success: Optional[StrictBool] = Field(default=None, description="Whether the evaluation run was initiated successfully") + __properties: ClassVar[List[str]] = ["gateway_name", "message", "success"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RunEvaluationResponse 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 RunEvaluationResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "gateway_name": obj.get("gateway_name"), + "message": obj.get("message"), + "success": obj.get("success") + }) + return _obj + + diff --git a/instana_client/models/salesforce_integration.py b/instana_client/models/salesforce_integration.py index e9f017a5..0424cd4c 100644 --- a/instana_client/models/salesforce_integration.py +++ b/instana_client/models/salesforce_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,19 +24,21 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SalesforceIntegration(AbstractIntegration): """ SalesforceIntegration """ # noqa: E501 bearer_token: Optional[StrictStr] = Field(default=None, alias="bearerToken") - client_id: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="clientId") - client_secret: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="clientSecret") + client_id: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="clientId") + client_secret: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="clientSecret") salesforce_url: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="salesforceUrl") __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "bearerToken", "clientId", "clientSecret", "salesforceUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if bearer_token (nullable) is None + # and model_fields_set contains the field + if self.bearer_token is None and "bearer_token" in self.model_fields_set: + _dict['bearerToken'] = None + + # set to None if client_id (nullable) is None + # and model_fields_set contains the field + if self.client_id is None and "client_id" in self.model_fields_set: + _dict['clientId'] = None + + # set to None if client_secret (nullable) is None + # and model_fields_set contains the field + if self.client_secret is None and "client_secret" in self.model_fields_set: + _dict['clientSecret'] = None + return _dict @classmethod diff --git a/instana_client/models/sampling_metadata.py b/instana_client/models/sampling_metadata.py new file mode 100644 index 00000000..60904b80 --- /dev/null +++ b/instana_client/models/sampling_metadata.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class SamplingMetadata(BaseModel): + """ + Metadata about sampling applied to infrastructure metrics query + """ # noqa: E501 + groups_sampled: Optional[StrictInt] = Field(default=None, description="Number of unique groups that were sampled", alias="groupsSampled") + groups_skipped: Optional[StrictInt] = Field(default=None, description="Number of unique groups that were not sampled", alias="groupsSkipped") + sampling_applied: Optional[StrictBool] = Field(default=None, description="Whether sampling was actually applied (true if any groups were sampled)", alias="samplingApplied") + total_members_after: Optional[StrictInt] = Field(default=None, description="Total number of entity members after sampling", alias="totalMembersAfter") + total_members_before: Optional[StrictInt] = Field(default=None, description="Total number of entity members before sampling", alias="totalMembersBefore") + __properties: ClassVar[List[str]] = ["groupsSampled", "groupsSkipped", "samplingApplied", "totalMembersAfter", "totalMembersBefore"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SamplingMetadata 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, + ) + # set to None if total_members_before (nullable) is None + # and model_fields_set contains the field + if self.total_members_before is None and "total_members_before" in self.model_fields_set: + _dict['totalMembersBefore'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SamplingMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "groupsSampled": obj.get("groupsSampled"), + "groupsSkipped": obj.get("groupsSkipped"), + "samplingApplied": obj.get("samplingApplied"), + "totalMembersAfter": obj.get("totalMembersAfter"), + "totalMembersBefore": obj.get("totalMembersBefore") + }) + return _obj + + diff --git a/instana_client/models/saturation_blueprint_indicator.py b/instana_client/models/saturation_blueprint_indicator.py index a6616243..4f72b7a1 100644 --- a/instana_client/models/saturation_blueprint_indicator.py +++ b/instana_client/models/saturation_blueprint_indicator.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -21,20 +21,24 @@ from pydantic import ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated +from instana_client.models.entity_metric import EntityMetric from instana_client.models.service_level_indicator import ServiceLevelIndicator from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SaturationBlueprintIndicator(ServiceLevelIndicator): """ SaturationBlueprintIndicator """ # noqa: E501 + metric: Optional[EntityMetric] = None metric_name: Optional[StrictStr] = Field(default=None, alias="metricName") - threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0.0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") - __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "metricName"] + threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") + __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "metric", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -72,6 +75,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 metric + if self.metric: + _dict['metric'] = self.metric.to_dict() return _dict @classmethod @@ -90,6 +96,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "serviceLevelsMeasurement": obj.get("serviceLevelsMeasurement"), "threshold": obj.get("threshold"), "type": obj.get("type"), + "metric": EntityMetric.from_dict(obj["metric"]) if obj.get("metric") is not None else None, "metricName": obj.get("metricName") }) return _obj diff --git a/instana_client/models/scope_binding.py b/instana_client/models/scope_binding.py index 0bee9f32..96cc233d 100644 --- a/instana_client/models/scope_binding.py +++ b/instana_client/models/scope_binding.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ScopeBinding(BaseModel): """ @@ -33,7 +34,8 @@ class ScopeBinding(BaseModel): __properties: ClassVar[List[str]] = ["scopeId", "scopeRoleId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if scope_role_id (nullable) is None + # and model_fields_set contains the field + if self.scope_role_id is None and "scope_role_id" in self.model_fields_set: + _dict['scopeRoleId'] = None + return _dict @classmethod diff --git a/instana_client/models/search_field_result.py b/instana_client/models/search_field_result.py index 96952331..7869a723 100644 --- a/instana_client/models/search_field_result.py +++ b/instana_client/models/search_field_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,12 +22,13 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SearchFieldResult(BaseModel): """ SearchFieldResult """ # noqa: E501 - context: Optional[StrictStr] = Field(default=None, description="Field context") + context: Optional[StrictStr] = Field(default=None, description="Field context", json_schema_extra={"examples": ["Entity data, trace data, even data"]}) description: Optional[StrictStr] = Field(default=None, description="Description of the keyword") fixed_values: Optional[List[StrictStr]] = Field(default=None, description="Fixed value associated to the keyword", alias="fixedValues") keyword: Optional[StrictStr] = Field(default=None, description="Retrieved keyword") @@ -55,7 +56,8 @@ def term_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service.py b/instana_client/models/service.py index ec76416e..662eae29 100644 --- a/instana_client/models/service.py +++ b/instana_client/models/service.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Service(BaseModel): """ @@ -50,12 +51,13 @@ def entity_type_validate_enum(cls, value): def types_validate_enum(cls, value): """Validates the enum""" for i in value: - if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): - raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") + if i not in set(['UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE']): + raise ValueError("each list item must be one of ('UNDEFINED', 'RPC', 'EVENT', 'GRAPHQL', 'BATCH', 'SHELL', 'HTTP', 'SDK', 'OPENTELEMETRY', 'INTERNAL', 'RPG', 'DATABASE', 'MESSAGING', 'PAGE', 'PAGE_RESOURCE')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_config.py b/instana_client/models/service_config.py index fe968376..d162db9c 100644 --- a/instana_client/models/service_config.py +++ b/instana_client/models/service_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.service_matching_rule import ServiceMatchingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceConfig(BaseModel): """ @@ -38,7 +39,8 @@ class ServiceConfig(BaseModel): __properties: ClassVar[List[str]] = ["comment", "enabled", "id", "label", "matchSpecification", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_event_result.py b/instana_client/models/service_event_result.py index 507b40ac..f8930a69 100644 --- a/instana_client/models/service_event_result.py +++ b/instana_client/models/service_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceEventResult(EventResult): """ @@ -30,10 +31,11 @@ class ServiceEventResult(EventResult): """ # noqa: E501 application_id: Optional[StrictStr] = Field(default=None, description="ID of the application this service is in scope of.", alias="applicationId") service_id: Optional[StrictStr] = Field(default=None, description="ID of the service.", alias="serviceId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "applicationId", "serviceId"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "applicationId", "serviceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +84,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/service_item.py b/instana_client/models/service_item.py index 96e9b8e0..38d353a7 100644 --- a/instana_client/models/service_item.py +++ b/instana_client/models/service_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.service import Service from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceItem(BaseModel): """ @@ -33,7 +34,8 @@ class ServiceItem(BaseModel): __properties: ClassVar[List[str]] = ["metrics", "service"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_level_indicator.py b/instana_client/models/service_level_indicator.py index a9eca193..79716d89 100644 --- a/instana_client/models/service_level_indicator.py +++ b/instana_client/models/service_level_indicator.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,9 +23,11 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: + from instana_client.models.advanced_custom_blueprint_indicator import AdvancedCustomBlueprintIndicator from instana_client.models.availability_blueprint_indicator import AvailabilityBlueprintIndicator from instana_client.models.custom_blueprint_indicator import CustomBlueprintIndicator from instana_client.models.latency_blueprint_indicator import LatencyBlueprintIndicator @@ -60,8 +62,8 @@ def blueprint_validate_enum(cls, value): if value is None: return value - if value not in set(['latency', 'availability', 'traffic', 'saturation', 'custom']): - raise ValueError("must be one of enum values ('latency', 'availability', 'traffic', 'saturation', 'custom')") + if value not in set(['latency', 'availability', 'traffic', 'saturation', 'custom', 'advanced-custom']): + raise ValueError("must be one of enum values ('latency', 'availability', 'traffic', 'saturation', 'custom', 'advanced-custom')") return value @field_validator('operator') @@ -95,7 +97,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -106,7 +109,7 @@ def type_validate_enum(cls, value): # discriminator mappings __discriminator_value_class_map: ClassVar[Dict[str, str]] = { - 'availability': 'AvailabilityBlueprintIndicator','custom': 'CustomBlueprintIndicator','latency': 'LatencyBlueprintIndicator','saturation': 'SaturationBlueprintIndicator','traffic': 'TrafficBlueprintIndicator' + 'advanced-custom': 'AdvancedCustomBlueprintIndicator','availability': 'AvailabilityBlueprintIndicator','custom': 'CustomBlueprintIndicator','latency': 'LatencyBlueprintIndicator','saturation': 'SaturationBlueprintIndicator','traffic': 'TrafficBlueprintIndicator' } @classmethod @@ -124,11 +127,10 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod - def from_json(cls, json_str: str) -> Optional[Union[AvailabilityBlueprintIndicator, CustomBlueprintIndicator, LatencyBlueprintIndicator, SaturationBlueprintIndicator, TrafficBlueprintIndicator]]: + def from_json(cls, json_str: str) -> Optional[Union[AdvancedCustomBlueprintIndicator, AvailabilityBlueprintIndicator, CustomBlueprintIndicator, LatencyBlueprintIndicator, SaturationBlueprintIndicator, TrafficBlueprintIndicator]]: """Create an instance of ServiceLevelIndicator from a JSON string""" return cls.from_dict(json.loads(json_str)) @@ -153,10 +155,12 @@ def to_dict(self) -> Dict[str, Any]: return _dict @classmethod - def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[AvailabilityBlueprintIndicator, CustomBlueprintIndicator, LatencyBlueprintIndicator, SaturationBlueprintIndicator, TrafficBlueprintIndicator]]: + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[AdvancedCustomBlueprintIndicator, AvailabilityBlueprintIndicator, CustomBlueprintIndicator, LatencyBlueprintIndicator, SaturationBlueprintIndicator, TrafficBlueprintIndicator]]: """Create an instance of ServiceLevelIndicator from a dict""" # look up the object type based on discriminator mapping object_type = cls.get_discriminator_value(obj) + if object_type == 'AdvancedCustomBlueprintIndicator': + return import_module("instana_client.models.advanced_custom_blueprint_indicator").AdvancedCustomBlueprintIndicator.from_dict(obj) if object_type == 'AvailabilityBlueprintIndicator': return import_module("instana_client.models.availability_blueprint_indicator").AvailabilityBlueprintIndicator.from_dict(obj) if object_type == 'CustomBlueprintIndicator': diff --git a/instana_client/models/service_level_objective_alert_rule.py b/instana_client/models/service_level_objective_alert_rule.py index f70edfc0..61261942 100644 --- a/instana_client/models/service_level_objective_alert_rule.py +++ b/instana_client/models/service_level_objective_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.service_levels_alert_rule import ServiceLevelsAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelObjectiveAlertRule(ServiceLevelsAlertRule): """ @@ -42,7 +43,8 @@ def metric_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_levels_alert_config.py b/instana_client/models/service_levels_alert_config.py index 42f8ebd4..02eb122e 100644 --- a/instana_client/models/service_levels_alert_config.py +++ b/instana_client/models/service_levels_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.static_threshold import StaticThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelsAlertConfig(BaseModel): """ @@ -50,7 +51,8 @@ class ServiceLevelsAlertConfig(BaseModel): __properties: ClassVar[List[str]] = ["alertChannelIds", "apdexIds", "burnRateConfig", "burnRateTimeWindows", "customPayloadFields", "description", "name", "rule", "severity", "sloIds", "threshold", "timeThreshold", "triggering"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -62,8 +64,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -114,6 +115,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if burn_rate_config (nullable) is None + # and model_fields_set contains the field + if self.burn_rate_config is None and "burn_rate_config" in self.model_fields_set: + _dict['burnRateConfig'] = None + + # set to None if burn_rate_time_windows (nullable) is None + # and model_fields_set contains the field + if self.burn_rate_time_windows is None and "burn_rate_time_windows" in self.model_fields_set: + _dict['burnRateTimeWindows'] = None + return _dict @classmethod diff --git a/instana_client/models/service_levels_alert_config_with_rbac_tag.py b/instana_client/models/service_levels_alert_config_with_rbac_tag.py index ef4a3c98..c9af9a0b 100644 --- a/instana_client/models/service_levels_alert_config_with_rbac_tag.py +++ b/instana_client/models/service_levels_alert_config_with_rbac_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.static_threshold import StaticThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelsAlertConfigWithRBACTag(BaseModel): """ @@ -57,7 +58,8 @@ class ServiceLevelsAlertConfigWithRBACTag(BaseModel): __properties: ClassVar[List[str]] = ["alertChannelIds", "apdexIds", "burnRateConfig", "burnRateTimeWindows", "created", "customPayloadFields", "description", "enabled", "id", "initialCreated", "name", "rbacTags", "readOnly", "rule", "severity", "sloIds", "threshold", "timeThreshold", "triggering"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -128,6 +129,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if burn_rate_config (nullable) is None + # and model_fields_set contains the field + if self.burn_rate_config is None and "burn_rate_config" in self.model_fields_set: + _dict['burnRateConfig'] = None + + # set to None if burn_rate_time_windows (nullable) is None + # and model_fields_set contains the field + if self.burn_rate_time_windows is None and "burn_rate_time_windows" in self.model_fields_set: + _dict['burnRateTimeWindows'] = None + return _dict @classmethod diff --git a/instana_client/models/service_levels_alert_rule.py b/instana_client/models/service_levels_alert_rule.py index e3fd96e2..211d1e79 100644 --- a/instana_client/models/service_levels_alert_rule.py +++ b/instana_client/models/service_levels_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -38,7 +39,8 @@ class ServiceLevelsAlertRule(BaseModel): __properties: ClassVar[List[str]] = ["alertType"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ApdexAlertRule, ErrorBudgetAlertRule, ServiceLevelObjectiveAlertRule]]: diff --git a/instana_client/models/service_levels_burn_rate_config.py b/instana_client/models/service_levels_burn_rate_config.py index 9ec18e6a..21520eba 100644 --- a/instana_client/models/service_levels_burn_rate_config.py +++ b/instana_client/models/service_levels_burn_rate_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.service_levels_static_threshold_config import ServiceLevelsStaticThresholdConfig from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelsBurnRateConfig(BaseModel): """ @@ -52,7 +53,8 @@ def duration_unit_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -64,8 +66,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_levels_burn_rate_time_windows.py b/instana_client/models/service_levels_burn_rate_time_windows.py index 70e8f745..a4b77b37 100644 --- a/instana_client/models/service_levels_burn_rate_time_windows.py +++ b/instana_client/models/service_levels_burn_rate_time_windows.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.alerting_time_window import AlertingTimeWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelsBurnRateTimeWindows(BaseModel): """ @@ -33,7 +34,8 @@ class ServiceLevelsBurnRateTimeWindows(BaseModel): __properties: ClassVar[List[str]] = ["longTimeWindow", "shortTimeWindow"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_levels_static_threshold_config.py b/instana_client/models/service_levels_static_threshold_config.py index a95677d5..279ad7bc 100644 --- a/instana_client/models/service_levels_static_threshold_config.py +++ b/instana_client/models/service_levels_static_threshold_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelsStaticThresholdConfig(BaseModel): """ @@ -36,12 +37,13 @@ class ServiceLevelsStaticThresholdConfig(BaseModel): @field_validator('operator') def operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_levels_time_threshold.py b/instana_client/models/service_levels_time_threshold.py index fc665894..77aa58bd 100644 --- a/instana_client/models/service_levels_time_threshold.py +++ b/instana_client/models/service_levels_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelsTimeThreshold(BaseModel): """ @@ -32,7 +33,8 @@ class ServiceLevelsTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["expiry", "timeWindow"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_levelse_alert_config_with_metadata.py b/instana_client/models/service_levelse_alert_config_with_metadata.py index 18b2c55b..068d36a0 100644 --- a/instana_client/models/service_levelse_alert_config_with_metadata.py +++ b/instana_client/models/service_levelse_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -29,6 +29,7 @@ from instana_client.models.static_threshold import StaticThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceLevelseAlertConfigWithMetadata(BaseModel): """ @@ -55,7 +56,8 @@ class ServiceLevelseAlertConfigWithMetadata(BaseModel): __properties: ClassVar[List[str]] = ["alertChannelIds", "apdexIds", "burnRateConfig", "burnRateTimeWindows", "created", "customPayloadFields", "description", "enabled", "id", "initialCreated", "name", "readOnly", "rule", "severity", "sloIds", "threshold", "timeThreshold", "triggering"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -119,6 +120,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if burn_rate_config (nullable) is None + # and model_fields_set contains the field + if self.burn_rate_config is None and "burn_rate_config" in self.model_fields_set: + _dict['burnRateConfig'] = None + + # set to None if burn_rate_time_windows (nullable) is None + # and model_fields_set contains the field + if self.burn_rate_time_windows is None and "burn_rate_time_windows" in self.model_fields_set: + _dict['burnRateTimeWindows'] = None + return _dict @classmethod diff --git a/instana_client/models/service_map.py b/instana_client/models/service_map.py index 0d41471f..be96afa7 100644 --- a/instana_client/models/service_map.py +++ b/instana_client/models/service_map.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.service_map_connection import ServiceMapConnection from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceMap(BaseModel): """ @@ -34,7 +35,8 @@ class ServiceMap(BaseModel): __properties: ClassVar[List[str]] = ["connections", "services"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_map_connection.py b/instana_client/models/service_map_connection.py index cedafb03..a2211733 100644 --- a/instana_client/models/service_map_connection.py +++ b/instana_client/models/service_map_connection.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceMapConnection(BaseModel): """ @@ -36,7 +37,8 @@ class ServiceMapConnection(BaseModel): __properties: ClassVar[List[str]] = ["calls", "errorRate", "from", "latency", "to"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_matching_rule.py b/instana_client/models/service_matching_rule.py index 1b145778..c2f0d838 100644 --- a/instana_client/models/service_matching_rule.py +++ b/instana_client/models/service_matching_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceMatchingRule(BaseModel): """ @@ -33,7 +34,8 @@ class ServiceMatchingRule(BaseModel): __properties: ClassVar[List[str]] = ["key", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_metric_result.py b/instana_client/models/service_metric_result.py index 1e3861b9..f4ea5a2b 100644 --- a/instana_client/models/service_metric_result.py +++ b/instana_client/models/service_metric_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.service_item import ServiceItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceMetricResult(BaseModel): """ @@ -38,7 +39,8 @@ class ServiceMetricResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -86,6 +87,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/service_node.py b/instana_client/models/service_node.py index f839aeee..63fe4d7d 100644 --- a/instana_client/models/service_node.py +++ b/instana_client/models/service_node.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.endpoint_node import EndpointNode from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceNode(BaseModel): """ @@ -35,7 +36,8 @@ class ServiceNode(BaseModel): __properties: ClassVar[List[str]] = ["endpoints", "inclusive", "serviceId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_now_enhanced_integration.py b/instana_client/models/service_now_enhanced_integration.py index f736a033..953406fe 100644 --- a/instana_client/models/service_now_enhanced_integration.py +++ b/instana_client/models/service_now_enhanced_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceNowEnhancedIntegration(AbstractIntegration): """ @@ -45,7 +46,8 @@ class ServiceNowEnhancedIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "autoCloseIncidents", "enableSendInstanaNotes", "enableSendServiceNowActivities", "enableSendServiceNowWorkNotes", "instanaUrl", "manuallyClosedIncidents", "password", "resolutionOfIncident", "serviceNowUrl", "snowStatusOnCloseEvent", "tenant", "unit", "username"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_now_integration.py b/instana_client/models/service_now_integration.py index aa39d534..69c99fab 100644 --- a/instana_client/models/service_now_integration.py +++ b/instana_client/models/service_now_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceNowIntegration(AbstractIntegration): """ @@ -36,7 +37,8 @@ class ServiceNowIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "autoCloseIncidents", "password", "serviceNowUrl", "username"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_result.py b/instana_client/models/service_result.py index 37e940f0..7be46af2 100644 --- a/instana_client/models/service_result.py +++ b/instana_client/models/service_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.service import Service from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceResult(BaseModel): """ @@ -35,7 +36,8 @@ class ServiceResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_scope.py b/instana_client/models/service_scope.py index e5900918..15f1f8b1 100644 --- a/instana_client/models/service_scope.py +++ b/instana_client/models/service_scope.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.service_scoped_to import ServiceScopedTo from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceScope(BaseModel): """ @@ -34,7 +35,8 @@ class ServiceScope(BaseModel): __properties: ClassVar[List[str]] = ["name", "scopedTo"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -75,6 +76,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of scoped_to if self.scoped_to: _dict['scopedTo'] = self.scoped_to.to_dict() + # set to None if scoped_to (nullable) is None + # and model_fields_set contains the field + if self.scoped_to is None and "scoped_to" in self.model_fields_set: + _dict['scopedTo'] = None + return _dict @classmethod diff --git a/instana_client/models/service_scope_with_metadata.py b/instana_client/models/service_scope_with_metadata.py index c4fd120a..bd5feb20 100644 --- a/instana_client/models/service_scope_with_metadata.py +++ b/instana_client/models/service_scope_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.service_scoped_to_with_metadata import ServiceScopedToWithMetadata from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceScopeWithMetadata(BaseModel): """ @@ -35,7 +36,8 @@ class ServiceScopeWithMetadata(BaseModel): __properties: ClassVar[List[str]] = ["id", "name", "scopedTo"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -76,6 +77,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of scoped_to if self.scoped_to: _dict['scopedTo'] = self.scoped_to.to_dict() + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if scoped_to (nullable) is None + # and model_fields_set contains the field + if self.scoped_to is None and "scoped_to" in self.model_fields_set: + _dict['scopedTo'] = None + return _dict @classmethod diff --git a/instana_client/models/service_scoped_to.py b/instana_client/models/service_scoped_to.py index 67b49670..53f8b892 100644 --- a/instana_client/models/service_scoped_to.py +++ b/instana_client/models/service_scoped_to.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.application_scope import ApplicationScope from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceScopedTo(BaseModel): """ @@ -33,7 +34,8 @@ class ServiceScopedTo(BaseModel): __properties: ClassVar[List[str]] = ["applications"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_scoped_to_with_metadata.py b/instana_client/models/service_scoped_to_with_metadata.py index 2c08a748..1d183244 100644 --- a/instana_client/models/service_scoped_to_with_metadata.py +++ b/instana_client/models/service_scoped_to_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.application_scope_with_metadata import ApplicationScopeWithMetadata from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceScopedToWithMetadata(BaseModel): """ @@ -33,7 +34,8 @@ class ServiceScopedToWithMetadata(BaseModel): __properties: ClassVar[List[str]] = ["applications"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/service_simple.py b/instana_client/models/service_simple.py index 782a1638..a0b9df49 100644 --- a/instana_client/models/service_simple.py +++ b/instana_client/models/service_simple.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ServiceSimple(BaseModel): """ @@ -32,7 +33,8 @@ class ServiceSimple(BaseModel): __properties: ClassVar[List[str]] = ["id", "label"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/session_replay_metadata.py b/instana_client/models/session_replay_metadata.py index 22dd8cbf..517ace29 100644 --- a/instana_client/models/session_replay_metadata.py +++ b/instana_client/models/session_replay_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,22 +22,24 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SessionReplayMetadata(BaseModel): """ List of session replay metadata records """ # noqa: E501 - bytes_ingested_image: StrictInt = Field(description="Size of the image in bytes", alias="bytesIngestedImage") - id: StrictStr = Field(description="Unique identifier for the metadata record") - image_data: Optional[StrictStr] = Field(default=None, description="Base64-encoded image data loaded from external storage", alias="imageData") - image_format: StrictStr = Field(description="Image format", alias="imageFormat") - session_id: StrictStr = Field(description="Session identifier", alias="sessionId") - timestamp: StrictInt = Field(description="Timestamp when the record was captured (epoch milliseconds)") - type: StrictStr = Field(description="Type of record") + bytes_ingested_image: StrictInt = Field(description="Size of the image in bytes", alias="bytesIngestedImage", json_schema_extra={"examples": [50000]}) + id: StrictStr = Field(description="Unique identifier for the metadata record", json_schema_extra={"examples": ["image-123"]}) + image_data: Optional[StrictStr] = Field(default=None, description="Base64-encoded image data loaded from external storage", alias="imageData", json_schema_extra={"examples": ["iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="]}) + image_format: StrictStr = Field(description="Image format", alias="imageFormat", json_schema_extra={"examples": ["png"]}) + session_id: StrictStr = Field(description="Session identifier", alias="sessionId", json_schema_extra={"examples": ["session-xyz"]}) + timestamp: StrictInt = Field(description="Timestamp when the record was captured (epoch milliseconds)", json_schema_extra={"examples": [1234567890]}) + type: StrictStr = Field(description="Type of record", json_schema_extra={"examples": ["screenshot"]}) __properties: ClassVar[List[str]] = ["bytesIngestedImage", "id", "imageData", "imageFormat", "sessionId", "timestamp", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/session_replay_timestamps.py b/instana_client/models/session_replay_timestamps.py index 9fac6323..787bec37 100644 --- a/instana_client/models/session_replay_timestamps.py +++ b/instana_client/models/session_replay_timestamps.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,17 +22,19 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SessionReplayTimestamps(BaseModel): """ SessionReplayTimestamps """ # noqa: E501 - first_image_timestamp: Optional[StrictInt] = Field(default=None, description="Timestamp of the first image in the session (epoch milliseconds). Null if no images exist.", alias="firstImageTimestamp") - last_image_timestamp: Optional[StrictInt] = Field(default=None, description="Timestamp of the last image in the session (epoch milliseconds). Null if no images exist.", alias="lastImageTimestamp") + first_image_timestamp: Optional[StrictInt] = Field(default=None, description="Timestamp of the first image in the session (epoch milliseconds). Null if no images exist.", alias="firstImageTimestamp", json_schema_extra={"examples": [1234567890]}) + last_image_timestamp: Optional[StrictInt] = Field(default=None, description="Timestamp of the last image in the session (epoch milliseconds). Null if no images exist.", alias="lastImageTimestamp", json_schema_extra={"examples": [1234567990]}) __properties: ClassVar[List[str]] = ["firstImageTimestamp", "lastImageTimestamp"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -70,6 +71,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if first_image_timestamp (nullable) is None + # and model_fields_set contains the field + if self.first_image_timestamp is None and "first_image_timestamp" in self.model_fields_set: + _dict['firstImageTimestamp'] = None + + # set to None if last_image_timestamp (nullable) is None + # and model_fields_set contains the field + if self.last_image_timestamp is None and "last_image_timestamp" in self.model_fields_set: + _dict['lastImageTimestamp'] = None + return _dict @classmethod diff --git a/instana_client/models/session_settings.py b/instana_client/models/session_settings.py index 90af67bf..e6e38df1 100644 --- a/instana_client/models/session_settings.py +++ b/instana_client/models/session_settings.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SessionSettings(BaseModel): """ @@ -33,7 +34,8 @@ class SessionSettings(BaseModel): __properties: ClassVar[List[str]] = ["idleTimeInMillis", "tokenLifeTimeInMillis"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/simple_metric_configuration.py b/instana_client/models/simple_metric_configuration.py index ccea1ebd..e18512f0 100644 --- a/instana_client/models/simple_metric_configuration.py +++ b/instana_client/models/simple_metric_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SimpleMetricConfiguration(BaseModel): """ @@ -55,7 +56,8 @@ def cross_series_aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -93,6 +94,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if cross_series_aggregation (nullable) is None + # and model_fields_set contains the field + if self.cross_series_aggregation is None and "cross_series_aggregation" in self.model_fields_set: + _dict['crossSeriesAggregation'] = None + + # set to None if granularity (nullable) is None + # and model_fields_set contains the field + if self.granularity is None and "granularity" in self.model_fields_set: + _dict['granularity'] = None + + # set to None if missing_value (nullable) is None + # and model_fields_set contains the field + if self.missing_value is None and "missing_value" in self.model_fields_set: + _dict['missingValue'] = None + return _dict @classmethod diff --git a/instana_client/models/slack_integration.py b/instana_client/models/slack_integration.py index d8bffca9..430d62ef 100644 --- a/instana_client/models/slack_integration.py +++ b/instana_client/models/slack_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SlackIntegration(AbstractIntegration): """ @@ -36,7 +37,8 @@ class SlackIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "channel", "emojiRendering", "iconUrl", "webhookUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if channel (nullable) is None + # and model_fields_set contains the field + if self.channel is None and "channel" in self.model_fields_set: + _dict['channel'] = None + + # set to None if icon_url (nullable) is None + # and model_fields_set contains the field + if self.icon_url is None and "icon_url" in self.model_fields_set: + _dict['iconUrl'] = None + return _dict @classmethod diff --git a/instana_client/models/sli_configuration.py b/instana_client/models/sli_configuration.py index f136405b..a70b5d93 100644 --- a/instana_client/models/sli_configuration.py +++ b/instana_client/models/sli_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.sli_entity import SliEntity from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SliConfiguration(BaseModel): """ @@ -38,7 +39,8 @@ class SliConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["id", "initialEvaluationTimestamp", "metricConfiguration", "sliEntity", "sliName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/sli_configuration_with_last_updated.py b/instana_client/models/sli_configuration_with_last_updated.py index 6dab807f..d5afcbfd 100644 --- a/instana_client/models/sli_configuration_with_last_updated.py +++ b/instana_client/models/sli_configuration_with_last_updated.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.sli_entity import SliEntity from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SliConfigurationWithLastUpdated(BaseModel): """ @@ -39,7 +40,8 @@ class SliConfigurationWithLastUpdated(BaseModel): __properties: ClassVar[List[str]] = ["id", "initialEvaluationTimestamp", "lastUpdated", "metricConfiguration", "sliEntity", "sliName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/sli_entity.py b/instana_client/models/sli_entity.py index ad0ec458..011c4719 100644 --- a/instana_client/models/sli_entity.py +++ b/instana_client/models/sli_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,7 +40,8 @@ class SliEntity(BaseModel): __properties: ClassVar[List[str]] = ["sliType"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -68,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ApplicationSliEntity, AvailabilitySliEntity, WebsiteEventBasedSliEntity, WebsiteTimeBasedSliEntity]]: diff --git a/instana_client/models/sli_report.py b/instana_client/models/sli_report.py index f297ab7d..9ada919e 100644 --- a/instana_client/models/sli_report.py +++ b/instana_client/models/sli_report.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SliReport(BaseModel): """ @@ -37,7 +38,8 @@ class SliReport(BaseModel): __properties: ClassVar[List[str]] = ["errorBudgetRemaining", "fromTimestamp", "sli", "slo", "toTimestamp", "totalErrorBudget", "violationDistribution"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/slo_config_with_rbac_tag.py b/instana_client/models/slo_config_with_rbac_tag.py index a08d97b9..2ef54863 100644 --- a/instana_client/models/slo_config_with_rbac_tag.py +++ b/instana_client/models/slo_config_with_rbac_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -28,6 +28,7 @@ from instana_client.models.time_window import TimeWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SLOConfigWithRBACTag(BaseModel): """ @@ -41,12 +42,13 @@ class SLOConfigWithRBACTag(BaseModel): name: StrictStr = Field(description="Name of the Service Levels Objective Configuration") rbac_tags: Optional[List[ApiTag]] = Field(default=None, alias="rbacTags") tags: List[StrictStr] = Field(description="List of tags associated with Service Levels Objective Configuration") - target: Union[Annotated[float, Field(le=0.9999, strict=True, gt=0.0)], Annotated[int, Field(le=0, strict=True, gt=0)]] = Field(description="Service Levels Objective Configuration Target") + target: Union[Annotated[float, Field(le=0.9999, strict=True, gt=0)], Annotated[int, Field(le=0, strict=True, gt=0)]] = Field(description="Service Levels Objective Configuration Target") time_window: TimeWindow = Field(alias="timeWindow") __properties: ClassVar[List[str]] = ["createdDate", "entity", "id", "indicator", "lastUpdated", "name", "rbacTags", "tags", "target", "timeWindow"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +60,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/slo_entity.py b/instana_client/models/slo_entity.py index c4d389d0..08da1e04 100644 --- a/instana_client/models/slo_entity.py +++ b/instana_client/models/slo_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,11 +24,13 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: from instana_client.models.application_slo_entity import ApplicationSloEntity from instana_client.models.infra_slo_entity import InfraSloEntity + from instana_client.models.mobile_slo_entity import MobileSloEntity from instana_client.models.synthetic_slo_entity import SyntheticSloEntity from instana_client.models.website_slo_entity import WebsiteSloEntity @@ -41,7 +43,8 @@ class SloEntity(BaseModel): __properties: ClassVar[List[str]] = ["tagFilterExpression", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,7 +55,7 @@ class SloEntity(BaseModel): # discriminator mappings __discriminator_value_class_map: ClassVar[Dict[str, str]] = { - 'application': 'ApplicationSloEntity','infrastructure': 'InfraSloEntity','synthetic': 'SyntheticSloEntity','website': 'WebsiteSloEntity' + 'application': 'ApplicationSloEntity','infrastructure': 'InfraSloEntity','mobile': 'MobileSloEntity','synthetic': 'SyntheticSloEntity','website': 'WebsiteSloEntity' } @classmethod @@ -70,11 +73,10 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod - def from_json(cls, json_str: str) -> Optional[Union[ApplicationSloEntity, InfraSloEntity, SyntheticSloEntity, WebsiteSloEntity]]: + def from_json(cls, json_str: str) -> Optional[Union[ApplicationSloEntity, InfraSloEntity, MobileSloEntity, SyntheticSloEntity, WebsiteSloEntity]]: """Create an instance of SloEntity from a JSON string""" return cls.from_dict(json.loads(json_str)) @@ -99,10 +101,15 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod - def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[ApplicationSloEntity, InfraSloEntity, SyntheticSloEntity, WebsiteSloEntity]]: + def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[ApplicationSloEntity, InfraSloEntity, MobileSloEntity, SyntheticSloEntity, WebsiteSloEntity]]: """Create an instance of SloEntity from a dict""" # look up the object type based on discriminator mapping object_type = cls.get_discriminator_value(obj) @@ -110,6 +117,8 @@ def from_dict(cls, obj: Dict[str, Any]) -> Optional[Union[ApplicationSloEntity, return import_module("instana_client.models.application_slo_entity").ApplicationSloEntity.from_dict(obj) if object_type == 'InfraSloEntity': return import_module("instana_client.models.infra_slo_entity").InfraSloEntity.from_dict(obj) + if object_type == 'MobileSloEntity': + return import_module("instana_client.models.mobile_slo_entity").MobileSloEntity.from_dict(obj) if object_type == 'SyntheticSloEntity': return import_module("instana_client.models.synthetic_slo_entity").SyntheticSloEntity.from_dict(obj) if object_type == 'WebsiteSloEntity': diff --git a/instana_client/models/slo_report.py b/instana_client/models/slo_report.py index cb627561..db88c7d8 100644 --- a/instana_client/models/slo_report.py +++ b/instana_client/models/slo_report.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SloReport(BaseModel): """ @@ -43,7 +44,8 @@ class SloReport(BaseModel): __properties: ClassVar[List[str]] = ["errorAccumulationChart", "errorBudgetRemainChart", "errorBudgetRemaining", "errorBudgetSpent", "errorBurnRate", "errorBurnRateChart", "errorChart", "fromTimestamp", "sli", "slo", "toTimestamp", "totalErrorBudget", "violationDistribution"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/slowness_application_alert_rule.py b/instana_client/models/slowness_application_alert_rule.py index ded0561c..910d818e 100644 --- a/instana_client/models/slowness_application_alert_rule.py +++ b/instana_client/models/slowness_application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.application_alert_rule import ApplicationAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SlownessApplicationAlertRule(ApplicationAlertRule): """ @@ -31,7 +32,8 @@ class SlownessApplicationAlertRule(ApplicationAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/slowness_mobile_app_alert_rule.py b/instana_client/models/slowness_mobile_app_alert_rule.py index 7215e96b..1d10897e 100644 --- a/instana_client/models/slowness_mobile_app_alert_rule.py +++ b/instana_client/models/slowness_mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SlownessMobileAppAlertRule(MobileAppAlertRule): """ @@ -31,7 +32,8 @@ class SlownessMobileAppAlertRule(MobileAppAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/slowness_website_alert_rule.py b/instana_client/models/slowness_website_alert_rule.py index fa879e52..fb745061 100644 --- a/instana_client/models/slowness_website_alert_rule.py +++ b/instana_client/models/slowness_website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.website_alert_rule import WebsiteAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SlownessWebsiteAlertRule(WebsiteAlertRule): """ @@ -31,7 +32,8 @@ class SlownessWebsiteAlertRule(WebsiteAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/snapshot_item.py b/instana_client/models/snapshot_item.py index 3953001b..0e96045f 100644 --- a/instana_client/models/snapshot_item.py +++ b/instana_client/models/snapshot_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SnapshotItem(BaseModel): """ @@ -31,14 +32,15 @@ class SnapshotItem(BaseModel): var_from: Optional[StrictInt] = Field(default=None, description="Start of timeframe expressed as the Unix epoch time in milliseconds", alias="from") host: Optional[StrictStr] = Field(default=None, description="Host name") label: Optional[StrictStr] = Field(default=None, description="Friendly label for the entity") - plugin: Optional[StrictStr] = Field(default=None, description="Plugin name") + plugin: Optional[StrictStr] = Field(default=None, description="Plugin name", json_schema_extra={"examples": ["host"]}) snapshot_id: Optional[StrictStr] = Field(default=None, description="Snapshot ID", alias="snapshotId") tags: Optional[List[StrictStr]] = Field(default=None, description="Tags which can be used to search for this entity") to: Optional[StrictInt] = Field(default=None, description="End of timeframe expressed as the Unix epoch time in milliseconds") __properties: ClassVar[List[str]] = ["data", "from", "host", "label", "plugin", "snapshotId", "tags", "to"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/snapshot_preview.py b/instana_client/models/snapshot_preview.py index c0369329..76bd76c9 100644 --- a/instana_client/models/snapshot_preview.py +++ b/instana_client/models/snapshot_preview.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SnapshotPreview(BaseModel): """ @@ -36,7 +37,8 @@ class SnapshotPreview(BaseModel): __properties: ClassVar[List[str]] = ["data", "id", "label", "plugin", "time"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -74,6 +75,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if data (nullable) is None + # and model_fields_set contains the field + if self.data is None and "data" in self.model_fields_set: + _dict['data'] = None + return _dict @classmethod diff --git a/instana_client/models/snapshot_result.py b/instana_client/models/snapshot_result.py index 0f57cc6f..12ce9d95 100644 --- a/instana_client/models/snapshot_result.py +++ b/instana_client/models/snapshot_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.snapshot_item import SnapshotItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SnapshotResult(BaseModel): """ @@ -32,7 +33,8 @@ class SnapshotResult(BaseModel): __properties: ClassVar[List[str]] = ["items"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/software_user.py b/instana_client/models/software_user.py index 8767b448..58ef68c4 100644 --- a/instana_client/models/software_user.py +++ b/instana_client/models/software_user.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SoftwareUser(BaseModel): """ @@ -34,7 +35,8 @@ class SoftwareUser(BaseModel): __properties: ClassVar[List[str]] = ["container", "host", "process", "snapshotId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -72,6 +73,26 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if container (nullable) is None + # and model_fields_set contains the field + if self.container is None and "container" in self.model_fields_set: + _dict['container'] = None + + # set to None if host (nullable) is None + # and model_fields_set contains the field + if self.host is None and "host" in self.model_fields_set: + _dict['host'] = None + + # set to None if process (nullable) is None + # and model_fields_set contains the field + if self.process is None and "process" in self.model_fields_set: + _dict['process'] = None + + # set to None if snapshot_id (nullable) is None + # and model_fields_set contains the field + if self.snapshot_id is None and "snapshot_id" in self.model_fields_set: + _dict['snapshotId'] = None + return _dict @classmethod diff --git a/instana_client/models/software_version.py b/instana_client/models/software_version.py index 828a1d2f..9604fd3d 100644 --- a/instana_client/models/software_version.py +++ b/instana_client/models/software_version.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.software_user import SoftwareUser from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SoftwareVersion(BaseModel): """ @@ -54,7 +55,8 @@ def software_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/source_map_file_blob.py b/instana_client/models/source_map_file_blob.py index cd8611b8..f3ed994b 100644 --- a/instana_client/models/source_map_file_blob.py +++ b/instana_client/models/source_map_file_blob.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SourceMapFileBlob(BaseModel): """ @@ -33,7 +34,8 @@ class SourceMapFileBlob(BaseModel): __properties: ClassVar[List[str]] = ["blobIndex", "size", "sizeOnDisk"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/source_map_file_meta.py b/instana_client/models/source_map_file_meta.py index 0fabba76..3519fa53 100644 --- a/instana_client/models/source_map_file_meta.py +++ b/instana_client/models/source_map_file_meta.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.source_map_file_blob import SourceMapFileBlob from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SourceMapFileMeta(BaseModel): """ @@ -46,7 +47,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +60,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/source_map_upload_config.py b/instana_client/models/source_map_upload_config.py index b8b82042..9e018836 100644 --- a/instana_client/models/source_map_upload_config.py +++ b/instana_client/models/source_map_upload_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.source_map_file_meta import SourceMapFileMeta from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SourceMapUploadConfig(BaseModel): """ @@ -38,7 +39,8 @@ class SourceMapUploadConfig(BaseModel): __properties: ClassVar[List[str]] = ["createdAt", "description", "id", "metadata", "modifiedAt"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +84,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_metadata: _items.append(_item_metadata.to_dict()) _dict['metadata'] = _items + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + return _dict @classmethod diff --git a/instana_client/models/source_map_upload_configs.py b/instana_client/models/source_map_upload_configs.py index 551d1848..9c2af79c 100644 --- a/instana_client/models/source_map_upload_configs.py +++ b/instana_client/models/source_map_upload_configs.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.source_map_upload_config import SourceMapUploadConfig from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SourceMapUploadConfigs(BaseModel): """ @@ -34,7 +35,8 @@ class SourceMapUploadConfigs(BaseModel): __properties: ClassVar[List[str]] = ["config", "configs"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/span_excerpt.py b/instana_client/models/span_excerpt.py index 6658aed8..98d47712 100644 --- a/instana_client/models/span_excerpt.py +++ b/instana_client/models/span_excerpt.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,13 +18,14 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from instana_client.models.database_integration import DatabaseIntegration from instana_client.models.stack_trace_item import StackTraceItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SpanExcerpt(BaseModel): """ @@ -39,9 +40,10 @@ class SpanExcerpt(BaseModel): kind: StrictStr = Field(description="There are 4 types of span kind: 1. `ENTRY`: An entry span represents an incoming request into a traced service. 2. `EXIT`: An exit span represents an outgoing request that a service makes to some other service. 3. `INTERMEDIATE`: An intermediate span represents anything that happens inside a traced service where the flow of control neither enters nor leaves that service, but stays inside it. 4. `UNKNOWN`: Instana can't determine the span kind. ") name: Annotated[str, Field(min_length=1, strict=True)] = Field(description="The technical type of the span. For example, `node.http.client` or `jdbc`.") parent_id: Optional[StrictStr] = Field(default=None, description="The parent call id, referring to another call in the same trace which triggered the processing associated with this call.", alias="parentId") + sampling_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The probability at which this span was sampled by the tracer. Only present if the span was subjected to sampling.", alias="samplingRate") stack_trace: List[StackTraceItem] = Field(description="For an erroneous call, if stack trace is available it will show a list of items containing file, method and line number of the code.", alias="stackTrace") start: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="The timestamp when the call or request was initiated. For example, Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December 2024 04:27:59.870 GMT`") - __properties: ClassVar[List[str]] = ["data", "databaseIntegrations", "duration", "errorCount", "foreignParentId", "id", "kind", "name", "parentId", "stackTrace", "start"] + __properties: ClassVar[List[str]] = ["data", "databaseIntegrations", "duration", "errorCount", "foreignParentId", "id", "kind", "name", "parentId", "samplingRate", "stackTrace", "start"] @field_validator('kind') def kind_validate_enum(cls, value): @@ -51,7 +53,8 @@ def kind_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +66,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -103,6 +105,21 @@ def to_dict(self) -> Dict[str, Any]: if _item_stack_trace: _items.append(_item_stack_trace.to_dict()) _dict['stackTrace'] = _items + # set to None if foreign_parent_id (nullable) is None + # and model_fields_set contains the field + if self.foreign_parent_id is None and "foreign_parent_id" in self.model_fields_set: + _dict['foreignParentId'] = None + + # set to None if parent_id (nullable) is None + # and model_fields_set contains the field + if self.parent_id is None and "parent_id" in self.model_fields_set: + _dict['parentId'] = None + + # set to None if sampling_rate (nullable) is None + # and model_fields_set contains the field + if self.sampling_rate is None and "sampling_rate" in self.model_fields_set: + _dict['samplingRate'] = None + return _dict @classmethod @@ -124,6 +141,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "kind": obj.get("kind"), "name": obj.get("name"), "parentId": obj.get("parentId"), + "samplingRate": obj.get("samplingRate"), "stackTrace": [StackTraceItem.from_dict(_item) for _item in obj["stackTrace"]] if obj.get("stackTrace") is not None else None, "start": obj.get("start") }) diff --git a/instana_client/models/span_relation.py b/instana_client/models/span_relation.py index a10c874e..2a1ef1cb 100644 --- a/instana_client/models/span_relation.py +++ b/instana_client/models/span_relation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.service import Service from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SpanRelation(BaseModel): """ @@ -38,7 +39,8 @@ class SpanRelation(BaseModel): __properties: ClassVar[List[str]] = ["applications", "endpoint", "physicalContext", "service"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -92,6 +93,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of service if self.service: _dict['service'] = self.service.to_dict() + # set to None if physical_context (nullable) is None + # and model_fields_set contains the field + if self.physical_context is None and "physical_context" in self.model_fields_set: + _dict['physicalContext'] = None + return _dict @classmethod diff --git a/instana_client/models/specific_js_errors_website_alert_rule.py b/instana_client/models/specific_js_errors_website_alert_rule.py index 18556c5a..2e05a9c4 100644 --- a/instana_client/models/specific_js_errors_website_alert_rule.py +++ b/instana_client/models/specific_js_errors_website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.website_alert_rule import WebsiteAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SpecificJsErrorsWebsiteAlertRule(WebsiteAlertRule): """ @@ -40,7 +41,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -78,6 +79,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + return _dict @classmethod diff --git a/instana_client/models/splunk_integration.py b/instana_client/models/splunk_integration.py index b1792f35..7c4ffa5a 100644 --- a/instana_client/models/splunk_integration.py +++ b/instana_client/models/splunk_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SplunkIntegration(AbstractIntegration): """ @@ -34,7 +35,8 @@ class SplunkIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "token", "url"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ssl_certificate_configuration.py b/instana_client/models/ssl_certificate_configuration.py index bab7845f..e2ae8896 100644 --- a/instana_client/models/ssl_certificate_configuration.py +++ b/instana_client/models/ssl_certificate_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SSLCertificateConfiguration(SyntheticTypeConfiguration): """ @@ -38,7 +39,8 @@ class SSLCertificateConfiguration(SyntheticTypeConfiguration): __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "syntheticType", "timeout", "acceptSelfSignedCertificate", "daysRemainingCheck", "hostname", "port", "validationRules"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ssl_certificate_configuration_update.py b/instana_client/models/ssl_certificate_configuration_update.py index 87b75a00..42eacf7a 100644 --- a/instana_client/models/ssl_certificate_configuration_update.py +++ b/instana_client/models/ssl_certificate_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SSLCertificateConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -37,7 +38,8 @@ class SSLCertificateConfigurationUpdate(SyntheticTypeConfigurationUpdate): __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "syntheticTest", "syntheticType", "timeout", "acceptSelfSignedCertificate", "daysRemainingCheck", "hostname", "port", "validationRules"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/ssl_certificate_validation.py b/instana_client/models/ssl_certificate_validation.py index b0a5acdb..2849cf1e 100644 --- a/instana_client/models/ssl_certificate_validation.py +++ b/instana_client/models/ssl_certificate_validation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SSLCertificateValidation(BaseModel): """ @@ -40,7 +41,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/stack_trace_item.py b/instana_client/models/stack_trace_item.py index fe24ec47..157aede6 100644 --- a/instana_client/models/stack_trace_item.py +++ b/instana_client/models/stack_trace_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StackTraceItem(BaseModel): """ @@ -33,7 +34,8 @@ class StackTraceItem(BaseModel): __properties: ClassVar[List[str]] = ["file", "line", "method"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if file (nullable) is None + # and model_fields_set contains the field + if self.file is None and "file" in self.model_fields_set: + _dict['file'] = None + + # set to None if line (nullable) is None + # and model_fields_set contains the field + if self.line is None and "line" in self.model_fields_set: + _dict['line'] = None + + # set to None if method (nullable) is None + # and model_fields_set contains the field + if self.method is None and "method" in self.model_fields_set: + _dict['method'] = None + return _dict @classmethod diff --git a/instana_client/models/stack_trace_line.py b/instana_client/models/stack_trace_line.py index cd3cca38..8d9d260a 100644 --- a/instana_client/models/stack_trace_line.py +++ b/instana_client/models/stack_trace_line.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StackTraceLine(BaseModel): """ @@ -37,7 +38,8 @@ class StackTraceLine(BaseModel): __properties: ClassVar[List[str]] = ["column", "file", "line", "name", "translationExplanation", "translationStatus"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -75,6 +76,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if translation_explanation (nullable) is None + # and model_fields_set contains the field + if self.translation_explanation is None and "translation_explanation" in self.model_fields_set: + _dict['translationExplanation'] = None + return _dict @classmethod diff --git a/instana_client/models/static_baseline_threshold_rule.py b/instana_client/models/static_baseline_threshold_rule.py index 22d51f28..44df6ad8 100644 --- a/instana_client/models/static_baseline_threshold_rule.py +++ b/instana_client/models/static_baseline_threshold_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,13 +24,14 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StaticBaselineThresholdRule(ThresholdConfigRule): """ StaticBaselineThresholdRule """ # noqa: E501 baseline: Optional[List[List[Union[StrictFloat, StrictInt]]]] = None - deviation_factor: Optional[Union[Annotated[float, Field(le=16.0, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") + deviation_factor: Optional[Union[Annotated[float, Field(le=16, strict=True, ge=0.5)], Annotated[int, Field(le=16, strict=True, ge=1)]]] = Field(default=None, alias="deviationFactor") seasonality: StrictStr __properties: ClassVar[List[str]] = ["type", "baseline", "deviationFactor", "seasonality"] @@ -42,7 +43,8 @@ def seasonality_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -80,6 +81,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if baseline (nullable) is None + # and model_fields_set contains the field + if self.baseline is None and "baseline" in self.model_fields_set: + _dict['baseline'] = None + return _dict @classmethod diff --git a/instana_client/models/static_string_field.py b/instana_client/models/static_string_field.py index 2304f8aa..9b27f6ef 100644 --- a/instana_client/models/static_string_field.py +++ b/instana_client/models/static_string_field.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.custom_payload_field import CustomPayloadField from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StaticStringField(CustomPayloadField): """ @@ -33,7 +34,8 @@ class StaticStringField(CustomPayloadField): __properties: ClassVar[List[str]] = ["key", "type", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/static_threshold.py b/instana_client/models/static_threshold.py index 5f404216..1f8cfd7d 100644 --- a/instana_client/models/static_threshold.py +++ b/instana_client/models/static_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,17 +24,21 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StaticThreshold(Threshold): """ This threshold defines a static value to be evaluated with a specific operator. """ # noqa: E501 last_updated: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="lastUpdated") + lower_bound: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, alias="lowerBound") + upper_bound: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, alias="upperBound") value: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = None - __properties: ClassVar[List[str]] = ["operator", "type", "lastUpdated", "value"] + __properties: ClassVar[List[str]] = ["operator", "type", "lastUpdated", "lowerBound", "upperBound", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -72,6 +75,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if lower_bound (nullable) is None + # and model_fields_set contains the field + if self.lower_bound is None and "lower_bound" in self.model_fields_set: + _dict['lowerBound'] = None + + # set to None if upper_bound (nullable) is None + # and model_fields_set contains the field + if self.upper_bound is None and "upper_bound" in self.model_fields_set: + _dict['upperBound'] = None + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + return _dict @classmethod @@ -87,6 +105,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "operator": obj.get("operator"), "type": obj.get("type"), "lastUpdated": obj.get("lastUpdated"), + "lowerBound": obj.get("lowerBound"), + "upperBound": obj.get("upperBound"), "value": obj.get("value") }) return _obj diff --git a/instana_client/models/static_threshold_rule.py b/instana_client/models/static_threshold_rule.py index 97a27bd3..b94aac04 100644 --- a/instana_client/models/static_threshold_rule.py +++ b/instana_client/models/static_threshold_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,16 +24,20 @@ from instana_client.models.threshold_config_rule import ThresholdConfigRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StaticThresholdRule(ThresholdConfigRule): """ StaticThresholdRule """ # noqa: E501 + lower_bound: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, alias="lowerBound") + upper_bound: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, alias="upperBound") value: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = None - __properties: ClassVar[List[str]] = ["type", "value"] + __properties: ClassVar[List[str]] = ["type", "lowerBound", "upperBound", "value"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +74,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if lower_bound (nullable) is None + # and model_fields_set contains the field + if self.lower_bound is None and "lower_bound" in self.model_fields_set: + _dict['lowerBound'] = None + + # set to None if upper_bound (nullable) is None + # and model_fields_set contains the field + if self.upper_bound is None and "upper_bound" in self.model_fields_set: + _dict['upperBound'] = None + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + return _dict @classmethod @@ -84,6 +102,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "type": obj.get("type"), + "lowerBound": obj.get("lowerBound"), + "upperBound": obj.get("upperBound"), "value": obj.get("value") }) return _obj diff --git a/instana_client/models/status_code_application_alert_rule.py b/instana_client/models/status_code_application_alert_rule.py index f4473864..bc4207ad 100644 --- a/instana_client/models/status_code_application_alert_rule.py +++ b/instana_client/models/status_code_application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,17 +24,20 @@ from instana_client.models.application_alert_rule import ApplicationAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StatusCodeApplicationAlertRule(ApplicationAlertRule): """ StatusCodeApplicationAlertRule """ # noqa: E501 + metric_name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="metricName") status_code_end: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="statusCodeEnd") status_code_start: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="statusCodeStart") __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName", "statusCodeEnd", "statusCodeStart"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -72,6 +74,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_name (nullable) is None + # and model_fields_set contains the field + if self.metric_name is None and "metric_name" in self.model_fields_set: + _dict['metricName'] = None + return _dict @classmethod diff --git a/instana_client/models/status_code_mobile_app_alert_rule.py b/instana_client/models/status_code_mobile_app_alert_rule.py index f12432f6..2ecda009 100644 --- a/instana_client/models/status_code_mobile_app_alert_rule.py +++ b/instana_client/models/status_code_mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,16 +19,18 @@ import json from pydantic import ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StatusCodeMobileAppAlertRule(MobileAppAlertRule): """ StatusCodeMobileAppAlertRule """ # noqa: E501 + metric_name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(alias="metricName") operator: StrictStr value: Annotated[str, Field(min_length=1, strict=True)] __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName", "operator", "value"] @@ -41,7 +43,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +81,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if metric_name (nullable) is None + # and model_fields_set contains the field + if self.metric_name is None and "metric_name" in self.model_fields_set: + _dict['metricName'] = None + return _dict @classmethod diff --git a/instana_client/models/status_code_website_alert_rule.py b/instana_client/models/status_code_website_alert_rule.py index 764e44a9..dd612003 100644 --- a/instana_client/models/status_code_website_alert_rule.py +++ b/instana_client/models/status_code_website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.website_alert_rule import WebsiteAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class StatusCodeWebsiteAlertRule(WebsiteAlertRule): """ @@ -41,7 +42,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_alert_config.py b/instana_client/models/synthetic_alert_config.py index be82b923..e4af7311 100644 --- a/instana_client/models/synthetic_alert_config.py +++ b/instana_client/models/synthetic_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -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, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.custom_payload_field import CustomPayloadField @@ -27,25 +27,40 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticAlertConfig(BaseModel): """ SyntheticAlertConfig """ # noqa: E501 + affected_locations_count: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Number of locations encounters failure", alias="affectedLocationsCount") alert_channel_ids: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=0, max_length=1024)] = Field(description="List of IDs of alert channels defined in Instana. Can be left empty.", alias="alertChannelIds") custom_payload_fields: Annotated[List[CustomPayloadField], Field(min_length=0, max_length=20)] = Field(description="Custom payload fields to send additional information in the alert notifications. Can be left empty.", alias="customPayloadFields") description: Annotated[str, Field(min_length=0, strict=True, max_length=65536)] = Field(description="Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.") + evaluation_type: Optional[StrictStr] = Field(default=None, description="Determines whether synthetic test results are evaluated per location independently or grouped across all locations.", alias="evaluationType") grace_period: Optional[StrictInt] = Field(default=None, description="The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.", alias="gracePeriod") + include_on_demand: Optional[StrictBool] = Field(default=None, description="Controls whether on-demand synthetic test runs should be included in alert evaluation. When true, both scheduled and on-demand test runs are evaluated. When false, only scheduled test runs are evaluated. Default behavior when not provided: (1) If tagFilterExpression contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → defaults to false; (3) If no RUN_TYPE filter exists → defaults to false.", alias="includeOnDemand") name: Annotated[str, Field(min_length=0, strict=True, max_length=256)] = Field(description="Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.") rule: SyntheticAlertRule severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") synthetic_test_ids: List[StrictStr] = Field(description="IDs of the synthetic tests that this Smart Alert configuration is applied to.", alias="syntheticTestIds") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") time_threshold: SyntheticTimeThreshold = Field(alias="timeThreshold") - __properties: ClassVar[List[str]] = ["alertChannelIds", "customPayloadFields", "description", "gracePeriod", "name", "rule", "severity", "syntheticTestIds", "tagFilterExpression", "timeThreshold"] + __properties: ClassVar[List[str]] = ["affectedLocationsCount", "alertChannelIds", "customPayloadFields", "description", "evaluationType", "gracePeriod", "includeOnDemand", "name", "rule", "severity", "syntheticTestIds", "tagFilterExpression", "timeThreshold"] + + @field_validator('evaluation_type') + def evaluation_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['PER_LOCATION', 'PER_SYNTHETIC_TEST']): + raise ValueError("must be one of enum values ('PER_LOCATION', 'PER_SYNTHETIC_TEST')") + return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -99,6 +113,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if affected_locations_count (nullable) is None + # and model_fields_set contains the field + if self.affected_locations_count is None and "affected_locations_count" in self.model_fields_set: + _dict['affectedLocationsCount'] = None + + # set to None if evaluation_type (nullable) is None + # and model_fields_set contains the field + if self.evaluation_type is None and "evaluation_type" in self.model_fields_set: + _dict['evaluationType'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if include_on_demand (nullable) is None + # and model_fields_set contains the field + if self.include_on_demand is None and "include_on_demand" in self.model_fields_set: + _dict['includeOnDemand'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod @@ -111,10 +150,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "affectedLocationsCount": obj.get("affectedLocationsCount"), "alertChannelIds": obj.get("alertChannelIds"), "customPayloadFields": [CustomPayloadField.from_dict(_item) for _item in obj["customPayloadFields"]] if obj.get("customPayloadFields") is not None else None, "description": obj.get("description"), + "evaluationType": obj.get("evaluationType"), "gracePeriod": obj.get("gracePeriod"), + "includeOnDemand": obj.get("includeOnDemand"), "name": obj.get("name"), "rule": SyntheticAlertRule.from_dict(obj["rule"]) if obj.get("rule") is not None else None, "severity": obj.get("severity"), diff --git a/instana_client/models/synthetic_alert_config_with_metadata.py b/instana_client/models/synthetic_alert_config_with_metadata.py index 94914d0f..9cab8dd7 100644 --- a/instana_client/models/synthetic_alert_config_with_metadata.py +++ b/instana_client/models/synthetic_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +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 instana_client.models.custom_payload_field import CustomPayloadField @@ -27,30 +27,45 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticAlertConfigWithMetadata(BaseModel): """ SyntheticAlertConfigWithMetadata """ # noqa: E501 + affected_locations_count: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Number of locations encounters failure", alias="affectedLocationsCount") alert_channel_ids: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=0, max_length=1024)] = Field(description="List of IDs of alert channels defined in Instana. Can be left empty.", alias="alertChannelIds") created: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Unix timestamp representing the creation time of this revision.") custom_payload_fields: Annotated[List[CustomPayloadField], Field(min_length=0, max_length=20)] = Field(description="Custom payload fields to send additional information in the alert notifications. Can be left empty.", alias="customPayloadFields") description: Annotated[str, Field(min_length=0, strict=True, max_length=65536)] = Field(description="Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.") enabled: Optional[StrictBool] = Field(default=None, description="Flag to indicate whether or not the configuration is enabled.") + evaluation_type: Optional[StrictStr] = Field(default=None, description="Determines whether synthetic test results are evaluated per location independently or grouped across all locations.", alias="evaluationType") grace_period: Optional[StrictInt] = Field(default=None, description="The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.", alias="gracePeriod") id: Annotated[str, Field(min_length=0, strict=True, max_length=64)] = Field(description="ID of this Synthetic Alert Config. ") + include_on_demand: Optional[StrictBool] = Field(default=None, description="Controls whether on-demand synthetic test runs should be included in alert evaluation. When true, both scheduled and on-demand test runs are evaluated. When false, only scheduled test runs are evaluated. Default behavior when not provided: (1) If tagFilterExpression contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → defaults to false; (3) If no RUN_TYPE filter exists → defaults to false.", alias="includeOnDemand") initial_created: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Unix timestamp representing the time of the initial revision.", alias="initialCreated") name: Annotated[str, Field(min_length=0, strict=True, max_length=256)] = Field(description="Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.") read_only: Optional[StrictBool] = Field(default=None, description="Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config.", alias="readOnly") rule: SyntheticAlertRule severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") synthetic_test_ids: List[StrictStr] = Field(description="IDs of the synthetic tests that this Smart Alert configuration is applied to.", alias="syntheticTestIds") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") time_threshold: SyntheticTimeThreshold = Field(alias="timeThreshold") - __properties: ClassVar[List[str]] = ["alertChannelIds", "created", "customPayloadFields", "description", "enabled", "gracePeriod", "id", "initialCreated", "name", "readOnly", "rule", "severity", "syntheticTestIds", "tagFilterExpression", "timeThreshold"] + __properties: ClassVar[List[str]] = ["affectedLocationsCount", "alertChannelIds", "created", "customPayloadFields", "description", "enabled", "evaluationType", "gracePeriod", "id", "includeOnDemand", "initialCreated", "name", "readOnly", "rule", "severity", "syntheticTestIds", "tagFilterExpression", "timeThreshold"] + + @field_validator('evaluation_type') + def evaluation_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['PER_LOCATION', 'PER_SYNTHETIC_TEST']): + raise ValueError("must be one of enum values ('PER_LOCATION', 'PER_SYNTHETIC_TEST')") + return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -62,8 +77,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -104,6 +118,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if affected_locations_count (nullable) is None + # and model_fields_set contains the field + if self.affected_locations_count is None and "affected_locations_count" in self.model_fields_set: + _dict['affectedLocationsCount'] = None + + # set to None if evaluation_type (nullable) is None + # and model_fields_set contains the field + if self.evaluation_type is None and "evaluation_type" in self.model_fields_set: + _dict['evaluationType'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if include_on_demand (nullable) is None + # and model_fields_set contains the field + if self.include_on_demand is None and "include_on_demand" in self.model_fields_set: + _dict['includeOnDemand'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod @@ -116,13 +155,16 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "affectedLocationsCount": obj.get("affectedLocationsCount"), "alertChannelIds": obj.get("alertChannelIds"), "created": obj.get("created"), "customPayloadFields": [CustomPayloadField.from_dict(_item) for _item in obj["customPayloadFields"]] if obj.get("customPayloadFields") is not None else None, "description": obj.get("description"), "enabled": obj.get("enabled"), + "evaluationType": obj.get("evaluationType"), "gracePeriod": obj.get("gracePeriod"), "id": obj.get("id"), + "includeOnDemand": obj.get("includeOnDemand"), "initialCreated": obj.get("initialCreated"), "name": obj.get("name"), "readOnly": obj.get("readOnly"), diff --git a/instana_client/models/synthetic_alert_config_with_rbac_tag.py b/instana_client/models/synthetic_alert_config_with_rbac_tag.py index b0362626..31a88276 100644 --- a/instana_client/models/synthetic_alert_config_with_rbac_tag.py +++ b/instana_client/models/synthetic_alert_config_with_rbac_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,7 +18,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +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 instana_client.models.api_tag import ApiTag @@ -28,18 +28,22 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticAlertConfigWithRBACTag(BaseModel): """ SyntheticAlertConfigWithRBACTag """ # noqa: E501 + affected_locations_count: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Number of locations encounters failure", alias="affectedLocationsCount") alert_channel_ids: Annotated[List[Annotated[str, Field(min_length=1, strict=True)]], Field(min_length=0, max_length=1024)] = Field(description="List of IDs of alert channels defined in Instana. Can be left empty.", alias="alertChannelIds") created: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Unix timestamp representing the creation time of this revision.") custom_payload_fields: Annotated[List[CustomPayloadField], Field(min_length=0, max_length=20)] = Field(description="Custom payload fields to send additional information in the alert notifications. Can be left empty.", alias="customPayloadFields") description: Annotated[str, Field(min_length=0, strict=True, max_length=65536)] = Field(description="Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.") enabled: Optional[StrictBool] = Field(default=None, description="Flag to indicate whether or not the configuration is enabled.") + evaluation_type: Optional[StrictStr] = Field(default=None, description="Determines whether synthetic test results are evaluated per location independently or grouped across all locations.", alias="evaluationType") grace_period: Optional[StrictInt] = Field(default=None, description="The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.", alias="gracePeriod") id: Annotated[str, Field(min_length=0, strict=True, max_length=64)] = Field(description="ID of this Synthetic Alert Config. ") + include_on_demand: Optional[StrictBool] = Field(default=None, description="Controls whether on-demand synthetic test runs should be included in alert evaluation. When true, both scheduled and on-demand test runs are evaluated. When false, only scheduled test runs are evaluated. Default behavior when not provided: (1) If tagFilterExpression contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → defaults to false; (3) If no RUN_TYPE filter exists → defaults to false.", alias="includeOnDemand") initial_created: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, description="Unix timestamp representing the time of the initial revision.", alias="initialCreated") name: Annotated[str, Field(min_length=0, strict=True, max_length=256)] = Field(description="Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.") rbac_tags: Optional[List[ApiTag]] = Field(default=None, description="RBAC tags associated with the synthetic test", alias="rbacTags") @@ -47,12 +51,23 @@ class SyntheticAlertConfigWithRBACTag(BaseModel): rule: SyntheticAlertRule severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") synthetic_test_ids: List[StrictStr] = Field(description="IDs of the synthetic tests that this Smart Alert configuration is applied to.", alias="syntheticTestIds") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") time_threshold: SyntheticTimeThreshold = Field(alias="timeThreshold") - __properties: ClassVar[List[str]] = ["alertChannelIds", "created", "customPayloadFields", "description", "enabled", "gracePeriod", "id", "initialCreated", "name", "rbacTags", "readOnly", "rule", "severity", "syntheticTestIds", "tagFilterExpression", "timeThreshold"] + __properties: ClassVar[List[str]] = ["affectedLocationsCount", "alertChannelIds", "created", "customPayloadFields", "description", "enabled", "evaluationType", "gracePeriod", "id", "includeOnDemand", "initialCreated", "name", "rbacTags", "readOnly", "rule", "severity", "syntheticTestIds", "tagFilterExpression", "timeThreshold"] + + @field_validator('evaluation_type') + def evaluation_type_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['PER_LOCATION', 'PER_SYNTHETIC_TEST']): + raise ValueError("must be one of enum values ('PER_LOCATION', 'PER_SYNTHETIC_TEST')") + return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -64,8 +79,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -113,6 +127,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if affected_locations_count (nullable) is None + # and model_fields_set contains the field + if self.affected_locations_count is None and "affected_locations_count" in self.model_fields_set: + _dict['affectedLocationsCount'] = None + + # set to None if evaluation_type (nullable) is None + # and model_fields_set contains the field + if self.evaluation_type is None and "evaluation_type" in self.model_fields_set: + _dict['evaluationType'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if include_on_demand (nullable) is None + # and model_fields_set contains the field + if self.include_on_demand is None and "include_on_demand" in self.model_fields_set: + _dict['includeOnDemand'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod @@ -125,13 +164,16 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "affectedLocationsCount": obj.get("affectedLocationsCount"), "alertChannelIds": obj.get("alertChannelIds"), "created": obj.get("created"), "customPayloadFields": [CustomPayloadField.from_dict(_item) for _item in obj["customPayloadFields"]] if obj.get("customPayloadFields") is not None else None, "description": obj.get("description"), "enabled": obj.get("enabled"), + "evaluationType": obj.get("evaluationType"), "gracePeriod": obj.get("gracePeriod"), "id": obj.get("id"), + "includeOnDemand": obj.get("includeOnDemand"), "initialCreated": obj.get("initialCreated"), "name": obj.get("name"), "rbacTags": [ApiTag.from_dict(_item) for _item in obj["rbacTags"]] if obj.get("rbacTags") is not None else None, diff --git a/instana_client/models/synthetic_alert_rule.py b/instana_client/models/synthetic_alert_rule.py index 79bb5af1..e46f9a39 100644 --- a/instana_client/models/synthetic_alert_rule.py +++ b/instana_client/models/synthetic_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -49,7 +50,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -78,8 +80,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[FailureSyntheticAlertRule]]: diff --git a/instana_client/models/synthetic_bulk_response.py b/instana_client/models/synthetic_bulk_response.py index 01d6ca65..dc3b9ec1 100644 --- a/instana_client/models/synthetic_bulk_response.py +++ b/instana_client/models/synthetic_bulk_response.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticBulkResponse(BaseModel): """ @@ -33,7 +34,8 @@ class SyntheticBulkResponse(BaseModel): __properties: ClassVar[List[str]] = ["errorMessage", "id", "status"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_call_config.py b/instana_client/models/synthetic_call_config.py index a16e3706..802f2a80 100644 --- a/instana_client/models/synthetic_call_config.py +++ b/instana_client/models/synthetic_call_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_call_rule import SyntheticCallRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticCallConfig(BaseModel): """ @@ -34,7 +35,8 @@ class SyntheticCallConfig(BaseModel): __properties: ClassVar[List[str]] = ["customRules", "defaultRulesEnabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_call_rule.py b/instana_client/models/synthetic_call_rule.py index 7a24b28b..19419b4e 100644 --- a/instana_client/models/synthetic_call_rule.py +++ b/instana_client/models/synthetic_call_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.match_expression_dto import MatchExpressionDTO from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticCallRule(BaseModel): """ @@ -36,7 +37,8 @@ class SyntheticCallRule(BaseModel): __properties: ClassVar[List[str]] = ["description", "enabled", "matchSpecification", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_call_with_defaults_config.py b/instana_client/models/synthetic_call_with_defaults_config.py index 7bb18624..402b4ed3 100644 --- a/instana_client/models/synthetic_call_with_defaults_config.py +++ b/instana_client/models/synthetic_call_with_defaults_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_call_rule import SyntheticCallRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticCallWithDefaultsConfig(BaseModel): """ @@ -35,7 +36,8 @@ class SyntheticCallWithDefaultsConfig(BaseModel): __properties: ClassVar[List[str]] = ["customRules", "defaultRules", "defaultRulesEnabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_configuration.py b/instana_client/models/synthetic_configuration.py index d91cc104..4b7306b4 100644 --- a/instana_client/models/synthetic_configuration.py +++ b/instana_client/models/synthetic_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticConfiguration(BaseModel): """ @@ -34,7 +35,8 @@ class SyntheticConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["retries", "retryInterval", "timeout"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_configuration_update.py b/instana_client/models/synthetic_configuration_update.py index 4c74c900..13595f94 100644 --- a/instana_client/models/synthetic_configuration_update.py +++ b/instana_client/models/synthetic_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticConfigurationUpdate(BaseModel): """ @@ -35,7 +36,8 @@ class SyntheticConfigurationUpdate(BaseModel): __properties: ClassVar[List[str]] = ["markSyntheticCall", "retries", "retryInterval", "timeout"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_credential.py b/instana_client/models/synthetic_credential.py index 643a639d..632e0a33 100644 --- a/instana_client/models/synthetic_credential.py +++ b/instana_client/models/synthetic_credential.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.api_tag import ApiTag from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticCredential(BaseModel): """ @@ -45,7 +46,8 @@ class SyntheticCredential(BaseModel): __properties: ClassVar[List[str]] = ["applicationLabels", "applications", "createdAt", "createdBy", "credentialName", "credentialValue", "mobileAppLabels", "mobileApps", "modifiedAt", "modifiedBy", "rbacTags", "websiteLabels", "websites"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_datacenter.py b/instana_client/models/synthetic_datacenter.py index 591131e9..60f58f7d 100644 --- a/instana_client/models/synthetic_datacenter.py +++ b/instana_client/models/synthetic_datacenter.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_datacenter_configuration import SyntheticDatacenterConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticDatacenter(BaseModel): """ @@ -45,7 +46,8 @@ class SyntheticDatacenter(BaseModel): __properties: ClassVar[List[str]] = ["cityName", "code", "configuration", "countryName", "datacenterId", "expectedActiveAt", "label", "latitude", "locationLabel", "longitude", "modifiedAt", "provider", "status"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_datacenter_configuration.py b/instana_client/models/synthetic_datacenter_configuration.py index d12e1ad0..d19c1ad7 100644 --- a/instana_client/models/synthetic_datacenter_configuration.py +++ b/instana_client/models/synthetic_datacenter_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticDatacenterConfiguration(BaseModel): """ @@ -31,7 +32,8 @@ class SyntheticDatacenterConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["ipAddresses"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_geo_point.py b/instana_client/models/synthetic_geo_point.py index 5372f77c..2cd7e1fe 100644 --- a/instana_client/models/synthetic_geo_point.py +++ b/instana_client/models/synthetic_geo_point.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticGeoPoint(BaseModel): """ @@ -34,7 +35,8 @@ class SyntheticGeoPoint(BaseModel): __properties: ClassVar[List[str]] = ["cityName", "countryName", "latitude", "longitude"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_location.py b/instana_client/models/synthetic_location.py index b52b646c..45d251d1 100644 --- a/instana_client/models/synthetic_location.py +++ b/instana_client/models/synthetic_location.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.synthetic_playback_capabilities import SyntheticPlaybackCapabilities from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticLocation(BaseModel): """ @@ -49,7 +50,8 @@ class SyntheticLocation(BaseModel): __properties: ClassVar[List[str]] = ["configuration", "createdAt", "customProperties", "description", "displayLabel", "geoPoint", "id", "label", "locationType", "modifiedAt", "observedAt", "playbackCapabilities", "popVersion", "status", "totalTests"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -61,8 +63,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_location_configuration.py b/instana_client/models/synthetic_location_configuration.py index 460c2b93..38a444bf 100644 --- a/instana_client/models/synthetic_location_configuration.py +++ b/instana_client/models/synthetic_location_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticLocationConfiguration(BaseModel): """ @@ -43,7 +44,8 @@ def tenant_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_metric_configuration.py b/instana_client/models/synthetic_metric_configuration.py index 44471e4a..a8be1ce1 100644 --- a/instana_client/models/synthetic_metric_configuration.py +++ b/instana_client/models/synthetic_metric_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticMetricConfiguration(BaseModel): """ @@ -41,7 +42,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if granularity (nullable) is None + # and model_fields_set contains the field + if self.granularity is None and "granularity" in self.model_fields_set: + _dict['granularity'] = None + return _dict @classmethod diff --git a/instana_client/models/synthetic_metric_tag_group.py b/instana_client/models/synthetic_metric_tag_group.py index 2a89a669..1b3e115a 100644 --- a/instana_client/models/synthetic_metric_tag_group.py +++ b/instana_client/models/synthetic_metric_tag_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticMetricTagGroup(BaseModel): """ @@ -51,7 +52,8 @@ def groupby_tag_entity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +65,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -89,6 +90,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if groupby_tag_second_level_key (nullable) is None + # and model_fields_set contains the field + if self.groupby_tag_second_level_key is None and "groupby_tag_second_level_key" in self.model_fields_set: + _dict['groupbyTagSecondLevelKey'] = None + return _dict @classmethod diff --git a/instana_client/models/synthetic_playback_capabilities.py b/instana_client/models/synthetic_playback_capabilities.py index 32dd99f7..69eef2b0 100644 --- a/instana_client/models/synthetic_playback_capabilities.py +++ b/instana_client/models/synthetic_playback_capabilities.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticPlaybackCapabilities(BaseModel): """ @@ -29,8 +30,9 @@ class SyntheticPlaybackCapabilities(BaseModel): """ # noqa: E501 browser_type: List[StrictStr] = Field(alias="browserType") execution_type: Optional[List[StrictStr]] = Field(default=None, alias="executionType") + extensions: Optional[List[StrictStr]] = None synthetic_type: List[StrictStr] = Field(alias="syntheticType") - __properties: ClassVar[List[str]] = ["browserType", "executionType", "syntheticType"] + __properties: ClassVar[List[str]] = ["browserType", "executionType", "extensions", "syntheticType"] @field_validator('browser_type') def browser_type_validate_enum(cls, value): @@ -51,8 +53,20 @@ def execution_type_validate_enum(cls, value): raise ValueError("each list item must be one of ('CI/CD')") return value + @field_validator('extensions') + def extensions_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + for i in value: + if i not in set(['GitHub', 'PW']): + raise ValueError("each list item must be one of ('GitHub', 'PW')") + return value + model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -64,8 +78,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -104,6 +117,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "browserType": obj.get("browserType"), "executionType": obj.get("executionType"), + "extensions": obj.get("extensions"), "syntheticType": obj.get("syntheticType") }) return _obj diff --git a/instana_client/models/synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value.py b/instana_client/models/synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value.py index 3464de47..9a40199f 100644 --- a/instana_client/models/synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value.py +++ b/instana_client/models/synthetic_resource_update_list_dns_filter_target_value_list_dns_filter_target_value.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.dns_filter_target_value import DNSFilterTargetValue from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue(BaseModel): """ @@ -33,7 +34,8 @@ class SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue(Ba __properties: ClassVar[List[str]] = ["add", "remove"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_resource_update_list_icmp_validation_list_icmp_validation.py b/instana_client/models/synthetic_resource_update_list_icmp_validation_list_icmp_validation.py index 330593ae..6c7cf43b 100644 --- a/instana_client/models/synthetic_resource_update_list_icmp_validation_list_icmp_validation.py +++ b/instana_client/models/synthetic_resource_update_list_icmp_validation_list_icmp_validation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.icmp_validation import ICMPValidation from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticResourceUpdateListICMPValidationListICMPValidation(BaseModel): """ @@ -33,7 +34,8 @@ class SyntheticResourceUpdateListICMPValidationListICMPValidation(BaseModel): __properties: ClassVar[List[str]] = ["add", "remove"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation.py b/instana_client/models/synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation.py index 59955c45..53f995ef 100644 --- a/instana_client/models/synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation.py +++ b/instana_client/models/synthetic_resource_update_list_ssl_certificate_validation_list_ssl_certificate_validation.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.ssl_certificate_validation import SSLCertificateValidation from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation(BaseModel): """ @@ -33,7 +34,8 @@ class SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValid __properties: ClassVar[List[str]] = ["add", "remove"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_resource_update_list_string_list_string.py b/instana_client/models/synthetic_resource_update_list_string_list_string.py index 5db72723..a54106b2 100644 --- a/instana_client/models/synthetic_resource_update_list_string_list_string.py +++ b/instana_client/models/synthetic_resource_update_list_string_list_string.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticResourceUpdateListStringListString(BaseModel): """ @@ -32,7 +33,8 @@ class SyntheticResourceUpdateListStringListString(BaseModel): __properties: ClassVar[List[str]] = ["add", "remove"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_resource_update_map_string_string_list_string.py b/instana_client/models/synthetic_resource_update_map_string_string_list_string.py index 0b19a946..54d590b5 100644 --- a/instana_client/models/synthetic_resource_update_map_string_string_list_string.py +++ b/instana_client/models/synthetic_resource_update_map_string_string_list_string.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticResourceUpdateMapStringStringListString(BaseModel): """ @@ -32,7 +33,8 @@ class SyntheticResourceUpdateMapStringStringListString(BaseModel): __properties: ClassVar[List[str]] = ["add", "remove"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_slo_entity.py b/instana_client/models/synthetic_slo_entity.py index d4f99453..cf0c1224 100644 --- a/instana_client/models/synthetic_slo_entity.py +++ b/instana_client/models/synthetic_slo_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticSloEntity(SloEntity): """ @@ -34,7 +35,8 @@ class SyntheticSloEntity(SloEntity): __properties: ClassVar[List[str]] = ["tagFilterExpression", "type", "includeUnscheduledTestResults", "syntheticTestIds"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -75,6 +76,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if synthetic_test_ids (nullable) is None + # and model_fields_set contains the field + if self.synthetic_test_ids is None and "synthetic_test_ids" in self.model_fields_set: + _dict['syntheticTestIds'] = None + return _dict @classmethod diff --git a/instana_client/models/synthetic_test.py b/instana_client/models/synthetic_test.py index 636dd521..0c2a7e1c 100644 --- a/instana_client/models/synthetic_test.py +++ b/instana_client/models/synthetic_test.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTest(BaseModel): """ @@ -68,7 +69,8 @@ def playback_mode_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -80,8 +82,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_cicd.py b/instana_client/models/synthetic_test_cicd.py index 3828b293..a3a91bbf 100644 --- a/instana_client/models/synthetic_test_cicd.py +++ b/instana_client/models/synthetic_test_cicd.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_test_cicd_customization import SyntheticTestCICDCustomization from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTestCICD(BaseModel): """ @@ -34,7 +35,8 @@ class SyntheticTestCICD(BaseModel): __properties: ClassVar[List[str]] = ["customization", "runType", "testId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_cicd_customization.py b/instana_client/models/synthetic_test_cicd_customization.py index e759bcfa..37a980d3 100644 --- a/instana_client/models/synthetic_test_cicd_customization.py +++ b/instana_client/models/synthetic_test_cicd_customization.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_configuration import SyntheticConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTestCICDCustomization(BaseModel): """ @@ -34,7 +35,8 @@ class SyntheticTestCICDCustomization(BaseModel): __properties: ClassVar[List[str]] = ["configuration", "customProperties", "locations"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_cicd_item.py b/instana_client/models/synthetic_test_cicd_item.py index 497a445f..c268f350 100644 --- a/instana_client/models/synthetic_test_cicd_item.py +++ b/instana_client/models/synthetic_test_cicd_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_test_cicd_customization import SyntheticTestCICDCustomization from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTestCICDItem(BaseModel): """ @@ -43,7 +44,8 @@ class SyntheticTestCICDItem(BaseModel): __properties: ClassVar[List[str]] = ["applications", "completed", "customization", "locationId", "locationLabel", "mobileApps", "runType", "testId", "testLabel", "testResultId", "testType", "websites"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_cicd_response.py b/instana_client/models/synthetic_test_cicd_response.py index 1566f1f9..7e78e85c 100644 --- a/instana_client/models/synthetic_test_cicd_response.py +++ b/instana_client/models/synthetic_test_cicd_response.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTestCICDResponse(BaseModel): """ @@ -33,7 +34,8 @@ class SyntheticTestCICDResponse(BaseModel): __properties: ClassVar[List[str]] = ["locationId", "testId", "testResultId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_deep_update.py b/instana_client/models/synthetic_test_deep_update.py index 11652f8a..e74ddea4 100644 --- a/instana_client/models/synthetic_test_deep_update.py +++ b/instana_client/models/synthetic_test_deep_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTestDeepUpdate(SyntheticTestUpdate): """ @@ -35,7 +36,8 @@ class SyntheticTestDeepUpdate(SyntheticTestUpdate): __properties: ClassVar[List[str]] = ["active", "applications", "customProperties", "ids", "lastModifiedAt", "locations", "mobileApps", "modifiedBy", "rbacTags", "shallowUpdate", "syntheticUpdateType", "testFrequency", "websites", "configuration"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_shallow_update.py b/instana_client/models/synthetic_test_shallow_update.py index 9c15df8d..a0438358 100644 --- a/instana_client/models/synthetic_test_shallow_update.py +++ b/instana_client/models/synthetic_test_shallow_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.synthetic_test_update import SyntheticTestUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticTestShallowUpdate(SyntheticTestUpdate): """ @@ -35,7 +36,8 @@ class SyntheticTestShallowUpdate(SyntheticTestUpdate): __properties: ClassVar[List[str]] = ["active", "applications", "customProperties", "ids", "lastModifiedAt", "locations", "mobileApps", "modifiedBy", "rbacTags", "shallowUpdate", "syntheticUpdateType", "testFrequency", "websites", "configuration"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/synthetic_test_update.py b/instana_client/models/synthetic_test_update.py index a20ef862..8b9aa482 100644 --- a/instana_client/models/synthetic_test_update.py +++ b/instana_client/models/synthetic_test_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.synthetic_resource_update_map_string_string_list_string import SyntheticResourceUpdateMapStringStringListString from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -59,7 +60,8 @@ def synthetic_update_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -88,8 +90,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[SyntheticTestDeepUpdate, SyntheticTestShallowUpdate]]: diff --git a/instana_client/models/synthetic_time_threshold.py b/instana_client/models/synthetic_time_threshold.py index 272d6523..2b9536a6 100644 --- a/instana_client/models/synthetic_time_threshold.py +++ b/instana_client/models/synthetic_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -38,7 +39,8 @@ class SyntheticTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["type", "violationsCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[ViolationsInSequenceSyntheticTimeThreshold]]: diff --git a/instana_client/models/synthetic_type_configuration.py b/instana_client/models/synthetic_type_configuration.py index d7f78425..16548ff6 100644 --- a/instana_client/models/synthetic_type_configuration.py +++ b/instana_client/models/synthetic_type_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,7 +40,7 @@ class SyntheticTypeConfiguration(BaseModel): """ - Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript. + Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, DNS, ICMP, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript. """ # noqa: E501 mark_synthetic_call: StrictBool = Field(alias="markSyntheticCall") retries: Optional[Annotated[int, Field(le=2, strict=True, ge=0)]] = None @@ -56,7 +57,8 @@ def synthetic_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -85,8 +87,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[BrowserScriptConfiguration, DNSConfiguration, HttpActionConfiguration, HttpScriptConfiguration, ICMPConfiguration, EmptyConfiguration, SSLCertificateConfiguration, WebpageActionConfiguration, WebpageScriptConfiguration]]: diff --git a/instana_client/models/synthetic_type_configuration_update.py b/instana_client/models/synthetic_type_configuration_update.py index 59c9e0f3..c6224a03 100644 --- a/instana_client/models/synthetic_type_configuration_update.py +++ b/instana_client/models/synthetic_type_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -69,7 +70,8 @@ def synthetic_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -98,8 +100,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[BrowserScriptConfigurationUpdate, DNSConfigurationUpdate, HttpActionConfigurationUpdate, HttpScriptConfigurationUpdate, ICMPConfigurationUpdate, SSLCertificateConfigurationUpdate, WebpageActionConfigurationUpdate, WebpageScriptConfigurationUpdate]]: diff --git a/instana_client/models/synthetics_event_result.py b/instana_client/models/synthetics_event_result.py index b7bccd0c..b187f4b3 100644 --- a/instana_client/models/synthetics_event_result.py +++ b/instana_client/models/synthetics_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SyntheticsEventResult(EventResult): """ @@ -30,10 +31,11 @@ class SyntheticsEventResult(EventResult): """ # noqa: E501 location_ids: Optional[List[StrictStr]] = Field(default=None, description="IDs of the locations.", alias="locationIds") synthetic_test_id: Optional[StrictStr] = Field(default=None, description="ID of the synthetic test.", alias="syntheticTestId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "locationIds", "syntheticTestId"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "locationIds", "syntheticTestId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +84,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/system_rule.py b/instana_client/models/system_rule.py index a6119cad..8e21005d 100644 --- a/instana_client/models/system_rule.py +++ b/instana_client/models/system_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.abstract_rule import AbstractRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SystemRule(AbstractRule): """ @@ -32,7 +33,8 @@ class SystemRule(AbstractRule): __properties: ClassVar[List[str]] = ["ruleType", "severity", "systemRuleId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/system_rule_label.py b/instana_client/models/system_rule_label.py index 9d073f18..f88f69a7 100644 --- a/instana_client/models/system_rule_label.py +++ b/instana_client/models/system_rule_label.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class SystemRuleLabel(BaseModel): """ @@ -33,7 +34,8 @@ class SystemRuleLabel(BaseModel): __properties: ClassVar[List[str]] = ["id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/tag.py b/instana_client/models/tag.py index 6419e83e..7f5d84ab 100644 --- a/instana_client/models/tag.py +++ b/instana_client/models/tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Tag(BaseModel): """ @@ -58,7 +59,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +97,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if id_tag (nullable) is None + # and model_fields_set contains the field + if self.id_tag is None and "id_tag" in self.model_fields_set: + _dict['idTag'] = None + + # set to None if label (nullable) is None + # and model_fields_set contains the field + if self.label is None and "label" in self.model_fields_set: + _dict['label'] = None + return _dict @classmethod diff --git a/instana_client/models/tag_catalog.py b/instana_client/models/tag_catalog.py index 37e54dc7..be951069 100644 --- a/instana_client/models/tag_catalog.py +++ b/instana_client/models/tag_catalog.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.tag_tree_level import TagTreeLevel from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TagCatalog(BaseModel): """ @@ -37,7 +38,8 @@ class TagCatalog(BaseModel): __properties: ClassVar[List[str]] = ["dynamicTags", "tagTree", "tags"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -49,8 +51,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/tag_filter_expression.py b/instana_client/models/tag_filter_expression.py index 8f7f59df..398efa77 100644 --- a/instana_client/models/tag_filter_expression.py +++ b/instana_client/models/tag_filter_expression.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -19,16 +19,17 @@ import json from pydantic import ConfigDict, Field, StrictStr, field_validator -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TagFilterExpression(TagFilterExpressionElement): """ TagFilterExpression """ # noqa: E501 - elements: List[TagFilterExpressionElement] + elements: List[Optional[TagFilterExpressionElement]] logical_operator: StrictStr = Field(description="Set AND / OR", alias="logicalOperator") __properties: ClassVar[List[str]] = ["type", "elements", "logicalOperator"] @@ -40,7 +41,8 @@ def logical_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/tag_filter_expression_element.py b/instana_client/models/tag_filter_expression_element.py index a1b3eac6..8e4cb195 100644 --- a/instana_client/models/tag_filter_expression_element.py +++ b/instana_client/models/tag_filter_expression_element.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -37,7 +38,8 @@ class TagFilterExpressionElement(BaseModel): __properties: ClassVar[List[str]] = ["type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -66,8 +68,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[TagFilterExpression, TagFilter]]: diff --git a/instana_client/models/tag_matcher_dto.py b/instana_client/models/tag_matcher_dto.py index d9561b94..56ec6d16 100644 --- a/instana_client/models/tag_matcher_dto.py +++ b/instana_client/models/tag_matcher_dto.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,12 +24,13 @@ from instana_client.models.match_expression_dto import MatchExpressionDTO from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TagMatcherDTO(MatchExpressionDTO): """ TagMatcherDTO """ # noqa: E501 - entity: StrictStr + entity: Optional[StrictStr] key: Annotated[str, Field(min_length=1, strict=True)] operator: StrictStr value: Optional[StrictStr] = None @@ -38,6 +39,9 @@ class TagMatcherDTO(MatchExpressionDTO): @field_validator('entity') def entity_validate_enum(cls, value): """Validates the enum""" + if value is None: + return value + if value not in set(['NOT_APPLICABLE', 'DESTINATION', 'SOURCE']): raise ValueError("must be one of enum values ('NOT_APPLICABLE', 'DESTINATION', 'SOURCE')") return value @@ -50,7 +54,8 @@ def operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -62,8 +67,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -88,6 +92,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if entity (nullable) is None + # and model_fields_set contains the field + if self.entity is None and "entity" in self.model_fields_set: + _dict['entity'] = None + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + return _dict @classmethod diff --git a/instana_client/models/tag_tree_level.py b/instana_client/models/tag_tree_level.py index b34854ab..e0540c82 100644 --- a/instana_client/models/tag_tree_level.py +++ b/instana_client/models/tag_tree_level.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_tree_node import TagTreeNode from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TagTreeLevel(BaseModel): """ @@ -39,7 +40,8 @@ class TagTreeLevel(BaseModel): __properties: ClassVar[List[str]] = ["children", "description", "icon", "label", "queryable", "scoreBoost", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,21 @@ def to_dict(self) -> Dict[str, Any]: if _item_children: _items.append(_item_children.to_dict()) _dict['children'] = _items + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if icon (nullable) is None + # and model_fields_set contains the field + if self.icon is None and "icon" in self.model_fields_set: + _dict['icon'] = None + + # set to None if score_boost (nullable) is None + # and model_fields_set contains the field + if self.score_boost is None and "score_boost" in self.model_fields_set: + _dict['scoreBoost'] = None + return _dict @classmethod diff --git a/instana_client/models/tag_tree_node.py b/instana_client/models/tag_tree_node.py index 3ddadd04..7aaae36f 100644 --- a/instana_client/models/tag_tree_node.py +++ b/instana_client/models/tag_tree_node.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,7 +40,8 @@ class TagTreeNode(BaseModel): __properties: ClassVar[List[str]] = ["icon", "label", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -68,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[TagTreeLevel, TagTreeTag]]: diff --git a/instana_client/models/tag_tree_tag.py b/instana_client/models/tag_tree_tag.py index edea2fb6..3f0dd021 100644 --- a/instana_client/models/tag_tree_tag.py +++ b/instana_client/models/tag_tree_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_tree_node import TagTreeNode from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TagTreeTag(TagTreeNode): """ @@ -39,7 +40,8 @@ class TagTreeTag(TagTreeNode): __properties: ClassVar[List[str]] = ["icon", "label", "type", "description", "hidden", "queryable", "scoreBoost", "tagName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -77,6 +78,31 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if icon (nullable) is None + # and model_fields_set contains the field + if self.icon is None and "icon" in self.model_fields_set: + _dict['icon'] = None + + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if hidden (nullable) is None + # and model_fields_set contains the field + if self.hidden is None and "hidden" in self.model_fields_set: + _dict['hidden'] = None + + # set to None if queryable (nullable) is None + # and model_fields_set contains the field + if self.queryable is None and "queryable" in self.model_fields_set: + _dict['queryable'] = None + + # set to None if score_boost (nullable) is None + # and model_fields_set contains the field + if self.score_boost is None and "score_boost" in self.model_fields_set: + _dict['scoreBoost'] = None + return _dict @classmethod diff --git a/instana_client/models/test_common_properties.py b/instana_client/models/test_common_properties.py index b87bac23..337ebe8b 100644 --- a/instana_client/models/test_common_properties.py +++ b/instana_client/models/test_common_properties.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.location_status import LocationStatus from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestCommonProperties(BaseModel): """ @@ -55,7 +56,8 @@ class TestCommonProperties(BaseModel): __properties: ClassVar[List[str]] = ["active", "applicationId", "applicationIds", "applicationLabel", "applicationLabels", "createdAt", "frequency", "getWebsiteLabels", "id", "label", "locationDisplayLabels", "locationIds", "locationLabels", "locationStatusList", "mobileApplicationIds", "mobileApplicationLabels", "modifiedAt", "rbacTags", "serviceId", "type", "websiteIds", "websiteLabels"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -107,6 +108,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_rbac_tags: _items.append(_item_rbac_tags.to_dict()) _dict['rbacTags'] = _items + # set to None if modified_at (nullable) is None + # and model_fields_set contains the field + if self.modified_at is None and "modified_at" in self.model_fields_set: + _dict['modifiedAt'] = None + return _dict @classmethod diff --git a/instana_client/models/test_connection_response.py b/instana_client/models/test_connection_response.py index a39034cd..6de976a5 100644 --- a/instana_client/models/test_connection_response.py +++ b/instana_client/models/test_connection_response.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,18 +22,20 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestConnectionResponse(BaseModel): """ Response from a test connection request """ # noqa: E501 - connected: StrictBool = Field(description="Indicates whether the connection to the remote service was established successfully") - message: StrictStr = Field(description="A human-readable message describing the outcome of the connection test") - status_code: StrictInt = Field(description="The HTTP status code returned by the remote service during the connection test", alias="statusCode") + connected: StrictBool = Field(description="Indicates whether the connection to the remote service was established successfully", json_schema_extra={"examples": [True]}) + message: StrictStr = Field(description="A human-readable message describing the outcome of the connection test", json_schema_extra={"examples": ["Connection successful"]}) + status_code: StrictInt = Field(description="The HTTP status code returned by the remote service during the connection test", alias="statusCode", json_schema_extra={"examples": [200]}) __properties: ClassVar[List[str]] = ["connected", "message", "statusCode"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_last_error.py b/instana_client/models/test_last_error.py index 7426cc8d..0f284045 100644 --- a/instana_client/models/test_last_error.py +++ b/instana_client/models/test_last_error.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestLastError(BaseModel): """ @@ -32,7 +33,8 @@ class TestLastError(BaseModel): __properties: ClassVar[List[str]] = ["errors", "startTime"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result.py b/instana_client/models/test_result.py index f339a10e..4bb38b85 100644 --- a/instana_client/models/test_result.py +++ b/instana_client/models/test_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.test_result_item import TestResultItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResult(BaseModel): """ @@ -33,7 +34,8 @@ class TestResult(BaseModel): __properties: ClassVar[List[str]] = ["testResult", "testResultItems"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result_common_properties.py b/instana_client/models/test_result_common_properties.py index 4e59619f..cf39799e 100644 --- a/instana_client/models/test_result_common_properties.py +++ b/instana_client/models/test_result_common_properties.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,13 +18,14 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from instana_client.models.test_common_properties import TestCommonProperties from instana_client.models.test_last_error import TestLastError from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultCommonProperties(BaseModel): """ @@ -37,6 +38,11 @@ class TestResultCommonProperties(BaseModel): dns_server_name: Optional[StrictStr] = Field(default=None, alias="dnsServerName") dns_transport: Optional[StrictStr] = Field(default=None, alias="dnsTransport") errors: Optional[List[StrictStr]] = None + icmp_packet_count: Optional[StrictInt] = Field(default=None, alias="icmpPacketCount") + icmp_packet_interval: Optional[StrictStr] = Field(default=None, alias="icmpPacketInterval") + icmp_packet_size: Optional[StrictInt] = Field(default=None, alias="icmpPacketSize") + icmp_packet_timeout: Optional[StrictStr] = Field(default=None, alias="icmpPacketTimeout") + icmp_target_host: Optional[StrictStr] = Field(default=None, alias="icmpTargetHost") id: Optional[StrictStr] = None ism_details: Optional[Dict[str, StrictStr]] = Field(default=None, alias="ismDetails") last_errors: Optional[TestLastError] = Field(default=None, alias="lastErrors") @@ -44,14 +50,16 @@ class TestResultCommonProperties(BaseModel): location_id: Optional[StrictStr] = Field(default=None, alias="locationId") run_type: Optional[StrictStr] = Field(default=None, alias="runType") ssl_days_remaining: Optional[StrictStr] = Field(default=None, alias="sslDaysRemaining") + ssl_hostname: Optional[StrictStr] = Field(default=None, alias="sslHostname") test_common_properties: Optional[TestCommonProperties] = Field(default=None, alias="testCommonProperties") test_id: Annotated[str, Field(min_length=1, strict=True)] = Field(alias="testId") test_last_error: Optional[TestLastError] = Field(default=None, alias="testLastError") test_name: Optional[StrictStr] = Field(default=None, alias="testName") - __properties: ClassVar[List[str]] = ["clientId", "customTags", "dnsLookup", "dnsQueryType", "dnsServerName", "dnsTransport", "errors", "id", "ismDetails", "lastErrors", "locationDisplayLabel", "locationId", "runType", "sslDaysRemaining", "testCommonProperties", "testId", "testLastError", "testName"] + __properties: ClassVar[List[str]] = ["clientId", "customTags", "dnsLookup", "dnsQueryType", "dnsServerName", "dnsTransport", "errors", "icmpPacketCount", "icmpPacketInterval", "icmpPacketSize", "icmpPacketTimeout", "icmpTargetHost", "id", "ismDetails", "lastErrors", "locationDisplayLabel", "locationId", "runType", "sslDaysRemaining", "sslHostname", "testCommonProperties", "testId", "testLastError", "testName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -63,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -98,6 +105,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of test_last_error if self.test_last_error: _dict['testLastError'] = self.test_last_error.to_dict() + # set to None if last_errors (nullable) is None + # and model_fields_set contains the field + if self.last_errors is None and "last_errors" in self.model_fields_set: + _dict['lastErrors'] = None + + # set to None if run_type (nullable) is None + # and model_fields_set contains the field + if self.run_type is None and "run_type" in self.model_fields_set: + _dict['runType'] = None + + # set to None if ssl_days_remaining (nullable) is None + # and model_fields_set contains the field + if self.ssl_days_remaining is None and "ssl_days_remaining" in self.model_fields_set: + _dict['sslDaysRemaining'] = None + + # set to None if ssl_hostname (nullable) is None + # and model_fields_set contains the field + if self.ssl_hostname is None and "ssl_hostname" in self.model_fields_set: + _dict['sslHostname'] = None + + # set to None if test_last_error (nullable) is None + # and model_fields_set contains the field + if self.test_last_error is None and "test_last_error" in self.model_fields_set: + _dict['testLastError'] = None + return _dict @classmethod @@ -117,6 +149,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "dnsServerName": obj.get("dnsServerName"), "dnsTransport": obj.get("dnsTransport"), "errors": obj.get("errors"), + "icmpPacketCount": obj.get("icmpPacketCount"), + "icmpPacketInterval": obj.get("icmpPacketInterval"), + "icmpPacketSize": obj.get("icmpPacketSize"), + "icmpPacketTimeout": obj.get("icmpPacketTimeout"), + "icmpTargetHost": obj.get("icmpTargetHost"), "id": obj.get("id"), "ismDetails": obj.get("ismDetails"), "lastErrors": TestLastError.from_dict(obj["lastErrors"]) if obj.get("lastErrors") is not None else None, @@ -124,6 +161,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "locationId": obj.get("locationId"), "runType": obj.get("runType"), "sslDaysRemaining": obj.get("sslDaysRemaining"), + "sslHostname": obj.get("sslHostname"), "testCommonProperties": TestCommonProperties.from_dict(obj["testCommonProperties"]) if obj.get("testCommonProperties") is not None else None, "testId": obj.get("testId"), "testLastError": TestLastError.from_dict(obj["testLastError"]) if obj.get("testLastError") is not None else None, diff --git a/instana_client/models/test_result_detail_data.py b/instana_client/models/test_result_detail_data.py index 86d5da8a..80711b6c 100644 --- a/instana_client/models/test_result_detail_data.py +++ b/instana_client/models/test_result_detail_data.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.test_result_subtransaction import TestResultSubtransaction from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultDetailData(BaseModel): """ @@ -40,7 +41,8 @@ class TestResultDetailData(BaseModel): __properties: ClassVar[List[str]] = ["har", "imageFiles", "logFiles", "logs", "subtransactionAvgMetrics", "subtransactions", "testId", "testResultId", "videos"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result_item.py b/instana_client/models/test_result_item.py index 4a69f99c..27793a03 100644 --- a/instana_client/models/test_result_item.py +++ b/instana_client/models/test_result_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultItem(BaseModel): """ @@ -41,7 +42,8 @@ class TestResultItem(BaseModel): __properties: ClassVar[List[str]] = ["applicationId", "applicationIds", "customTags", "locationId", "metrics", "mobileApplicationIds", "serviceId", "testId", "testName", "websiteIds"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result_list_item.py b/instana_client/models/test_result_list_item.py index 9e29c7da..265581bf 100644 --- a/instana_client/models/test_result_list_item.py +++ b/instana_client/models/test_result_list_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.test_result_common_properties import TestResultCommonProperties from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultListItem(BaseModel): """ @@ -33,7 +34,8 @@ class TestResultListItem(BaseModel): __properties: ClassVar[List[str]] = ["metrics", "testResultCommonProperties"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result_list_result.py b/instana_client/models/test_result_list_result.py index ca3e2499..84a843a3 100644 --- a/instana_client/models/test_result_list_result.py +++ b/instana_client/models/test_result_list_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.test_result_list_item import TestResultListItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultListResult(BaseModel): """ @@ -36,7 +37,8 @@ class TestResultListResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "page", "pageSize", "totalHits"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -48,8 +50,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result_metadata.py b/instana_client/models/test_result_metadata.py index 55400367..1182b9b3 100644 --- a/instana_client/models/test_result_metadata.py +++ b/instana_client/models/test_result_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultMetadata(BaseModel): """ @@ -35,7 +36,8 @@ class TestResultMetadata(BaseModel): __properties: ClassVar[List[str]] = ["metadata", "startTime", "testId", "testResultId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/test_result_subtransaction.py b/instana_client/models/test_result_subtransaction.py index 346ca30f..6bc4a265 100644 --- a/instana_client/models/test_result_subtransaction.py +++ b/instana_client/models/test_result_subtransaction.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TestResultSubtransaction(BaseModel): """ @@ -32,7 +33,8 @@ class TestResultSubtransaction(BaseModel): __properties: ClassVar[List[str]] = ["metrics", "properties"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/threshold.py b/instana_client/models/threshold.py index 3be75e9f..69642352 100644 --- a/instana_client/models/threshold.py +++ b/instana_client/models/threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -41,12 +42,13 @@ class Threshold(BaseModel): @field_validator('operator') def operator_validate_enum(cls, value): """Validates the enum""" - if value not in set(['>', '>=', '<', '<=']): - raise ValueError("must be one of enum values ('>', '>=', '<', '<=')") + if value not in set(['>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN']): + raise ValueError("must be one of enum values ('>', '>=', '<', '<=', 'OUTSIDE', 'BETWEEN')") return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -75,8 +77,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[AdaptiveBaseline, HistoricBaseline, StaticThreshold]]: diff --git a/instana_client/models/threshold_config_rule.py b/instana_client/models/threshold_config_rule.py index e5387c47..b091a01c 100644 --- a/instana_client/models/threshold_config_rule.py +++ b/instana_client/models/threshold_config_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -38,7 +39,8 @@ class ThresholdConfigRule(BaseModel): __properties: ClassVar[List[str]] = ["type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -67,8 +69,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[AdaptiveThresholdRule, StaticBaselineThresholdRule, StaticThresholdRule]]: diff --git a/instana_client/models/threshold_rule.py b/instana_client/models/threshold_rule.py index e579613c..b3218dbc 100644 --- a/instana_client/models/threshold_rule.py +++ b/instana_client/models/threshold_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.metric_pattern import MetricPattern from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ThresholdRule(AbstractRule): """ @@ -57,7 +58,8 @@ def condition_operator_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -98,6 +99,21 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of metric_pattern if self.metric_pattern: _dict['metricPattern'] = self.metric_pattern.to_dict() + # set to None if aggregation (nullable) is None + # and model_fields_set contains the field + if self.aggregation is None and "aggregation" in self.model_fields_set: + _dict['aggregation'] = None + + # set to None if metric_name (nullable) is None + # and model_fields_set contains the field + if self.metric_name is None and "metric_name" in self.model_fields_set: + _dict['metricName'] = None + + # set to None if metric_pattern (nullable) is None + # and model_fields_set contains the field + if self.metric_pattern is None and "metric_pattern" in self.model_fields_set: + _dict['metricPattern'] = None + return _dict @classmethod diff --git a/instana_client/models/throughput_application_alert_rule.py b/instana_client/models/throughput_application_alert_rule.py index dd1634f8..65d84fd6 100644 --- a/instana_client/models/throughput_application_alert_rule.py +++ b/instana_client/models/throughput_application_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.application_alert_rule import ApplicationAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ThroughputApplicationAlertRule(ApplicationAlertRule): """ @@ -31,7 +32,8 @@ class ThroughputApplicationAlertRule(ApplicationAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/throughput_mobile_app_alert_rule.py b/instana_client/models/throughput_mobile_app_alert_rule.py index 4fbe1b23..7ffbc90e 100644 --- a/instana_client/models/throughput_mobile_app_alert_rule.py +++ b/instana_client/models/throughput_mobile_app_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.mobile_app_alert_rule import MobileAppAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ThroughputMobileAppAlertRule(MobileAppAlertRule): """ @@ -31,7 +32,8 @@ class ThroughputMobileAppAlertRule(MobileAppAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/throughput_website_alert_rule.py b/instana_client/models/throughput_website_alert_rule.py index 84b87020..350ae2c7 100644 --- a/instana_client/models/throughput_website_alert_rule.py +++ b/instana_client/models/throughput_website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.website_alert_rule import WebsiteAlertRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ThroughputWebsiteAlertRule(WebsiteAlertRule): """ @@ -31,7 +32,8 @@ class ThroughputWebsiteAlertRule(WebsiteAlertRule): __properties: ClassVar[List[str]] = ["aggregation", "alertType", "metricName"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/time_config.py b/instana_client/models/time_config.py new file mode 100644 index 00000000..89c7826e --- /dev/null +++ b/instana_client/models/time_config.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class TimeConfig(BaseModel): + """ + TimeConfig + """ # noqa: E501 + auto_refresh: Optional[StrictBool] = Field(default=None, alias="autoRefresh") + focused_moment: Optional[StrictInt] = Field(default=None, alias="focusedMoment") + to: Optional[StrictInt] = None + window_size: Optional[StrictInt] = Field(default=None, alias="windowSize") + __properties: ClassVar[List[str]] = ["autoRefresh", "focusedMoment", "to", "windowSize"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TimeConfig 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, + ) + # set to None if focused_moment (nullable) is None + # and model_fields_set contains the field + if self.focused_moment is None and "focused_moment" in self.model_fields_set: + _dict['focusedMoment'] = None + + # set to None if to (nullable) is None + # and model_fields_set contains the field + if self.to is None and "to" in self.model_fields_set: + _dict['to'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TimeConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "autoRefresh": obj.get("autoRefresh"), + "focusedMoment": obj.get("focusedMoment"), + "to": obj.get("to"), + "windowSize": obj.get("windowSize") + }) + return _obj + + diff --git a/instana_client/models/time_frame.py b/instana_client/models/time_frame.py index c7d6db24..47ccd09e 100644 --- a/instana_client/models/time_frame.py +++ b/instana_client/models/time_frame.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TimeFrame(BaseModel): """ @@ -33,7 +34,8 @@ class TimeFrame(BaseModel): __properties: ClassVar[List[str]] = ["to", "windowSize"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -71,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if to (nullable) is None + # and model_fields_set contains the field + if self.to is None and "to" in self.model_fields_set: + _dict['to'] = None + return _dict @classmethod diff --git a/instana_client/models/time_window.py b/instana_client/models/time_window.py index 46207741..893af50a 100644 --- a/instana_client/models/time_window.py +++ b/instana_client/models/time_window.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -47,7 +48,8 @@ def duration_unit_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -76,8 +78,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[FixedTimeWindow, RollingTimeWindow]]: diff --git a/instana_client/models/topology.py b/instana_client/models/topology.py index a285e83b..557d58de 100644 --- a/instana_client/models/topology.py +++ b/instana_client/models/topology.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.graph_node import GraphNode from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Topology(BaseModel): """ @@ -34,7 +35,8 @@ class Topology(BaseModel): __properties: ClassVar[List[str]] = ["edges", "nodes"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/trace.py b/instana_client/models/trace.py index bca2f797..a2f77a1f 100644 --- a/instana_client/models/trace.py +++ b/instana_client/models/trace.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.service import Service from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Trace(BaseModel): """ @@ -40,7 +41,8 @@ class Trace(BaseModel): __properties: ClassVar[List[str]] = ["duration", "endpoint", "erroneous", "id", "label", "service", "startTime"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -52,8 +54,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/trace_activity_tree_node_details.py b/instana_client/models/trace_activity_tree_node_details.py index 8655935e..f63b728f 100644 --- a/instana_client/models/trace_activity_tree_node_details.py +++ b/instana_client/models/trace_activity_tree_node_details.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.span_relation import SpanRelation from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceActivityTreeNodeDetails(BaseModel): """ @@ -60,7 +61,8 @@ def raw_span_load_error_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -72,8 +74,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -118,6 +119,31 @@ def to_dict(self) -> Dict[str, Any]: if _item_spans: _items.append(_item_spans.to_dict()) _dict['spans'] = _items + # set to None if batch_self_time (nullable) is None + # and model_fields_set contains the field + if self.batch_self_time is None and "batch_self_time" in self.model_fields_set: + _dict['batchSelfTime'] = None + + # set to None if destination (nullable) is None + # and model_fields_set contains the field + if self.destination is None and "destination" in self.model_fields_set: + _dict['destination'] = None + + # set to None if min_self_time (nullable) is None + # and model_fields_set contains the field + if self.min_self_time is None and "min_self_time" in self.model_fields_set: + _dict['minSelfTime'] = None + + # set to None if network_time (nullable) is None + # and model_fields_set contains the field + if self.network_time is None and "network_time" in self.model_fields_set: + _dict['networkTime'] = None + + # set to None if source (nullable) is None + # and model_fields_set contains the field + if self.source is None and "source" in self.model_fields_set: + _dict['source'] = None + return _dict @classmethod diff --git a/instana_client/models/trace_download_result.py b/instana_client/models/trace_download_result.py index b28d65b2..e0aa9c42 100644 --- a/instana_client/models/trace_download_result.py +++ b/instana_client/models/trace_download_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.get_trace_download_result_item import GetTraceDownloadResultItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceDownloadResult(BaseModel): """ @@ -39,7 +40,8 @@ class TraceDownloadResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/trace_groups_item.py b/instana_client/models/trace_groups_item.py index 3faa5eb6..61462a1d 100644 --- a/instana_client/models/trace_groups_item.py +++ b/instana_client/models/trace_groups_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceGroupsItem(BaseModel): """ @@ -35,7 +36,8 @@ class TraceGroupsItem(BaseModel): __properties: ClassVar[List[str]] = ["cursor", "metrics", "name", "timestamp"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/trace_groups_result.py b/instana_client/models/trace_groups_result.py index b301236f..4ae181c2 100644 --- a/instana_client/models/trace_groups_result.py +++ b/instana_client/models/trace_groups_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.trace_groups_item import TraceGroupsItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceGroupsResult(BaseModel): """ @@ -39,7 +40,8 @@ class TraceGroupsResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/trace_impact_application_time_threshold.py b/instana_client/models/trace_impact_application_time_threshold.py index a079758e..12f22559 100644 --- a/instana_client/models/trace_impact_application_time_threshold.py +++ b/instana_client/models/trace_impact_application_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.application_time_threshold import ApplicationTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceImpactApplicationTimeThreshold(ApplicationTimeThreshold): """ @@ -33,7 +34,8 @@ class TraceImpactApplicationTimeThreshold(ApplicationTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type", "requests"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/trace_item.py b/instana_client/models/trace_item.py index 58189729..cdcb1940 100644 --- a/instana_client/models/trace_item.py +++ b/instana_client/models/trace_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.trace import Trace from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceItem(BaseModel): """ @@ -33,7 +34,8 @@ class TraceItem(BaseModel): __properties: ClassVar[List[str]] = ["cursor", "trace"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/trace_result.py b/instana_client/models/trace_result.py index a0dff252..d8ccf40c 100644 --- a/instana_client/models/trace_result.py +++ b/instana_client/models/trace_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.trace_item import TraceItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TraceResult(BaseModel): """ @@ -39,7 +40,8 @@ class TraceResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/trace_sampling_config.py b/instana_client/models/trace_sampling_config.py new file mode 100644 index 00000000..62436e60 --- /dev/null +++ b/instana_client/models/trace_sampling_config.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class TraceSamplingConfig(BaseModel): + """ + TraceSamplingConfig + """ # noqa: E501 + created_at: Optional[StrictInt] = Field(default=None, alias="createdAt") + enabled: StrictBool + evaluation_window_minutes: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="evaluationWindowMinutes") + retention_percentage: Optional[Union[Annotated[float, Field(le=100, strict=True, ge=0.01)], Annotated[int, Field(le=100, strict=True, ge=1)]]] = Field(default=None, alias="retentionPercentage") + sampling_frequency_hours: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="samplingFrequencyHours") + sampling_rate: Optional[Union[Annotated[float, Field(le=100, strict=True, ge=0)], Annotated[int, Field(le=100, strict=True, ge=0)]]] = Field(default=None, alias="samplingRate") + sampling_type: StrictStr = Field(alias="samplingType") + tenant_unit_id: Optional[StrictStr] = Field(default=None, alias="tenantUnitId") + updated_at: Optional[StrictInt] = Field(default=None, alias="updatedAt") + volume_strategy: StrictStr = Field(alias="volumeStrategy") + __properties: ClassVar[List[str]] = ["createdAt", "enabled", "evaluationWindowMinutes", "retentionPercentage", "samplingFrequencyHours", "samplingRate", "samplingType", "tenantUnitId", "updatedAt", "volumeStrategy"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TraceSamplingConfig 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 TraceSamplingConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdAt": obj.get("createdAt"), + "enabled": obj.get("enabled"), + "evaluationWindowMinutes": obj.get("evaluationWindowMinutes"), + "retentionPercentage": obj.get("retentionPercentage"), + "samplingFrequencyHours": obj.get("samplingFrequencyHours"), + "samplingRate": obj.get("samplingRate"), + "samplingType": obj.get("samplingType"), + "tenantUnitId": obj.get("tenantUnitId"), + "updatedAt": obj.get("updatedAt"), + "volumeStrategy": obj.get("volumeStrategy") + }) + return _obj + + diff --git a/instana_client/models/traffic_blueprint_indicator.py b/instana_client/models/traffic_blueprint_indicator.py index 66323765..abe04de0 100644 --- a/instana_client/models/traffic_blueprint_indicator.py +++ b/instana_client/models/traffic_blueprint_indicator.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -21,17 +21,20 @@ from pydantic import ConfigDict, Field, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated +from instana_client.models.entity_metric import EntityMetric from instana_client.models.service_level_indicator import ServiceLevelIndicator from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TrafficBlueprintIndicator(ServiceLevelIndicator): """ TrafficBlueprintIndicator """ # noqa: E501 - threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0.0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") + metric: Optional[EntityMetric] = None + threshold: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Threshold Value for the Blueprint") traffic_type: StrictStr = Field(alias="trafficType") - __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "trafficType"] + __properties: ClassVar[List[str]] = ["aggregation", "blueprint", "operator", "serviceLevelsMeasurement", "threshold", "type", "metric", "trafficType"] @field_validator('traffic_type') def traffic_type_validate_enum(cls, value): @@ -41,7 +44,8 @@ def traffic_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +82,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 metric + if self.metric: + _dict['metric'] = self.metric.to_dict() return _dict @classmethod @@ -97,6 +103,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "serviceLevelsMeasurement": obj.get("serviceLevelsMeasurement"), "threshold": obj.get("threshold"), "type": obj.get("type"), + "metric": EntityMetric.from_dict(obj["metric"]) if obj.get("metric") is not None else None, "trafficType": obj.get("trafficType") }) return _obj diff --git a/instana_client/models/trigger.py b/instana_client/models/trigger.py index 4c65f17e..7119c99a 100644 --- a/instana_client/models/trigger.py +++ b/instana_client/models/trigger.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.policy_scheduling import PolicyScheduling from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Trigger(BaseModel): """ @@ -43,7 +44,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/type_configuration.py b/instana_client/models/type_configuration.py index 4bba4eb8..2ac3ba91 100644 --- a/instana_client/models/type_configuration.py +++ b/instana_client/models/type_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,15 +24,17 @@ from instana_client.models.policy_runnable import PolicyRunnable from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class TypeConfiguration(BaseModel): """ List of configurations that contains the list of actions to run and the mode (automatic or manual) in which the policy is run. """ # noqa: E501 condition: Optional[Condition] = None + maintenance_window_ids: Optional[List[StrictStr]] = Field(default=None, description="Optional list of maintenance window identifiers. When set, the policy will only run outside of the specified maintenance windows.", alias="maintenanceWindowIds") name: StrictStr = Field(description="The policy type determines how a policy is run. Value must be one of the enum values. Value `manual` means the policy is run manually when an event is raised. Value `automatic` means policy is run automatically when an event is raised.") runnable: PolicyRunnable - __properties: ClassVar[List[str]] = ["condition", "name", "runnable"] + __properties: ClassVar[List[str]] = ["condition", "maintenanceWindowIds", "name", "runnable"] @field_validator('name') def name_validate_enum(cls, value): @@ -42,7 +44,8 @@ def name_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -99,6 +101,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "condition": Condition.from_dict(obj["condition"]) if obj.get("condition") is not None else None, + "maintenanceWindowIds": obj.get("maintenanceWindowIds"), "name": obj.get("name"), "runnable": PolicyRunnable.from_dict(obj["runnable"]) if obj.get("runnable") is not None else None }) diff --git a/instana_client/models/unsupported_http_path_segment_matching_rule.py b/instana_client/models/unsupported_http_path_segment_matching_rule.py index 6824162f..194ca21f 100644 --- a/instana_client/models/unsupported_http_path_segment_matching_rule.py +++ b/instana_client/models/unsupported_http_path_segment_matching_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.http_path_segment_matching_rule import HttpPathSegmentMatchingRule from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UnsupportedHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): """ @@ -32,7 +33,8 @@ class UnsupportedHttpPathSegmentMatchingRule(HttpPathSegmentMatchingRule): __properties: ClassVar[List[str]] = ["type", "unsupportedType"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/update_evaluation_request.py b/instana_client/models/update_evaluation_request.py new file mode 100644 index 00000000..0eb89d34 --- /dev/null +++ b/instana_client/models/update_evaluation_request.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateEvaluationRequest(BaseModel): + """ + UpdateEvaluationRequest + """ # noqa: E501 + description: Optional[StrictStr] = None + evaluation_id: Annotated[str, Field(min_length=1, strict=True)] + evaluation_name: Annotated[str, Field(min_length=1, strict=True)] + evaluator_ids: Annotated[List[StrictStr], Field(min_length=1)] + metadata: Optional[Dict[str, Dict[str, Any]]] = None + model_names: Optional[List[StrictStr]] = None + sampling_percentage: Optional[Union[StrictFloat, StrictInt]] = None + service_names: Optional[List[StrictStr]] = None + time_before_run_hours: Optional[StrictInt] = None + time_before_run_minutes: Optional[StrictInt] = None + trace_ids: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["description", "evaluation_id", "evaluation_name", "evaluator_ids", "metadata", "model_names", "sampling_percentage", "service_names", "time_before_run_hours", "time_before_run_minutes", "trace_ids"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateEvaluationRequest 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 UpdateEvaluationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "description": obj.get("description"), + "evaluation_id": obj.get("evaluation_id"), + "evaluation_name": obj.get("evaluation_name"), + "evaluator_ids": obj.get("evaluator_ids"), + "metadata": obj.get("metadata"), + "model_names": obj.get("model_names"), + "sampling_percentage": obj.get("sampling_percentage"), + "service_names": obj.get("service_names"), + "time_before_run_hours": obj.get("time_before_run_hours"), + "time_before_run_minutes": obj.get("time_before_run_minutes"), + "trace_ids": obj.get("trace_ids") + }) + return _obj + + diff --git a/instana_client/models/update_fleet_configuration_request.py b/instana_client/models/update_fleet_configuration_request.py new file mode 100644 index 00000000..4e224769 --- /dev/null +++ b/instana_client/models/update_fleet_configuration_request.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.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 +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateFleetConfigurationRequest(BaseModel): + """ + UpdateFleetConfigurationRequest + """ # noqa: E501 + configuration: Dict[str, Any] + name: Annotated[str, Field(min_length=1, strict=True)] + version: StrictStr + __properties: ClassVar[List[str]] = ["configuration", "name", "version"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=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""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateFleetConfigurationRequest 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 UpdateFleetConfigurationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "configuration": obj.get("configuration"), + "name": obj.get("name"), + "version": obj.get("version") + }) + return _obj + + diff --git a/instana_client/models/updated_business_perspective_config.py b/instana_client/models/updated_business_perspective_config.py index 04a998c4..06e7f240 100644 --- a/instana_client/models/updated_business_perspective_config.py +++ b/instana_client/models/updated_business_perspective_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UpdatedBusinessPerspectiveConfig(BaseModel): """ @@ -35,7 +36,8 @@ class UpdatedBusinessPerspectiveConfig(BaseModel): __properties: ClassVar[List[str]] = ["description", "name", "tagFilterExpression"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -76,6 +77,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/usage_result.py b/instana_client/models/usage_result.py index e91ed826..059d5af3 100644 --- a/instana_client/models/usage_result.py +++ b/instana_client/models/usage_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.usage_result_items import UsageResultItems from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UsageResult(BaseModel): """ @@ -33,7 +34,8 @@ class UsageResult(BaseModel): __properties: ClassVar[List[str]] = ["items", "time"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/usage_result_items.py b/instana_client/models/usage_result_items.py index 4587594c..fb998354 100644 --- a/instana_client/models/usage_result_items.py +++ b/instana_client/models/usage_result_items.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UsageResultItems(BaseModel): """ @@ -32,7 +33,8 @@ class UsageResultItems(BaseModel): __properties: ClassVar[List[str]] = ["name", "sims"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/user_basic_result.py b/instana_client/models/user_basic_result.py index 4e105757..d4fe3338 100644 --- a/instana_client/models/user_basic_result.py +++ b/instana_client/models/user_basic_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UserBasicResult(BaseModel): """ @@ -34,7 +35,8 @@ class UserBasicResult(BaseModel): __properties: ClassVar[List[str]] = ["email", "fullName", "id"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/user_impact_mobile_app_time_threshold.py b/instana_client/models/user_impact_mobile_app_time_threshold.py index a338842f..a56e696d 100644 --- a/instana_client/models/user_impact_mobile_app_time_threshold.py +++ b/instana_client/models/user_impact_mobile_app_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,13 +24,14 @@ from instana_client.models.mobile_app_time_threshold import MobileAppTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UserImpactMobileAppTimeThreshold(MobileAppTimeThreshold): """ UserImpactMobileAppTimeThreshold """ # noqa: E501 impact_measurement_method: StrictStr = Field(alias="impactMeasurementMethod") - user_percentage: Optional[Union[Annotated[float, Field(le=1.0, strict=True, gt=0.0)], Annotated[int, Field(le=1, strict=True, gt=0)]]] = Field(default=None, alias="userPercentage") + user_percentage: Optional[Union[Annotated[float, Field(le=1, strict=True, gt=0)], Annotated[int, Field(le=1, strict=True, gt=0)]]] = Field(default=None, alias="userPercentage") users: Optional[Annotated[int, Field(strict=True, ge=1)]] = None __properties: ClassVar[List[str]] = ["timeWindow", "type", "impactMeasurementMethod", "userPercentage", "users"] @@ -42,7 +43,8 @@ def impact_measurement_method_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/user_impact_website_time_threshold.py b/instana_client/models/user_impact_website_time_threshold.py index 756b5264..9bf4dcfb 100644 --- a/instana_client/models/user_impact_website_time_threshold.py +++ b/instana_client/models/user_impact_website_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,13 +24,14 @@ from instana_client.models.website_time_threshold import WebsiteTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UserImpactWebsiteTimeThreshold(WebsiteTimeThreshold): """ UserImpactWebsiteTimeThreshold """ # noqa: E501 impact_measurement_method: StrictStr = Field(alias="impactMeasurementMethod") - user_percentage: Optional[Union[Annotated[float, Field(le=1.0, strict=True, gt=0.0)], Annotated[int, Field(le=1, strict=True, gt=0)]]] = Field(default=None, alias="userPercentage") + user_percentage: Optional[Union[Annotated[float, Field(le=1, strict=True, gt=0)], Annotated[int, Field(le=1, strict=True, gt=0)]]] = Field(default=None, alias="userPercentage") users: Optional[Annotated[int, Field(strict=True, ge=1)]] = None __properties: ClassVar[List[str]] = ["timeWindow", "type", "impactMeasurementMethod", "userPercentage", "users"] @@ -42,7 +43,8 @@ def impact_measurement_method_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/user_result.py b/instana_client/models/user_result.py index 48c12580..d94df58a 100644 --- a/instana_client/models/user_result.py +++ b/instana_client/models/user_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UserResult(BaseModel): """ @@ -38,7 +39,8 @@ class UserResult(BaseModel): __properties: ClassVar[List[str]] = ["email", "fullName", "groupCount", "id", "lastLoggedIn", "teamNames", "tfaEnabled"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -76,6 +77,26 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if group_count (nullable) is None + # and model_fields_set contains the field + if self.group_count is None and "group_count" in self.model_fields_set: + _dict['groupCount'] = None + + # set to None if last_logged_in (nullable) is None + # and model_fields_set contains the field + if self.last_logged_in is None and "last_logged_in" in self.model_fields_set: + _dict['lastLoggedIn'] = None + + # set to None if team_names (nullable) is None + # and model_fields_set contains the field + if self.team_names is None and "team_names" in self.model_fields_set: + _dict['teamNames'] = None + + # set to None if tfa_enabled (nullable) is None + # and model_fields_set contains the field + if self.tfa_enabled is None and "tfa_enabled" in self.model_fields_set: + _dict['tfaEnabled'] = None + return _dict @classmethod diff --git a/instana_client/models/users_result.py b/instana_client/models/users_result.py index 86ba067e..4fc38d93 100644 --- a/instana_client/models/users_result.py +++ b/instana_client/models/users_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.user_result import UserResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class UsersResult(BaseModel): """ @@ -34,7 +35,8 @@ class UsersResult(BaseModel): __properties: ClassVar[List[str]] = ["invitations", "users"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/validated_alerting_channel_input_info.py b/instana_client/models/validated_alerting_channel_input_info.py index 9dc806f8..391b5029 100644 --- a/instana_client/models/validated_alerting_channel_input_info.py +++ b/instana_client/models/validated_alerting_channel_input_info.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ValidatedAlertingChannelInputInfo(BaseModel): """ @@ -58,7 +59,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +97,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if entity_id (nullable) is None + # and model_fields_set contains the field + if self.entity_id is None and "entity_id" in self.model_fields_set: + _dict['entityId'] = None + + # set to None if event_types (nullable) is None + # and model_fields_set contains the field + if self.event_types is None and "event_types" in self.model_fields_set: + _dict['eventTypes'] = None + + # set to None if selected_events (nullable) is None + # and model_fields_set contains the field + if self.selected_events is None and "selected_events" in self.model_fields_set: + _dict['selectedEvents'] = None + return _dict @classmethod diff --git a/instana_client/models/validated_alerting_configuration.py b/instana_client/models/validated_alerting_configuration.py index 010488e6..e3dcd86d 100644 --- a/instana_client/models/validated_alerting_configuration.py +++ b/instana_client/models/validated_alerting_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.event_filtering_configuration import EventFilteringConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ValidatedAlertingConfiguration(BaseModel): """ @@ -44,7 +45,8 @@ class ValidatedAlertingConfiguration(BaseModel): __properties: ClassVar[List[str]] = ["alertChannelNames", "alertName", "applicationNames", "customPayloadFields", "eventFilteringConfiguration", "id", "includeEntityNameInLegacyAlerts", "integrationIds", "invalid", "lastUpdated", "muteUntil"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py b/instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py index 32be9cc1..8a39cf4c 100644 --- a/instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py +++ b/instana_client/models/validated_maintenance_config_v2_with_state_and_occurrence.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -26,6 +26,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ValidatedMaintenanceConfigV2WithStateAndOccurrence(BaseModel): """ @@ -57,7 +58,8 @@ def state_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -69,8 +71,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -104,6 +105,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/validated_maintenance_config_with_status.py b/instana_client/models/validated_maintenance_config_with_status.py index c90e1354..ed7fd2bb 100644 --- a/instana_client/models/validated_maintenance_config_with_status.py +++ b/instana_client/models/validated_maintenance_config_with_status.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.maintenance_window import MaintenanceWindow from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ValidatedMaintenanceConfigWithStatus(BaseModel): """ @@ -46,7 +47,8 @@ def status_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -58,8 +60,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/victor_ops_integration.py b/instana_client/models/victor_ops_integration.py index 59c21d9a..ed502b59 100644 --- a/instana_client/models/victor_ops_integration.py +++ b/instana_client/models/victor_ops_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class VictorOpsIntegration(AbstractIntegration): """ @@ -34,7 +35,8 @@ class VictorOpsIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "apiKey", "routingKey"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_period_application_time_threshold.py b/instana_client/models/violations_in_period_application_time_threshold.py index 8deee472..5fb6ecf3 100644 --- a/instana_client/models/violations_in_period_application_time_threshold.py +++ b/instana_client/models/violations_in_period_application_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.application_time_threshold import ApplicationTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInPeriodApplicationTimeThreshold(ApplicationTimeThreshold): """ @@ -33,7 +34,8 @@ class ViolationsInPeriodApplicationTimeThreshold(ApplicationTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type", "violations"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_period_mobile_app_time_threshold.py b/instana_client/models/violations_in_period_mobile_app_time_threshold.py index eeb6fc20..4359bb25 100644 --- a/instana_client/models/violations_in_period_mobile_app_time_threshold.py +++ b/instana_client/models/violations_in_period_mobile_app_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.mobile_app_time_threshold import MobileAppTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInPeriodMobileAppTimeThreshold(MobileAppTimeThreshold): """ @@ -33,7 +34,8 @@ class ViolationsInPeriodMobileAppTimeThreshold(MobileAppTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type", "violations"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_period_website_time_threshold.py b/instana_client/models/violations_in_period_website_time_threshold.py index 578f8a11..be484716 100644 --- a/instana_client/models/violations_in_period_website_time_threshold.py +++ b/instana_client/models/violations_in_period_website_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.website_time_threshold import WebsiteTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInPeriodWebsiteTimeThreshold(WebsiteTimeThreshold): """ @@ -33,7 +34,8 @@ class ViolationsInPeriodWebsiteTimeThreshold(WebsiteTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type", "violations"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_sequence_application_time_threshold.py b/instana_client/models/violations_in_sequence_application_time_threshold.py index d1fcc5b7..a0793403 100644 --- a/instana_client/models/violations_in_sequence_application_time_threshold.py +++ b/instana_client/models/violations_in_sequence_application_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.application_time_threshold import ApplicationTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInSequenceApplicationTimeThreshold(ApplicationTimeThreshold): """ @@ -31,7 +32,8 @@ class ViolationsInSequenceApplicationTimeThreshold(ApplicationTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_sequence_infra_time_threshold.py b/instana_client/models/violations_in_sequence_infra_time_threshold.py index 0519839e..adcc4eed 100644 --- a/instana_client/models/violations_in_sequence_infra_time_threshold.py +++ b/instana_client/models/violations_in_sequence_infra_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.infra_time_threshold import InfraTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInSequenceInfraTimeThreshold(InfraTimeThreshold): """ @@ -31,7 +32,8 @@ class ViolationsInSequenceInfraTimeThreshold(InfraTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_sequence_log_time_threshold.py b/instana_client/models/violations_in_sequence_log_time_threshold.py index b0d17707..e35f4c2e 100644 --- a/instana_client/models/violations_in_sequence_log_time_threshold.py +++ b/instana_client/models/violations_in_sequence_log_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.log_time_threshold import LogTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInSequenceLogTimeThreshold(LogTimeThreshold): """ @@ -31,7 +32,8 @@ class ViolationsInSequenceLogTimeThreshold(LogTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_sequence_mobile_app_time_threshold.py b/instana_client/models/violations_in_sequence_mobile_app_time_threshold.py index c894dfc0..62b00e55 100644 --- a/instana_client/models/violations_in_sequence_mobile_app_time_threshold.py +++ b/instana_client/models/violations_in_sequence_mobile_app_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.mobile_app_time_threshold import MobileAppTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInSequenceMobileAppTimeThreshold(MobileAppTimeThreshold): """ @@ -31,7 +32,8 @@ class ViolationsInSequenceMobileAppTimeThreshold(MobileAppTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_sequence_synthetic_time_threshold.py b/instana_client/models/violations_in_sequence_synthetic_time_threshold.py index e86da0ce..3bae2bd3 100644 --- a/instana_client/models/violations_in_sequence_synthetic_time_threshold.py +++ b/instana_client/models/violations_in_sequence_synthetic_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_time_threshold import SyntheticTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInSequenceSyntheticTimeThreshold(SyntheticTimeThreshold): """ @@ -31,7 +32,8 @@ class ViolationsInSequenceSyntheticTimeThreshold(SyntheticTimeThreshold): __properties: ClassVar[List[str]] = ["type", "violationsCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/violations_in_sequence_website_time_threshold.py b/instana_client/models/violations_in_sequence_website_time_threshold.py index c5ea28e7..98ef174f 100644 --- a/instana_client/models/violations_in_sequence_website_time_threshold.py +++ b/instana_client/models/violations_in_sequence_website_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.website_time_threshold import WebsiteTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ViolationsInSequenceWebsiteTimeThreshold(WebsiteTimeThreshold): """ @@ -31,7 +32,8 @@ class ViolationsInSequenceWebsiteTimeThreshold(WebsiteTimeThreshold): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -43,8 +45,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/watson_ai_ops_webhook_integration.py b/instana_client/models/watson_ai_ops_webhook_integration.py index ae952dd7..087f9bae 100644 --- a/instana_client/models/watson_ai_ops_webhook_integration.py +++ b/instana_client/models/watson_ai_ops_webhook_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WatsonAIOpsWebhookIntegration(AbstractIntegration): """ @@ -34,7 +35,8 @@ class WatsonAIOpsWebhookIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "headers", "webhookUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +48,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -72,6 +73,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if headers (nullable) is None + # and model_fields_set contains the field + if self.headers is None and "headers" in self.model_fields_set: + _dict['headers'] = None + return _dict @classmethod diff --git a/instana_client/models/webex_teams_webhook_integration.py b/instana_client/models/webex_teams_webhook_integration.py index f7366cc8..b9f3088d 100644 --- a/instana_client/models/webex_teams_webhook_integration.py +++ b/instana_client/models/webex_teams_webhook_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebexTeamsWebhookIntegration(AbstractIntegration): """ @@ -33,7 +34,8 @@ class WebexTeamsWebhookIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "webhookUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -45,8 +47,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/webhook_integration.py b/instana_client/models/webhook_integration.py index e736e788..02024ed9 100644 --- a/instana_client/models/webhook_integration.py +++ b/instana_client/models/webhook_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.o_auth_integration import OAuthIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebhookIntegration(AbstractIntegration): """ @@ -38,7 +39,8 @@ class WebhookIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "headers", "oauth", "oauthEnabled", "transformationExpression", "webhookUrls"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -50,8 +52,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/webpage_action_configuration.py b/instana_client/models/webpage_action_configuration.py index bc4fa3fd..b9177adf 100644 --- a/instana_client/models/webpage_action_configuration.py +++ b/instana_client/models/webpage_action_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebpageActionConfiguration(SyntheticTypeConfiguration): """ @@ -45,7 +46,8 @@ def browser_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -57,8 +59,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/webpage_action_configuration_update.py b/instana_client/models/webpage_action_configuration_update.py index d7e3f599..828ee79f 100644 --- a/instana_client/models/webpage_action_configuration_update.py +++ b/instana_client/models/webpage_action_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebpageActionConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -44,7 +45,8 @@ def browser_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -56,8 +58,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/webpage_script_configuration.py b/instana_client/models/webpage_script_configuration.py index 4214a7c7..36a4a031 100644 --- a/instana_client/models/webpage_script_configuration.py +++ b/instana_client/models/webpage_script_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.synthetic_type_configuration import SyntheticTypeConfiguration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebpageScriptConfiguration(SyntheticTypeConfiguration): """ @@ -48,7 +49,8 @@ def browser_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -60,8 +62,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/webpage_script_configuration_update.py b/instana_client/models/webpage_script_configuration_update.py index ee9596b0..45f8e953 100644 --- a/instana_client/models/webpage_script_configuration_update.py +++ b/instana_client/models/webpage_script_configuration_update.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.synthetic_type_configuration_update import SyntheticTypeConfigurationUpdate from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebpageScriptConfigurationUpdate(SyntheticTypeConfigurationUpdate): """ @@ -47,7 +48,8 @@ def browser_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -59,8 +61,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/website.py b/instana_client/models/website.py index 2866079f..486b31a2 100644 --- a/instana_client/models/website.py +++ b/instana_client/models/website.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -18,23 +18,26 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Website(BaseModel): """ Website """ # noqa: E501 app_name: Optional[StrictStr] = Field(default=None, alias="appName") + business_criticality: Optional[StrictInt] = Field(default=None, alias="businessCriticality") id: Annotated[str, Field(min_length=1, strict=True)] name: Annotated[str, Field(min_length=1, strict=True)] - __properties: ClassVar[List[str]] = ["appName", "id", "name"] + __properties: ClassVar[List[str]] = ["appName", "businessCriticality", "id", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -46,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -85,6 +87,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "appName": obj.get("appName"), + "businessCriticality": obj.get("businessCriticality"), "id": obj.get("id"), "name": obj.get("name") }) diff --git a/instana_client/models/website_alert_config.py b/instana_client/models/website_alert_config.py index 6567d598..135e824c 100644 --- a/instana_client/models/website_alert_config.py +++ b/instana_client/models/website_alert_config.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.website_time_threshold import WebsiteTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteAlertConfig(BaseModel): """ @@ -46,7 +47,7 @@ class WebsiteAlertConfig(BaseModel): rule: Optional[WebsiteAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdWebsiteAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tag_filters: Optional[List[TagFilter]] = Field(default=None, alias="tagFilters") threshold: Optional[Threshold] = None time_threshold: WebsiteTimeThreshold = Field(alias="timeThreshold") @@ -62,7 +63,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -74,8 +76,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -133,6 +134,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/website_alert_config_with_metadata.py b/instana_client/models/website_alert_config_with_metadata.py index 600a3c39..890e6eb1 100644 --- a/instana_client/models/website_alert_config_with_metadata.py +++ b/instana_client/models/website_alert_config_with_metadata.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.website_time_threshold import WebsiteTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteAlertConfigWithMetadata(BaseModel): """ @@ -50,7 +51,7 @@ class WebsiteAlertConfigWithMetadata(BaseModel): rule: Optional[WebsiteAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdWebsiteAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tag_filters: Optional[List[TagFilter]] = Field(default=None, alias="tagFilters") threshold: Optional[Threshold] = None time_threshold: WebsiteTimeThreshold = Field(alias="timeThreshold") @@ -66,7 +67,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -78,8 +80,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -137,6 +138,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/website_alert_config_with_rbac_tag.py b/instana_client/models/website_alert_config_with_rbac_tag.py index a1459ee8..e566568b 100644 --- a/instana_client/models/website_alert_config_with_rbac_tag.py +++ b/instana_client/models/website_alert_config_with_rbac_tag.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -31,6 +31,7 @@ from instana_client.models.website_time_threshold import WebsiteTimeThreshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteAlertConfigWithRBACTag(BaseModel): """ @@ -52,7 +53,7 @@ class WebsiteAlertConfigWithRBACTag(BaseModel): rule: Optional[WebsiteAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdWebsiteAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") tag_filters: Optional[List[TagFilter]] = Field(default=None, alias="tagFilters") threshold: Optional[Threshold] = None time_threshold: WebsiteTimeThreshold = Field(alias="timeThreshold") @@ -68,7 +69,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -80,8 +82,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -146,6 +147,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/website_alert_rule.py b/instana_client/models/website_alert_rule.py index 7c4d7e37..8c5d1b7d 100644 --- a/instana_client/models/website_alert_rule.py +++ b/instana_client/models/website_alert_rule.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -53,7 +54,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -82,8 +84,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[CustomEventWebsiteAlertRule, SlownessWebsiteAlertRule, SpecificJsErrorsWebsiteAlertRule, StatusCodeWebsiteAlertRule, ThroughputWebsiteAlertRule]]: diff --git a/instana_client/models/website_apdex_entity.py b/instana_client/models/website_apdex_entity.py index 42395c3b..6dfd6aa0 100644 --- a/instana_client/models/website_apdex_entity.py +++ b/instana_client/models/website_apdex_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteApdexEntity(ApdexEntity): """ @@ -43,7 +44,8 @@ def beacon_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -84,6 +85,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/website_beacon_groups_item.py b/instana_client/models/website_beacon_groups_item.py index d607c545..68054d00 100644 --- a/instana_client/models/website_beacon_groups_item.py +++ b/instana_client/models/website_beacon_groups_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteBeaconGroupsItem(BaseModel): """ @@ -35,7 +36,8 @@ class WebsiteBeaconGroupsItem(BaseModel): __properties: ClassVar[List[str]] = ["cursor", "earliestTimestamp", "metrics", "name"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/website_beacon_groups_result.py b/instana_client/models/website_beacon_groups_result.py index dae07a13..d6f08c23 100644 --- a/instana_client/models/website_beacon_groups_result.py +++ b/instana_client/models/website_beacon_groups_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.website_beacon_groups_item import WebsiteBeaconGroupsItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteBeaconGroupsResult(BaseModel): """ @@ -39,7 +40,8 @@ class WebsiteBeaconGroupsResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/website_beacon_result.py b/instana_client/models/website_beacon_result.py index a71ee0a1..a548f8f1 100644 --- a/instana_client/models/website_beacon_result.py +++ b/instana_client/models/website_beacon_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -25,6 +25,7 @@ from instana_client.models.website_beacons_item import WebsiteBeaconsItem from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteBeaconResult(BaseModel): """ @@ -39,7 +40,8 @@ class WebsiteBeaconResult(BaseModel): __properties: ClassVar[List[str]] = ["adjustedTimeframe", "canLoadMore", "items", "totalHits", "totalRepresentedItemCount", "totalRetainedItemCount"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if adjusted_timeframe (nullable) is None + # and model_fields_set contains the field + if self.adjusted_timeframe is None and "adjusted_timeframe" in self.model_fields_set: + _dict['adjustedTimeframe'] = None + return _dict @classmethod diff --git a/instana_client/models/website_beacon_tag_group.py b/instana_client/models/website_beacon_tag_group.py index ffd41b63..44e32bf2 100644 --- a/instana_client/models/website_beacon_tag_group.py +++ b/instana_client/models/website_beacon_tag_group.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteBeaconTagGroup(BaseModel): """ @@ -41,7 +42,8 @@ def groupby_tag_entity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if groupby_tag_second_level_key (nullable) is None + # and model_fields_set contains the field + if self.groupby_tag_second_level_key is None and "groupby_tag_second_level_key" in self.model_fields_set: + _dict['groupbyTagSecondLevelKey'] = None + return _dict @classmethod diff --git a/instana_client/models/website_beacons_item.py b/instana_client/models/website_beacons_item.py index 487edcea..1f0bf8ca 100644 --- a/instana_client/models/website_beacons_item.py +++ b/instana_client/models/website_beacons_item.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.website_monitoring_beacon import WebsiteMonitoringBeacon from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteBeaconsItem(BaseModel): """ @@ -35,7 +36,8 @@ class WebsiteBeaconsItem(BaseModel): __properties: ClassVar[List[str]] = ["beacon", "cursor", "impactedBeaconInfo"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/website_event_based_sli_entity.py b/instana_client/models/website_event_based_sli_entity.py index 5f356ba0..b8bd930a 100644 --- a/instana_client/models/website_event_based_sli_entity.py +++ b/instana_client/models/website_event_based_sli_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,14 +24,15 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteEventBasedSliEntity(SliEntity): """ WebsiteEventBasedSliEntity """ # noqa: E501 - bad_event_filter_expression: TagFilterExpressionElement = Field(alias="badEventFilterExpression") + bad_event_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="badEventFilterExpression") beacon_type: StrictStr = Field(description="Enum value to specify the type of beacons to be monitored", alias="beaconType") - good_event_filter_expression: TagFilterExpressionElement = Field(alias="goodEventFilterExpression") + good_event_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="goodEventFilterExpression") website_id: Optional[StrictStr] = Field(default=None, description="Specifies the ID of the Website", alias="websiteId") __properties: ClassVar[List[str]] = ["sliType", "badEventFilterExpression", "beaconType", "goodEventFilterExpression", "websiteId"] @@ -43,7 +44,8 @@ def beacon_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -87,6 +88,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of good_event_filter_expression if self.good_event_filter_expression: _dict['goodEventFilterExpression'] = self.good_event_filter_expression.to_dict() + # set to None if bad_event_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.bad_event_filter_expression is None and "bad_event_filter_expression" in self.model_fields_set: + _dict['badEventFilterExpression'] = None + + # set to None if good_event_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.good_event_filter_expression is None and "good_event_filter_expression" in self.model_fields_set: + _dict['goodEventFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/website_event_result.py b/instana_client/models/website_event_result.py index e3f39a26..ece03090 100644 --- a/instana_client/models/website_event_result.py +++ b/instana_client/models/website_event_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,16 +23,18 @@ from instana_client.models.event_result import EventResult from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteEventResult(EventResult): """ WebsiteEventResult """ # noqa: E501 website_id: Optional[StrictStr] = Field(default=None, description="ID of the website.", alias="websiteId") - __properties: ClassVar[List[str]] = ["detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "websiteId"] + __properties: ClassVar[List[str]] = ["aggregated", "detail", "end", "entityLabel", "entityName", "entityType", "eventId", "eventSpecificationId", "fixSuggestion", "metadata", "metrics", "probableCause", "problem", "recentEvents", "severity", "shortCode", "snapshotId", "start", "state", "triggeringEventId", "type", "websiteId"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "aggregated": obj.get("aggregated"), "detail": obj.get("detail"), "end": obj.get("end"), "entityLabel": obj.get("entityLabel"), diff --git a/instana_client/models/website_metric_result.py b/instana_client/models/website_metric_result.py index 9dd43a2b..02ebec4e 100644 --- a/instana_client/models/website_metric_result.py +++ b/instana_client/models/website_metric_result.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteMetricResult(BaseModel): """ @@ -32,7 +33,8 @@ class WebsiteMetricResult(BaseModel): __properties: ClassVar[List[str]] = ["empty"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -44,8 +46,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/website_monitoring_beacon.py b/instana_client/models/website_monitoring_beacon.py index 88347bf9..ced09130 100644 --- a/instana_client/models/website_monitoring_beacon.py +++ b/instana_client/models/website_monitoring_beacon.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.js_stack_trace_line import JsStackTraceLine from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteMonitoringBeacon(BaseModel): """ @@ -137,7 +138,8 @@ class WebsiteMonitoringBeacon(BaseModel): __properties: ClassVar[List[str]] = ["accuracyRadius", "accurateTimingsAvailable", "agentVersion", "appCacheTime", "backendTime", "backendTraceId", "batchSize", "beaconId", "browserName", "browserVersion", "bytesIngested", "cacheInteraction", "childrenTime", "city", "clockSkew", "componentStack", "connectionType", "continent", "continentCode", "country", "countryCode", "cspBlockedUri", "cspColumnNumber", "cspDisposition", "cspEffectiveDirective", "cspLineNumber", "cspOriginalPolicy", "cspSample", "cspSourceFile", "cumulativeLayoutShift", "customEventName", "customMetric", "decodedBodySize", "deprecations", "deviceType", "dnsTime", "domTime", "duration", "encodedBodySize", "errorCount", "errorId", "errorMessage", "errorType", "firstContentfulPaintTime", "firstInputDelayTime", "firstPaintTime", "frontendTime", "graphqlOperationName", "graphqlOperationType", "httpCallAsynchronous", "httpCallCorrelationAttempted", "httpCallHeaders", "httpCallMethod", "httpCallOrigin", "httpCallPath", "httpCallStatus", "httpCallUrl", "initiator", "interactionNextPaint", "internalMeta", "label", "largestContentfulPaintTime", "latitude", "locationOrigin", "locationPath", "locationUrl", "longitude", "meta", "onLoadTime", "osName", "osVersion", "page", "pageLoadId", "parentBeaconId", "parsedStackTrace", "phase", "processingTime", "redirectTime", "requestTime", "resourceType", "responseTime", "sessionId", "snippetVersion", "sslTime", "stackTrace", "stackTraceParsingStatus", "stackTraceReadability", "subdivision", "subdivisionCode", "tcpTime", "timestamp", "transferSize", "type", "unloadTime", "useFeatures", "userEmail", "userId", "userIp", "userLanguages", "userName", "websiteId", "websiteLabel", "windowHeight", "windowHidden", "windowWidth"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -149,8 +151,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -182,6 +183,221 @@ def to_dict(self) -> Dict[str, Any]: if _item_parsed_stack_trace: _items.append(_item_parsed_stack_trace.to_dict()) _dict['parsedStackTrace'] = _items + # set to None if agent_version (nullable) is None + # and model_fields_set contains the field + if self.agent_version is None and "agent_version" in self.model_fields_set: + _dict['agentVersion'] = None + + # set to None if backend_trace_id (nullable) is None + # and model_fields_set contains the field + if self.backend_trace_id is None and "backend_trace_id" in self.model_fields_set: + _dict['backendTraceId'] = None + + # set to None if browser_name (nullable) is None + # and model_fields_set contains the field + if self.browser_name is None and "browser_name" in self.model_fields_set: + _dict['browserName'] = None + + # set to None if browser_version (nullable) is None + # and model_fields_set contains the field + if self.browser_version is None and "browser_version" in self.model_fields_set: + _dict['browserVersion'] = None + + # set to None if cache_interaction (nullable) is None + # and model_fields_set contains the field + if self.cache_interaction is None and "cache_interaction" in self.model_fields_set: + _dict['cacheInteraction'] = None + + # set to None if city (nullable) is None + # and model_fields_set contains the field + if self.city is None and "city" in self.model_fields_set: + _dict['city'] = None + + # set to None if component_stack (nullable) is None + # and model_fields_set contains the field + if self.component_stack is None and "component_stack" in self.model_fields_set: + _dict['componentStack'] = None + + # set to None if connection_type (nullable) is None + # and model_fields_set contains the field + if self.connection_type is None and "connection_type" in self.model_fields_set: + _dict['connectionType'] = None + + # set to None if continent (nullable) is None + # and model_fields_set contains the field + if self.continent is None and "continent" in self.model_fields_set: + _dict['continent'] = None + + # set to None if continent_code (nullable) is None + # and model_fields_set contains the field + if self.continent_code is None and "continent_code" in self.model_fields_set: + _dict['continentCode'] = None + + # set to None if country (nullable) is None + # and model_fields_set contains the field + if self.country is None and "country" in self.model_fields_set: + _dict['country'] = None + + # set to None if country_code (nullable) is None + # and model_fields_set contains the field + if self.country_code is None and "country_code" in self.model_fields_set: + _dict['countryCode'] = None + + # set to None if custom_event_name (nullable) is None + # and model_fields_set contains the field + if self.custom_event_name is None and "custom_event_name" in self.model_fields_set: + _dict['customEventName'] = None + + # set to None if deprecations (nullable) is None + # and model_fields_set contains the field + if self.deprecations is None and "deprecations" in self.model_fields_set: + _dict['deprecations'] = None + + # set to None if device_type (nullable) is None + # and model_fields_set contains the field + if self.device_type is None and "device_type" in self.model_fields_set: + _dict['deviceType'] = None + + # set to None if error_id (nullable) is None + # and model_fields_set contains the field + if self.error_id is None and "error_id" in self.model_fields_set: + _dict['errorId'] = None + + # set to None if error_message (nullable) is None + # and model_fields_set contains the field + if self.error_message is None and "error_message" in self.model_fields_set: + _dict['errorMessage'] = None + + # set to None if error_type (nullable) is None + # and model_fields_set contains the field + if self.error_type is None and "error_type" in self.model_fields_set: + _dict['errorType'] = None + + # set to None if http_call_headers (nullable) is None + # and model_fields_set contains the field + if self.http_call_headers is None and "http_call_headers" in self.model_fields_set: + _dict['httpCallHeaders'] = None + + # set to None if http_call_method (nullable) is None + # and model_fields_set contains the field + if self.http_call_method is None and "http_call_method" in self.model_fields_set: + _dict['httpCallMethod'] = None + + # set to None if http_call_origin (nullable) is None + # and model_fields_set contains the field + if self.http_call_origin is None and "http_call_origin" in self.model_fields_set: + _dict['httpCallOrigin'] = None + + # set to None if http_call_path (nullable) is None + # and model_fields_set contains the field + if self.http_call_path is None and "http_call_path" in self.model_fields_set: + _dict['httpCallPath'] = None + + # set to None if http_call_url (nullable) is None + # and model_fields_set contains the field + if self.http_call_url is None and "http_call_url" in self.model_fields_set: + _dict['httpCallUrl'] = None + + # set to None if initiator (nullable) is None + # and model_fields_set contains the field + if self.initiator is None and "initiator" in self.model_fields_set: + _dict['initiator'] = None + + # set to None if internal_meta (nullable) is None + # and model_fields_set contains the field + if self.internal_meta is None and "internal_meta" in self.model_fields_set: + _dict['internalMeta'] = None + + # set to None if location_path (nullable) is None + # and model_fields_set contains the field + if self.location_path is None and "location_path" in self.model_fields_set: + _dict['locationPath'] = None + + # set to None if meta (nullable) is None + # and model_fields_set contains the field + if self.meta is None and "meta" in self.model_fields_set: + _dict['meta'] = None + + # set to None if os_name (nullable) is None + # and model_fields_set contains the field + if self.os_name is None and "os_name" in self.model_fields_set: + _dict['osName'] = None + + # set to None if os_version (nullable) is None + # and model_fields_set contains the field + if self.os_version is None and "os_version" in self.model_fields_set: + _dict['osVersion'] = None + + # set to None if page (nullable) is None + # and model_fields_set contains the field + if self.page is None and "page" in self.model_fields_set: + _dict['page'] = None + + # set to None if parsed_stack_trace (nullable) is None + # and model_fields_set contains the field + if self.parsed_stack_trace is None and "parsed_stack_trace" in self.model_fields_set: + _dict['parsedStackTrace'] = None + + # set to None if phase (nullable) is None + # and model_fields_set contains the field + if self.phase is None and "phase" in self.model_fields_set: + _dict['phase'] = None + + # set to None if resource_type (nullable) is None + # and model_fields_set contains the field + if self.resource_type is None and "resource_type" in self.model_fields_set: + _dict['resourceType'] = None + + # set to None if session_id (nullable) is None + # and model_fields_set contains the field + if self.session_id is None and "session_id" in self.model_fields_set: + _dict['sessionId'] = None + + # set to None if stack_trace (nullable) is None + # and model_fields_set contains the field + if self.stack_trace is None and "stack_trace" in self.model_fields_set: + _dict['stackTrace'] = None + + # set to None if subdivision (nullable) is None + # and model_fields_set contains the field + if self.subdivision is None and "subdivision" in self.model_fields_set: + _dict['subdivision'] = None + + # set to None if subdivision_code (nullable) is None + # and model_fields_set contains the field + if self.subdivision_code is None and "subdivision_code" in self.model_fields_set: + _dict['subdivisionCode'] = None + + # set to None if use_features (nullable) is None + # and model_fields_set contains the field + if self.use_features is None and "use_features" in self.model_fields_set: + _dict['useFeatures'] = None + + # set to None if user_email (nullable) is None + # and model_fields_set contains the field + if self.user_email is None and "user_email" in self.model_fields_set: + _dict['userEmail'] = None + + # set to None if user_id (nullable) is None + # and model_fields_set contains the field + if self.user_id is None and "user_id" in self.model_fields_set: + _dict['userId'] = None + + # set to None if user_ip (nullable) is None + # and model_fields_set contains the field + if self.user_ip is None and "user_ip" in self.model_fields_set: + _dict['userIp'] = None + + # set to None if user_languages (nullable) is None + # and model_fields_set contains the field + if self.user_languages is None and "user_languages" in self.model_fields_set: + _dict['userLanguages'] = None + + # set to None if user_name (nullable) is None + # and model_fields_set contains the field + if self.user_name is None and "user_name" in self.model_fields_set: + _dict['userName'] = None + return _dict @classmethod diff --git a/instana_client/models/website_monitoring_metric_description.py b/instana_client/models/website_monitoring_metric_description.py index 127cffe6..e052a2fc 100644 --- a/instana_client/models/website_monitoring_metric_description.py +++ b/instana_client/models/website_monitoring_metric_description.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteMonitoringMetricDescription(BaseModel): """ @@ -58,7 +59,8 @@ def default_aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -70,8 +72,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -96,6 +97,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if path_to_value_in_beacon (nullable) is None + # and model_fields_set contains the field + if self.path_to_value_in_beacon is None and "path_to_value_in_beacon" in self.model_fields_set: + _dict['pathToValueInBeacon'] = None + + # set to None if tag_name (nullable) is None + # and model_fields_set contains the field + if self.tag_name is None and "tag_name" in self.model_fields_set: + _dict['tagName'] = None + return _dict @classmethod diff --git a/instana_client/models/website_monitoring_metrics_configuration.py b/instana_client/models/website_monitoring_metrics_configuration.py index e42980f6..4467ab79 100644 --- a/instana_client/models/website_monitoring_metrics_configuration.py +++ b/instana_client/models/website_monitoring_metrics_configuration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteMonitoringMetricsConfiguration(BaseModel): """ @@ -41,7 +42,8 @@ def aggregation_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -79,6 +80,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if granularity (nullable) is None + # and model_fields_set contains the field + if self.granularity is None and "granularity" in self.model_fields_set: + _dict['granularity'] = None + return _dict @classmethod diff --git a/instana_client/models/website_slo_entity.py b/instana_client/models/website_slo_entity.py index 6d579db9..7c14196d 100644 --- a/instana_client/models/website_slo_entity.py +++ b/instana_client/models/website_slo_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteSloEntity(SloEntity): """ @@ -41,7 +42,8 @@ def beacon_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -53,8 +55,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -82,6 +83,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of tag_filter_expression if self.tag_filter_expression: _dict['tagFilterExpression'] = self.tag_filter_expression.to_dict() + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/website_time_based_sli_entity.py b/instana_client/models/website_time_based_sli_entity.py index 11ef2484..d9f40281 100644 --- a/instana_client/models/website_time_based_sli_entity.py +++ b/instana_client/models/website_time_based_sli_entity.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.tag_filter_expression_element import TagFilterExpressionElement from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WebsiteTimeBasedSliEntity(SliEntity): """ @@ -42,7 +43,8 @@ def beacon_type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -54,8 +56,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -83,6 +84,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of filter_expression if self.filter_expression: _dict['filterExpression'] = self.filter_expression.to_dict() + # set to None if filter_expression (nullable) is None + # and model_fields_set contains the field + if self.filter_expression is None and "filter_expression" in self.model_fields_set: + _dict['filterExpression'] = None + return _dict @classmethod diff --git a/instana_client/models/website_time_threshold.py b/instana_client/models/website_time_threshold.py index ad2fdd69..2745092c 100644 --- a/instana_client/models/website_time_threshold.py +++ b/instana_client/models/website_time_threshold.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python from typing import TYPE_CHECKING if TYPE_CHECKING: @@ -39,7 +40,8 @@ class WebsiteTimeThreshold(BaseModel): __properties: ClassVar[List[str]] = ["timeWindow", "type"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -68,8 +70,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Union[UserImpactWebsiteTimeThreshold, ViolationsInPeriodWebsiteTimeThreshold, ViolationsInSequenceWebsiteTimeThreshold]]: diff --git a/instana_client/models/widget.py b/instana_client/models/widget.py index f2f843c5..e6247d62 100644 --- a/instana_client/models/widget.py +++ b/instana_client/models/widget.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -23,6 +23,7 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class Widget(BaseModel): """ @@ -39,7 +40,8 @@ class Widget(BaseModel): __properties: ClassVar[List[str]] = ["config", "height", "id", "title", "type", "width", "x", "y"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -51,8 +53,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: diff --git a/instana_client/models/with_meta_data.py b/instana_client/models/with_meta_data.py index 4f048644..c2ca767f 100644 --- a/instana_client/models/with_meta_data.py +++ b/instana_client/models/with_meta_data.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -30,6 +30,7 @@ from instana_client.models.threshold import Threshold from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WithMetaData(BaseModel): """ @@ -52,7 +53,7 @@ class WithMetaData(BaseModel): rule: Optional[MobileAppAlertRule] = None rules: Optional[Annotated[List[RuleWithThresholdMobileAppAlertRule], Field(min_length=1, max_length=1)]] = Field(default=None, description="A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.") severity: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=None, description="The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).") - tag_filter_expression: TagFilterExpressionElement = Field(alias="tagFilterExpression") + tag_filter_expression: Optional[TagFilterExpressionElement] = Field(alias="tagFilterExpression") threshold: Optional[Threshold] = None time_threshold: MobileAppTimeThreshold = Field(alias="timeThreshold") triggering: Optional[StrictBool] = Field(default=None, description="Optional flag to indicate whether an Incident is also triggered or not.") @@ -66,7 +67,8 @@ def granularity_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -78,8 +80,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -133,6 +134,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of time_threshold if self.time_threshold: _dict['timeThreshold'] = self.time_threshold.to_dict() + # set to None if alert_channel_ids (nullable) is None + # and model_fields_set contains the field + if self.alert_channel_ids is None and "alert_channel_ids" in self.model_fields_set: + _dict['alertChannelIds'] = None + + # set to None if alert_channels (nullable) is None + # and model_fields_set contains the field + if self.alert_channels is None and "alert_channels" in self.model_fields_set: + _dict['alertChannels'] = None + + # set to None if grace_period (nullable) is None + # and model_fields_set contains the field + if self.grace_period is None and "grace_period" in self.model_fields_set: + _dict['gracePeriod'] = None + + # set to None if rules (nullable) is None + # and model_fields_set contains the field + if self.rules is None and "rules" in self.model_fields_set: + _dict['rules'] = None + + # set to None if severity (nullable) is None + # and model_fields_set contains the field + if self.severity is None and "severity" in self.model_fields_set: + _dict['severity'] = None + + # set to None if tag_filter_expression (nullable) is None + # and model_fields_set contains the field + if self.tag_filter_expression is None and "tag_filter_expression" in self.model_fields_set: + _dict['tagFilterExpression'] = None + + # set to None if threshold (nullable) is None + # and model_fields_set contains the field + if self.threshold is None and "threshold" in self.model_fields_set: + _dict['threshold'] = None + return _dict @classmethod diff --git a/instana_client/models/with_resolved_name.py b/instana_client/models/with_resolved_name.py index b46e2fde..cc9ba0cd 100644 --- a/instana_client/models/with_resolved_name.py +++ b/instana_client/models/with_resolved_name.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class WithResolvedName(BaseModel): """ @@ -43,7 +44,8 @@ def type_validate_enum(cls, value): return value model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -55,8 +57,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -81,6 +82,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + return _dict @classmethod diff --git a/instana_client/models/z_chat_ops_integration.py b/instana_client/models/z_chat_ops_integration.py index 788471e0..9cf899a2 100644 --- a/instana_client/models/z_chat_ops_integration.py +++ b/instana_client/models/z_chat_ops_integration.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -24,6 +24,7 @@ from instana_client.models.abstract_integration import AbstractIntegration from typing import Optional, Set from typing_extensions import Self +from pydantic_core import to_jsonable_python class ZChatOpsIntegration(AbstractIntegration): """ @@ -35,7 +36,8 @@ class ZChatOpsIntegration(AbstractIntegration): __properties: ClassVar[List[str]] = ["id", "kind", "name", "timezone", "bearerAuthToken", "channels", "zchatOpsIncidentsUrl"] model_config = ConfigDict( - populate_by_name=True, + validate_by_name=True, + validate_by_alias=True, validate_assignment=True, protected_namespaces=(), ) @@ -47,8 +49,7 @@ def to_str(self) -> str: 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()) + return json.dumps(to_jsonable_python(self.to_dict())) @classmethod def from_json(cls, json_str: str) -> Optional[Self]: @@ -73,6 +74,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if channels (nullable) is None + # and model_fields_set contains the field + if self.channels is None and "channels" in self.model_fields_set: + _dict['channels'] = None + return _dict @classmethod diff --git a/instana_client/rest.py b/instana_client/rest.py index 053b51f6..40738752 100644 --- a/instana_client/rest.py +++ b/instana_client/rest.py @@ -5,7 +5,7 @@ Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -13,10 +13,12 @@ """ # noqa: E501 +import ipaddress import io import json import re import ssl +from urllib.parse import urlparse import urllib3 @@ -36,6 +38,44 @@ def is_socks_proxy_url(url): return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES +def should_bypass_proxies(url: str, no_proxy: str) -> bool: + """Return whether ``url`` matches the comma-separated ``no_proxy`` rules.""" + parsed_url = urlparse(url) + if not parsed_url.hostname: + return True + + host = parsed_url.hostname.lower() + host_and_port = parsed_url.netloc.lower() + try: + host_ip = ipaddress.ip_address(host) + except ValueError: + host_ip = None + + for entry in (entry.strip().lower() for entry in no_proxy.split(',')): + if not entry: + continue + if entry == '*': + return True + + if host_ip is not None: + try: + if host_ip in ipaddress.ip_network(entry, strict=False): + return True + except ValueError: + pass + + entry = entry.lstrip('.') + if ( + host == entry + or host.endswith('.' + entry) + or host_and_port == entry + or host_and_port.endswith('.' + entry) + ): + return True + + return False + + class RESTResponse(io.IOBase): def __init__(self, resp) -> None: @@ -49,12 +89,17 @@ def read(self): self.data = self.response.data return self.data + @property + def headers(self): + """Returns a dictionary of response headers.""" + return self.response.headers + def getheaders(self): - """Returns a dictionary of the response headers.""" + """Returns a dictionary of the response headers; use ``headers`` instead.""" return self.response.headers def getheader(self, name, default=None): - """Returns a given response header.""" + """Returns a given response header; use ``headers.get()`` instead.""" return self.response.headers.get(name, default) @@ -100,7 +145,9 @@ def __init__(self, configuration) -> None: # https pool manager self.pool_manager: urllib3.PoolManager - if configuration.proxy: + if configuration.proxy and not should_bypass_proxies( + configuration.host, configuration.no_proxy or '' + ): if is_socks_proxy_url(configuration.proxy): from urllib3.contrib.socks import SOCKSProxyManager pool_args["proxy_url"] = configuration.proxy @@ -172,12 +219,20 @@ def request( # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: - # no content type provided or payload is json content_type = headers.get('Content-Type') - if ( + is_json = ( not content_type or re.search('json', content_type, re.IGNORECASE) - ): + ) + # JSON is valid YAML 1.2, so structured YAML bodies can use + # the existing JSON serializer: + # https://yaml.org/spec/1.2.2/#13-relation-to-json + is_structured_yaml = ( + content_type + and re.search('yaml', content_type, re.IGNORECASE) + and not isinstance(body, (str, bytes)) + ) + if is_json or is_structured_yaml: request_body = None if body is not None: request_body = json.dumps(body) diff --git a/openapi-generator-config.json b/openapi-generator-config.json index 25b94602..42ea088a 100644 --- a/openapi-generator-config.json +++ b/openapi-generator-config.json @@ -1,6 +1,6 @@ { "packageName": "instana_client", "projectName": "instana-client", - "packageVersion": "1.0.9", + "packageVersion": "1.1.0", "packageUrl": "https://github.com/instana/client-python" } diff --git a/openapi.yaml b/openapi.yaml index 315d1e06..bb2fd12d 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -7,167 +7,164 @@ info: description: Documentation for INSTANA REST API termsOfService: https://www.instana.com/terms-of-use/ title: Instana REST API documentation - version: 1.320.1414 + version: 1.323.989 x-description: info - x-ibm-ahub-try: true x-logo: altText: instana logo backgroundColor: '#FAFBFC' url: header-logo.svg servers: -- description: Instana Backend - url: https://{unit}-{tenant}.instana.io - variables: - tenant: - default: tenant - description: Customer tenant unit - unit: - default: unit - description: Customer tenant name -- description: Instana Self-Hosted Backend - url: https://{domain} - variables: - domain: - default: example.com - description: Customer Self-Hosted domain + - description: Instana Backend + url: https://{unit}-{tenant}.instana.io + variables: + tenant: + default: tenant + description: Customer tenant unit + unit: + default: unit + description: Customer tenant name tags: -- name: Infrastructure Analyze - x-description: tagInfrastructureAnalyze -- name: Infrastructure Metrics - x-description: tagInfrastructureMetrics -- name: Infrastructure Resources - x-description: tagInfrastructureResources -- name: Infrastructure Catalog - x-description: tagInfrastructureCatalog -- name: Infrastructure Topology - x-description: tagInfrastructureTopology -- name: Logging Analyze - x-description: tagLoggingAnalyze -- name: Application Metrics - x-description: tagApplicationMetrics -- name: Application Catalog - x-description: tagApplicationCatalog -- name: Application Resources - x-description: tagApplicationResources -- name: Application Analyze - x-description: tagApplicationAnalyze -- name: Application Settings - x-description: tagApplicationSettings -- name: Application Topology - x-description: tagApplicationTopology -- name: Website Metrics - x-description: tagWebsiteMetrics -- name: Website Catalog - x-description: tagWebsiteCatalog -- name: Website Configuration - x-description: tagWebsiteConfiguration -- name: Website Analyze - x-description: tagWebsiteAnalyze -- name: Mobile App Metrics - x-description: tagMobileAppMetrics -- name: Mobile App Catalog - x-description: tagMobileAppCatalog -- name: Mobile App Configuration - x-description: tagMobileAppConfiguration -- name: Mobile App Analyze - x-description: tagMobileAppAnalyze -- name: Events - x-description: tagEvents -- name: Event Settings - x-description: tagEventSettings -- name: Application Alert Configuration - x-description: tagApplicationAlertConfiguration -- name: Global Application Alert Configuration - x-description: tagGlobalApplicationAlertConfiguration -- name: Infrastructure Alert Configuration - x-description: tagInfrastructureAlertConfiguration -- name: Synthetic Alert Configuration - x-description: tagSyntheticAlertConfiguration -- name: Host Agent - x-description: tagHostAgent -- name: User - x-description: tagUser -- name: Groups - x-description: tagGroups -- name: Teams - x-description: tagTeams -- name: Roles - x-description: tagRoles -- name: Audit Log - x-description: tagAuditLog -- name: API Token - x-description: tagAPIToken -- name: Session Settings - x-description: sessionSettings -- name: Maintenance Configuration - x-description: tagMaintenanceConfiguration -- name: Synthetic Calls - x-description: tagSyntheticCalls -- name: Releases - x-description: tagReleases -- name: SLI Settings - x-description: tagSLISettings -- name: SLI Report - x-description: tagSLIReport -- name: Health - x-description: tagHealth -- name: Custom Dashboards - x-description: tagCustomDashboards -- name: Usage - x-description: tagUsage -- name: Synthetic Catalog - x-description: tagSyntheticCatalog -- name: Synthetic Metrics - x-description: tagSyntheticMetrics -- name: Synthetic Settings - x-description: tagSyntheticSettings -- name: Synthetic Test Playback Results - x-description: tagSyntheticResults -- name: Action Catalog - x-description: tagActionCatalog -- name: Action History - x-description: tagActionHistory -- name: Policies - x-description: tagAutomationPolicies -- name: Authentication - x-description: tagAuthentication -- name: Log Alert Configuration - x-description: tagLogAlertConfiguration -- name: End User Monitoring - x-description: endUserMonitoring -- name: AI Management - x-description: tagAiManagement + - name: Infrastructure Analyze + x-description: tagInfrastructureAnalyze + - name: Infrastructure Metrics + x-description: tagInfrastructureMetrics + - name: Infrastructure Resources + x-description: tagInfrastructureResources + - name: Infrastructure Catalog + x-description: tagInfrastructureCatalog + - name: Infrastructure Topology + x-description: tagInfrastructureTopology + - name: Logging Analyze + x-description: tagLoggingAnalyze + - name: Application Metrics + x-description: tagApplicationMetrics + - name: Application Catalog + x-description: tagApplicationCatalog + - name: Application Resources + x-description: tagApplicationResources + - name: Application Analyze + x-description: tagApplicationAnalyze + - name: Application Settings + x-description: tagApplicationSettings + - name: Application Topology + x-description: tagApplicationTopology + - name: Website Metrics + x-description: tagWebsiteMetrics + - name: Website Catalog + x-description: tagWebsiteCatalog + - name: Website Configuration + x-description: tagWebsiteConfiguration + - name: Website Analyze + x-description: tagWebsiteAnalyze + - name: Mobile App Metrics + x-description: tagMobileAppMetrics + - name: Mobile App Catalog + x-description: tagMobileAppCatalog + - name: Mobile App Configuration + x-description: tagMobileAppConfiguration + - name: Mobile App Analyze + x-description: tagMobileAppAnalyze + - name: Events + x-description: tagEvents + - name: Event Settings + x-description: tagEventSettings + - name: Application Alert Configuration + x-description: tagApplicationAlertConfiguration + - name: Global Application Alert Configuration + x-description: tagGlobalApplicationAlertConfiguration + - name: Infrastructure Alert Configuration + x-description: tagInfrastructureAlertConfiguration + - name: Synthetic Alert Configuration + x-description: tagSyntheticAlertConfiguration + - name: Host Agent + x-description: tagHostAgent + - name: User + x-description: tagUser + - name: Groups + x-description: tagGroups + - name: Teams + x-description: tagTeams + - name: Roles + x-description: tagRoles + - name: Audit Log + x-description: tagAuditLog + - name: API Token + x-description: tagAPIToken + - name: Session Settings + x-description: sessionSettings + - name: Maintenance Configuration + x-description: tagMaintenanceConfiguration + - name: Synthetic Calls + x-description: tagSyntheticCalls + - name: Releases + x-description: tagReleases + - name: SLI Settings + x-description: tagSLISettings + - name: SLI Report + x-description: tagSLIReport + - name: Health + x-description: tagHealth + - name: Custom Dashboards + x-description: tagCustomDashboards + - name: Usage + x-description: tagUsage + - name: Synthetic Catalog + x-description: tagSyntheticCatalog + - name: Synthetic Metrics + x-description: tagSyntheticMetrics + - name: Synthetic Settings + x-description: tagSyntheticSettings + - name: Synthetic Test Playback Results + x-description: tagSyntheticResults + - name: Action Catalog + x-description: tagActionCatalog + - name: Action History + x-description: tagActionHistory + - name: Policies + x-description: tagAutomationPolicies + - name: Authentication + x-description: tagAuthentication + - name: Log Alert Configuration + x-description: tagLogAlertConfiguration + - name: End User Monitoring + x-description: endUserMonitoring + - name: AI Management + x-description: tagAiManagement + - name: Fleet Management + x-description: tagFleetManagement paths: /api/apdex/report/{apdexId}: get: description: Generate Apdex Report for a specified Apdex ID. operationId: getApdexReport parameters: - - description: Apdex Configuration ID - example: nCtEoR6NSPqG61QkIkwwCw - in: path - name: apdexId - required: true - schema: - type: string - - description: Starting point for the data retrieval, specified as 13 digit - Unix Timestamp milliseconds - example: 1706713140000 - in: query - name: from - required: true - schema: - type: integer - format: int64 - - description: Ending point for the data retrieval, specified as 13 digit Unix - Timestamp milliseconds - example: 1706813100000 - in: query - name: to - required: true - schema: - type: integer - format: int64 + - description: Apdex Configuration ID + example: nCtEoR6NSPqG61QkIkwwCw + in: path + name: apdexId + required: true + schema: + type: string + - description: >- + Starting point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706713140000 + in: query + name: from + required: true + schema: + type: integer + format: int64 + - description: >- + Ending point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706813100000 + in: query + name: to + required: true + schema: + type: integer + format: int64 responses: '200': content: @@ -177,10 +174,10 @@ paths: from: 1706713140000 to: 1706813100000 apdexScore: - - - 1706713140000 - - 0.5 - - - 1706779500000 - - 0.5 + - - 1706713140000 + - 0.5 + - - 1706779500000 + - 0.5 schema: type: array items: @@ -191,68 +188,75 @@ paths: application/json: example: errors: - - There is no Apdex configuration for the given ID. + - There is no Apdex configuration for the given ID. schema: type: array items: type: string description: No Apdex configuration for the given ID security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Generate Apdex report tags: - - Apdex Report - x-ibm-ahub-byok: true + - Apdex Report /api/application-monitoring/analyze/backend-correlation: get: - description: |- - Resolves backend trace IDs using correlation IDs from website and mobile app monitoring beacons. - For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. + description: >- + Resolves backend trace IDs using correlation IDs from website and mobile + app monitoring beacons. + + For more information on Application Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. operationId: getCorrelatedTraces parameters: - - description: | - Here, the `backendTraceId` is typically used which can be obtained from the `Get all beacons` API endpoint for website and mobile app monitoring. - For XHR, fetch, or HTTP beacons, the `beaconId` retrieved from the same API endpoint can also serve as the `correlationId`. - example: 0v7f55879ca12345 - in: query - name: correlationId - required: true - schema: - type: string - maxLength: 128 - minLength: 0 + - description: > + Here, the `backendTraceId` is typically used which can be obtained + from the `Get all beacons` API endpoint for website and mobile app + monitoring. + + For XHR, fetch, or HTTP beacons, the `beaconId` retrieved from the + same API endpoint can also serve as the `correlationId`. + example: 0v7f55879ca12345 + in: query + name: correlationId + required: true + schema: + type: string + maxLength: 128 + minLength: 0 responses: '200': content: application/json: example: - - traceId: c606ccf3578135c6 + - traceId: c606ccf3578135c6 schema: type: array items: $ref: '#/components/schemas/BackendTraceReference' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Resolve Trace IDs from Monitoring Beacons. tags: - - Application Analyze - x-ibm-ahub-byok: true + - Application Analyze /api/application-monitoring/analyze/call-groups: post: - description: |2- + description: >- - For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. + For more information on Application Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. operationId: getCallGroup parameters: - - description: If enabled, fill the missing data points in the metric result - with timestamp and value 0. - in: query - name: fillTimeSeries - schema: - type: boolean + - description: >- + If enabled, fill the missing data points in the metric result with + timestamp and value 0. + in: query + name: fillTimeSeries + schema: + type: boolean requestBody: content: application/json: @@ -261,11 +265,11 @@ paths: groupbyTag: service.name groupbyTagEntity: DESTINATION metrics: - - aggregation: SUM - metric: calls - - aggregation: P75 - metric: latency - granularity: 360 + - aggregation: SUM + metric: calls + - aggregation: P75 + metric: latency + granularity: 360 includeInternal: false includeSynthetic: false order: @@ -277,16 +281,16 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: call.type - operator: EQUALS - entity: NOT_APPLICABLE - value: DATABASE - - type: TAG_FILTER - name: service.name - operator: EQUALS - entity: DESTINATION - value: ratings + - type: TAG_FILTER + name: call.type + operator: EQUALS + entity: NOT_APPLICABLE + value: DATABASE + - type: TAG_FILTER + name: service.name + operator: EQUALS + entity: DESTINATION + value: ratings timeFrame: to: '1688366990000' windowSize: '600000' @@ -299,16 +303,16 @@ paths: application/json: example: items: - - name: ratings - timestamp: 1688366520000 - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1688980829000 - offset: 1 - metrics: - latency.p75.360: - - - 1688366520000 - - 1.0 + - name: ratings + timestamp: 1688366520000 + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1688980829000 + offset: 1 + metrics: + latency.p75.360: + - - 1688366520000 + - 1 canLoadMore: false totalHits: 1 totalRepresentedItemCount: 1 @@ -320,26 +324,29 @@ paths: $ref: '#/components/schemas/CallGroupsResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get grouped call metrics tags: - - Application Analyze + - Application Analyze x-description: getCallGroup - x-ibm-ahub-byok: true /api/application-monitoring/analyze/trace-groups: post: - description: "In this endpoint, the supported `groupbyTag` are `trace.endpoint.name`\ - \ and `trace.service.name`. \nFor more information on Application Analyze\ - \ please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze." + description: >- + In this endpoint, the supported `groupbyTag` are `trace.endpoint.name` + and `trace.service.name`. + + For more information on Application Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. operationId: getTraceGroups parameters: - - description: If enabled, fill the missing data points in the metric result - with timestamp and value 0. - in: query - name: fillTimeSeries - schema: - type: boolean + - description: >- + If enabled, fill the missing data points in the metric result with + timestamp and value 0. + in: query + name: fillTimeSeries + schema: + type: boolean requestBody: content: application/json: @@ -348,8 +355,8 @@ paths: groupbyTag: trace.endpoint.name groupbyTagEntity: NOT_APPLICABLE metrics: - - aggregation: SUM - metric: latency + - aggregation: SUM + metric: latency order: by: latency direction: ASC @@ -359,16 +366,16 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: call.type - operator: EQUALS - entity: NOT_APPLICABLE - value: DATABASE - - type: TAG_FILTER - name: service.name - operator: EQUALS - entity: DESTINATION - value: ratings + - type: TAG_FILTER + name: call.type + operator: EQUALS + entity: NOT_APPLICABLE + value: DATABASE + - type: TAG_FILTER + name: service.name + operator: EQUALS + entity: DESTINATION + value: ratings schema: $ref: '#/components/schemas/GetTraceGroups' x-payload: getTraceGroups @@ -378,16 +385,16 @@ paths: application/json: example: items: - - name: GET /api/cart-total - timestamp: 1688542673148 - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1688543264000 - offset: 1 - metrics: - latency.sum: - - - 1688543260000 - - 31.0 + - name: GET /api/cart-total + timestamp: 1688542673148 + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1688543264000 + offset: 1 + metrics: + latency.sum: + - - 1688543260000 + - 31 canLoadMore: true totalHits: 2595 totalRepresentedItemCount: 2595 @@ -399,18 +406,18 @@ paths: $ref: '#/components/schemas/TraceGroupsResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get grouped trace metrics tags: - - Application Analyze + - Application Analyze x-description: getTraceGroups - x-ibm-ahub-byok: true /api/application-monitoring/analyze/traces: post: - description: |2- + description: >- - For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. + For more information on Application Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. operationId: getTraces requestBody: content: @@ -427,16 +434,16 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: endpoint.name - operator: EQUALS - entity: DESTINATION - value: GET / - - type: TAG_FILTER - name: service.name - operator: EQUALS - entity: DESTINATION - value: groundskeeper + - type: TAG_FILTER + name: endpoint.name + operator: EQUALS + entity: DESTINATION + value: GET / + - type: TAG_FILTER + name: service.name + operator: EQUALS + entity: DESTINATION + value: groundskeeper order: by: traceLabel direction: DESC @@ -449,27 +456,24 @@ paths: application/json: example: items: - - trace: - id: 506aef767d8ec147 - label: sdk.reloading-config-cache - startTime: 1725601763937 - duration: 0 - erroneous: false - service: - id: 84b5041665ce4ed6f60b47d1fd96c12d4132c9ed - label: appdata-processor - types: [ - ] - technologies: [ - ] - snapshotIds: [ - ] - entityType: SERVICE - endpoint: null - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1725601787000 - offset: 1 + - trace: + id: 506aef767d8ec147 + label: sdk.reloading-config-cache + startTime: 1725601763937 + duration: 0 + erroneous: false + service: + id: 84b5041665ce4ed6f60b47d1fd96c12d4132c9ed + label: appdata-processor + types: [] + technologies: [] + snapshotIds: [] + entityType: SERVICE + endpoint: null + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1725601787000 + offset: 1 canLoadMore: true totalHits: 154 totalRepresentedItemCount: 154 @@ -482,70 +486,75 @@ paths: description: OK x-example: TraceResult security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all traces tags: - - Application Analyze + - Application Analyze x-description: getTraces - x-ibm-ahub-byok: true /api/application-monitoring/applications: get: - description: |- - Use this API endpoint if one wants to retrieve a list of Application Perspectives. - A use case could be to view the application id of an Application Perspective. + description: >- + Use this API endpoint if one wants to retrieve a list of Application + Perspectives. + + A use case could be to view the application id of an Application + Perspective. + - For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. + For more information on Application Resources please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. operationId: getApplications parameters: - - description: Name of application - in: query - name: nameFilter - schema: - type: string - - description: Size of time window in milliseconds - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Timestamp since Unix Epoch in milliseconds of the end of the - time window - in: query - name: to - schema: - type: integer - format: int64 - - description: Page number from results - in: query - name: page - schema: - type: integer - format: int32 - - description: Number of items per page - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: 'Filter for application scope, i.e: INBOUND or ALL' - in: query - name: applicationBoundaryScope - schema: - type: string - enum: - - ALL - - INBOUND + - description: Name of application + in: query + name: nameFilter + schema: + type: string + - description: Size of time window in milliseconds + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + Timestamp since Unix Epoch in milliseconds of the end of the time + window + in: query + name: to + schema: + type: integer + format: int64 + - description: Page number from results + in: query + name: page + schema: + type: integer + format: int32 + - description: Number of items per page + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: 'Filter for application scope, i.e: INBOUND or ALL' + in: query + name: applicationBoundaryScope + schema: + type: string + enum: + - ALL + - INBOUND responses: '200': content: application/json: example: items: - - boundaryScope: INBOUND - entityType: APPLICATION - id: e8krH1wNRV6daAo-NEmG8g - label: Robot Shop + - boundaryScope: INBOUND + entityType: APPLICATION + id: e8krH1wNRV6daAo-NEmG8g + label: Robot Shop page: 1 pageSize: 1 totalHits: 1 @@ -553,89 +562,94 @@ paths: $ref: '#/components/schemas/ApplicationResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get applications tags: - - Application Resources - x-ibm-ahub-byok: true + - Application Resources /api/application-monitoring/applications;id={applicationId}/services;id={serviceId}: get: - description: |- - Use this API endpoint if one wants to retrieve a list of services in an Application Perspective. - A use case could be to retrieve all service ids present in an Application Perspective. + description: >- + Use this API endpoint if one wants to retrieve a list of services in an + Application Perspective. - For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. + A use case could be to retrieve all service ids present in an + Application Perspective. + + + For more information on Application Resources please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. operationId: getApplicationServices parameters: - - in: path - name: applicationId - required: true - schema: - type: string - - in: path - name: serviceId - required: true - schema: - type: string - - description: Name of service (partial match allowed) - in: query - name: nameFilter - schema: - type: string - - description: Size of time window in milliseconds - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Timestamp since Unix Epoch in milliseconds of the end of the - time window - in: query - name: to - schema: - type: integer - format: int64 - - description: Page number from results - in: query - name: page - schema: - type: integer - format: int32 - - description: Number of items per page - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: 'Filter for application scope, i.e: INBOUND or ALL' - in: query - name: applicationBoundaryScope - schema: - type: string - enum: - - ALL - - INBOUND - - description: Include snapshot ids in the results - in: query - name: includeSnapshotIds - schema: - type: boolean + - in: path + name: applicationId + required: true + schema: + type: string + - in: path + name: serviceId + required: true + schema: + type: string + - description: Name of service (partial match allowed) + in: query + name: nameFilter + schema: + type: string + - description: Size of time window in milliseconds + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + Timestamp since Unix Epoch in milliseconds of the end of the time + window + in: query + name: to + schema: + type: integer + format: int64 + - description: Page number from results + in: query + name: page + schema: + type: integer + format: int32 + - description: Number of items per page + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: 'Filter for application scope, i.e: INBOUND or ALL' + in: query + name: applicationBoundaryScope + schema: + type: string + enum: + - ALL + - INBOUND + - description: Include snapshot ids in the results + in: query + name: includeSnapshotIds + schema: + type: boolean responses: '200': content: application/json: example: items: - - entityType: SERVICE - id: 79f1430f4a42a707a97621ca00617e40bd51c31d - label: www.paypal.com - snapshotIds: - - CywiRxmGIwtQIKezVs-XMcTX2xg - technologies: - - kafkaCluster - types: - - MESSAGING + - entityType: SERVICE + id: 79f1430f4a42a707a97621ca00617e40bd51c31d + label: www.paypal.com + snapshotIds: + - CywiRxmGIwtQIKezVs-XMcTX2xg + technologies: + - kafkaCluster + types: + - MESSAGING page: 1 pageSize: 1 totalHits: 1 @@ -643,105 +657,108 @@ paths: $ref: '#/components/schemas/ServiceResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get applications/services tags: - - Application Resources - x-ibm-ahub-byok: true + - Application Resources /api/application-monitoring/applications;id={applicationId}/services;id={serviceId}/endpoints;id={endpointId}: get: - description: |- + description: >- Use this API endpoint if one wants to retrieve a list of Endpoints. + A use case could be to view the endpoint id of an Endpoint. - For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. + + For more information on Application Resources please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. operationId: getApplicationEndpoints parameters: - - in: path - name: applicationId - required: true - schema: - type: string - - in: path - name: serviceId - required: true - schema: - type: string - - in: path - name: endpointId - required: true - schema: - type: string - - description: Name of service - in: query - name: nameFilter - schema: - type: string - - description: Type of Endpoint - in: query - name: types - schema: - type: array - items: - type: string - uniqueItems: true - - description: List of technologies - in: query - name: technologies - schema: - type: array - items: + - in: path + name: applicationId + required: true + schema: + type: string + - in: path + name: serviceId + required: true + schema: + type: string + - in: path + name: endpointId + required: true + schema: + type: string + - description: Name of service + in: query + name: nameFilter + schema: + type: string + - description: Type of Endpoint + in: query + name: types + schema: + type: array + items: + type: string + uniqueItems: true + - description: List of technologies + in: query + name: technologies + schema: + type: array + items: + type: string + uniqueItems: true + - description: Size of time window in milliseconds + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + Timestamp since Unix Epoch in milliseconds of the end of the time + window + in: query + name: to + schema: + type: integer + format: int64 + - description: Page number from results + in: query + name: page + schema: + type: integer + format: int32 + - description: Number of items per page + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: 'Filter for application scope, i.e: INBOUND or ALL' + in: query + name: applicationBoundaryScope + schema: type: string - uniqueItems: true - - description: Size of time window in milliseconds - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Timestamp since Unix Epoch in milliseconds of the end of the - time window - in: query - name: to - schema: - type: integer - format: int64 - - description: Page number from results - in: query - name: page - schema: - type: integer - format: int32 - - description: Number of items per page - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: 'Filter for application scope, i.e: INBOUND or ALL' - in: query - name: applicationBoundaryScope - schema: - type: string - enum: - - ALL - - INBOUND + enum: + - ALL + - INBOUND responses: '200': content: application/json: example: items: - - entityType: ENDPOINT - id: IWeMKSzcvJHijAQoaA-luyHriDQ - label: websites - serviceId: a25c02069636022456e6139ebfe4f4bfec23ae31 - synthetic: false - syntheticType: NON_SYNTHETIC - technologies: - - postgreSqlDatabase - type: DATABASE + - entityType: ENDPOINT + id: IWeMKSzcvJHijAQoaA-luyHriDQ + label: websites + serviceId: a25c02069636022456e6139ebfe4f4bfec23ae31 + synthetic: false + syntheticType: NON_SYNTHETIC + technologies: + - postgreSqlDatabase + type: DATABASE page: 1 pageSize: 1 totalHits: 1 @@ -749,184 +766,208 @@ paths: $ref: '#/components/schemas/EndpointResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get endpoints tags: - - Application Resources - x-ibm-ahub-byok: true + - Application Resources /api/application-monitoring/catalog: get: - description: |2- + description: >- - For more information on Application Catalog please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-catalog. + For more information on Application Catalog please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-catalog. operationId: getApplicationTagCatalog parameters: - - description: | - The start of the timestamp expreseed in Unix epoch time in milliseconds which will fetch list of queryable tags until current timestamp. - Eg: `1719875833000` (1 July 2024 23:17:13 GMT) will fetch list of queryable tags from that time till current time. - in: query - name: from - schema: - type: integer - format: int64 - - description: The source from where queryable tags should be fetched from. - In Unbounded Analytics, Application Perspectives has 2 sources; `Calls` - and `Traces`. - in: query - name: dataSource - schema: - type: string - enum: - - CALLS - - TRACES - - description: | - The subset of queryable tags that is available for a particular use case. - For eg: If you select `dataSource` as `TRACES` and useCase as `Grouping`. The tags available for querying are `trace.endpoint.name` and `trace.service.name`. - useCase is helpful when one wants to know which tags are supported for querying. - in: query - name: useCase - schema: - type: string - enum: - - GROUPING - - FILTERING - - SERVICE_MAPPING - - SMART_ALERTS - - SMART_ALERTS_LOGS - - SMART_ALERTS_ADAPTIVE_BASELINE - - SMART_ALERTS_CUSTOM_PAYLOAD - - SLI_MANAGEMENT - - APPLICATION_CONFIG - - APPLICATION_CONFIG_BLUEPRINT - - MAINTENANCE_WINDOWS - - BIZOPS_CUSTOM_DASHBOARDS_FILTERING + - description: > + The start of the timestamp expreseed in Unix epoch time in + milliseconds which will fetch list of queryable tags until current + timestamp. + + Eg: `1719875833000` (1 July 2024 23:17:13 GMT) will fetch list of + queryable tags from that time till current time. + in: query + name: from + schema: + type: integer + format: int64 + - description: >- + The source from where queryable tags should be fetched from. In + Unbounded Analytics, Application Perspectives has 2 sources; `Calls` + and `Traces`. + in: query + name: dataSource + schema: + type: string + enum: + - CALLS + - TRACES + - description: > + The subset of queryable tags that is available for a particular use + case. + + For eg: If you select `dataSource` as `TRACES` and useCase as + `Grouping`. The tags available for querying are + `trace.endpoint.name` and `trace.service.name`. + + useCase is helpful when one wants to know which tags are supported + for querying. + in: query + name: useCase + schema: + type: string + enum: + - GROUPING + - FILTERING + - SERVICE_MAPPING + - SMART_ALERTS + - SMART_ALERTS_LOGS + - SMART_ALERTS_ADAPTIVE_BASELINE + - SMART_ALERTS_ADAPTIVE_BASELINE_FAST_INIT + - SMART_ALERTS_CUSTOM_PAYLOAD + - SLI_MANAGEMENT + - APPLICATION_CONFIG + - APPLICATION_CONFIG_BLUEPRINT + - MAINTENANCE_WINDOWS + - BIZOPS_CUSTOM_DASHBOARDS_FILTERING responses: '200': content: application/json: example: tagTree: - - label: Agent - description: null - icon: null - children: - - label: Zone - icon: lib_views_tag - tagName: agent.zone - queryable: true - type: TAG - type: LEVEL - queryable: false + - label: Agent + description: null + icon: null + children: + - label: Zone + icon: lib_views_tag + tagName: agent.zone + queryable: true + type: TAG + type: LEVEL + queryable: false tags: - - name: marathon.label - label: Label - type: KEY_VALUE_PAIR - description: marathon label - canApplyToSource: true - canApplyToDestination: true - idTag: false + - name: marathon.label + label: Label + type: KEY_VALUE_PAIR + description: marathon label + canApplyToSource: true + canApplyToDestination: true + idTag: false dynamicTags: - - icon: otel - prefix: otel_resource - aliases: - - otel.resource - type: STRING_SET - categoryLabels: - - OpenTelemetry - - Resource - canApplyToSource: true - canApplyToDestination: true + - icon: otel + prefix: otel_resource + aliases: + - otel.resource + type: STRING_SET + categoryLabels: + - OpenTelemetry + - Resource + canApplyToSource: true + canApplyToDestination: true schema: $ref: '#/components/schemas/TagCatalog' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get application tag catalog tags: - - Application Catalog + - Application Catalog x-description: getApplicationTagsCatalog - x-ibm-ahub-byok: true /api/application-monitoring/catalog/metrics: get: - description: |2- + description: >- - For more information on Application Catalog please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-catalog. + For more information on Application Catalog please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-catalog. operationId: getApplicationCatalogMetrics responses: '200': content: application/json: example: - - metricId: calls - label: Call count - formatter: NUMBER - description: Number of received calls - aggregations: - - PER_SECOND - - SUM - defaultAggregation: null + - metricId: calls + label: Call count + formatter: NUMBER + description: Number of received calls + aggregations: + - PER_SECOND + - SUM + defaultAggregation: null schema: type: array items: $ref: '#/components/schemas/MetricDescription' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Metric catalog tags: - - Application Catalog + - Application Catalog x-description: getApplicationCatalogMetrics - x-ibm-ahub-byok: true /api/application-monitoring/catalog/tags: get: deprecated: true - description: |2- + description: >- - For more information on Application Catalog please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-catalog. + For more information on Application Catalog please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-catalog. operationId: getApplicationTags parameters: - - description: | - The start of the timestamp expreseed in Unix epoch time in milliseconds which will fetch list of queryable tags until current timestamp. - Eg: `1719875833000` (1 July 2024 23:17:13 GMT) will fetch list of queryable tags from that time till current time. - in: query - name: from - schema: - type: integer - format: int64 - - description: The source from where queryable tags should be fetched from. - In Unbounded Analytics, Application Perspectives has 2 sources; `Calls` - and `Traces`. - in: query - name: dataSource - schema: - type: string - enum: - - CALLS - - TRACES - - description: | - The subset of queryable tags that is available for a particular use case. - For eg: If you select `dataSource` as `TRACES` and useCase as `Grouping`. The tags available for querying are `trace.endpoint.name` and `trace.service.name`. - useCase is helpful when one wants to know which tags are supported for querying. - in: query - name: useCase - schema: - type: string - enum: - - GROUPING - - FILTERING - - SERVICE_MAPPING - - SMART_ALERTS - - SMART_ALERTS_LOGS - - SMART_ALERTS_ADAPTIVE_BASELINE - - SMART_ALERTS_CUSTOM_PAYLOAD - - SLI_MANAGEMENT - - APPLICATION_CONFIG - - APPLICATION_CONFIG_BLUEPRINT - - MAINTENANCE_WINDOWS - - BIZOPS_CUSTOM_DASHBOARDS_FILTERING + - description: > + The start of the timestamp expreseed in Unix epoch time in + milliseconds which will fetch list of queryable tags until current + timestamp. + + Eg: `1719875833000` (1 July 2024 23:17:13 GMT) will fetch list of + queryable tags from that time till current time. + in: query + name: from + schema: + type: integer + format: int64 + - description: >- + The source from where queryable tags should be fetched from. In + Unbounded Analytics, Application Perspectives has 2 sources; `Calls` + and `Traces`. + in: query + name: dataSource + schema: + type: string + enum: + - CALLS + - TRACES + - description: > + The subset of queryable tags that is available for a particular use + case. + + For eg: If you select `dataSource` as `TRACES` and useCase as + `Grouping`. The tags available for querying are + `trace.endpoint.name` and `trace.service.name`. + + useCase is helpful when one wants to know which tags are supported + for querying. + in: query + name: useCase + schema: + type: string + enum: + - GROUPING + - FILTERING + - SERVICE_MAPPING + - SMART_ALERTS + - SMART_ALERTS_LOGS + - SMART_ALERTS_ADAPTIVE_BASELINE + - SMART_ALERTS_ADAPTIVE_BASELINE_FAST_INIT + - SMART_ALERTS_CUSTOM_PAYLOAD + - SLI_MANAGEMENT + - APPLICATION_CONFIG + - APPLICATION_CONFIG_BLUEPRINT + - MAINTENANCE_WINDOWS + - BIZOPS_CUSTOM_DASHBOARDS_FILTERING responses: '200': content: @@ -937,29 +978,35 @@ paths: $ref: '#/components/schemas/Tag' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get application tags tags: - - Application Catalog + - Application Catalog x-description: getApplicationCatalogTags - x-ibm-ahub-byok: true /api/application-monitoring/metrics/applications: post: - description: |- - Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for an Application Perspective. - For eg: retrieve `MEAN` aggregation of `latency` metric for an Application Perspective `app`. + description: >- + Use this API endpoint if one wants to retrieve one or more supported + aggregation of supported metrics for an Application Perspective. + + For eg: retrieve `MEAN` aggregation of `latency` metric for an + Application Perspective `app`. + For more information on supported metrics, refer `Get Metric catalog`. - For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. + + For more information on Application Metrics please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. operationId: getApplicationMetrics parameters: - - description: If enabled, fill the missing data points in the metric result - with timestamp and value 0. - in: query - name: fillTimeSeries - schema: - type: boolean + - description: >- + If enabled, fill the missing data points in the metric result with + timestamp and value 0. + in: query + name: fillTimeSeries + schema: + type: boolean requestBody: content: application/json: @@ -970,8 +1017,8 @@ paths: be provided in "metrics" as well value: metrics: - - aggregation: MEAN - metric: latency + - aggregation: MEAN + metric: latency order: by: latency.mean direction: DESC @@ -990,15 +1037,15 @@ paths: application/json: example: items: - - application: - id: Jv83WpUmSKiiCWIpi-reSQ - label: demoApp - boundaryScope: ALL - entityType: APPLICATION - metrics: - latency.mean: - - - 1669190580000 - - 4.0 + - application: + id: Jv83WpUmSKiiCWIpi-reSQ + label: demoApp + boundaryScope: ALL + entityType: APPLICATION + metrics: + latency.mean: + - - 1669190580000 + - 4 page: 1 pageSize: 1 totalHits: 1616 @@ -1009,42 +1056,49 @@ paths: $ref: '#/components/schemas/ApplicationMetricResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Application Metrics tags: - - Application Metrics - x-ibm-ahub-byok: true + - Application Metrics /api/application-monitoring/metrics/endpoints: post: - description: |- - Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for an Endpoint. - For eg: retrieve `MEAN` aggregation of `latency` metric for an Endpoint `GET /api/foo`. + description: >- + Use this API endpoint if one wants to retrieve one or more supported + aggregation of supported metrics for an Endpoint. + + For eg: retrieve `MEAN` aggregation of `latency` metric for an Endpoint + `GET /api/foo`. + For more information on supported metrics, refer `Get Metric catalog`. - For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. + + For more information on Application Metrics please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. operationId: getEndpointsMetrics parameters: - - description: If enabled, fill the missing data points in the metric result - with timestamp and value 0. - in: query - name: fillTimeSeries - schema: - type: boolean + - description: >- + If enabled, fill the missing data points in the metric result with + timestamp and value 0. + in: query + name: fillTimeSeries + schema: + type: boolean requestBody: content: application/json: examples: metrics/endpoints: - description: | - Order by is supported for following attributes: endpointLabel or valid metrics if provided such as latency.mean + description: > + Order by is supported for following attributes: endpointLabel + or valid metrics if provided such as latency.mean value: applicationBoundaryScope: ALL endpointId: murzTwzJlGyqc_CFtEKx8INVCfY excludeSynthetic: true metrics: - - aggregation: MEAN - metric: latency + - aggregation: MEAN + metric: latency order: by: latency.mean direction: ASC @@ -1063,21 +1117,21 @@ paths: application/json: example: items: - - endpoint: - id: murzTwzJlGyqc_CFtEKx8INVCfY - label: robot-shop - type: MESSAGING - serviceId: 05b145cfb6fbc24d08a8e01155c0aa2bf8460c87 - technologies: - - golangRuntimePlatform - - kubernetesService - syntheticType: NON_SYNTHETIC - synthetic: false - entityType: ENDPOINT - metrics: - latency.mean: - - - 1669190580000 - - 2434.5625 + - endpoint: + id: murzTwzJlGyqc_CFtEKx8INVCfY + label: robot-shop + type: MESSAGING + serviceId: 05b145cfb6fbc24d08a8e01155c0aa2bf8460c87 + technologies: + - golangRuntimePlatform + - kubernetesService + syntheticType: NON_SYNTHETIC + synthetic: false + entityType: ENDPOINT + metrics: + latency.mean: + - - 1669190580000 + - 2434.5625 page: 1 pageSize: 1 totalHits: 1 @@ -1088,46 +1142,53 @@ paths: $ref: '#/components/schemas/EndpointMetricResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Endpoint metrics tags: - - Application Metrics - x-ibm-ahub-byok: true + - Application Metrics /api/application-monitoring/metrics/services: post: - description: |- - Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for a Service. - For eg: retrieve `MEAN` aggregation of `latency` metric for a Service `payment`. + description: >- + Use this API endpoint if one wants to retrieve one or more supported + aggregation of supported metrics for a Service. + + For eg: retrieve `MEAN` aggregation of `latency` metric for a Service + `payment`. + For more information on supported metrics, refer `Get Metric catalog`. - For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. + + For more information on Application Metrics please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. operationId: getServicesMetrics parameters: - - description: If enabled, fill the missing data points in the metric result - with timestamp and value 0. - in: query - name: fillTimeSeries - schema: - type: boolean - - in: query - name: includeSnapshotIds - schema: - type: boolean + - description: >- + If enabled, fill the missing data points in the metric result with + timestamp and value 0. + in: query + name: fillTimeSeries + schema: + type: boolean + - in: query + name: includeSnapshotIds + schema: + type: boolean requestBody: content: application/json: examples: metrics/services: - description: | - Order by is supported for following attributes: types, technologies, serviceLabel and + description: > + Order by is supported for following attributes: types, + technologies, serviceLabel and valid metrics if provided such as latency.mean value: applicationBoundaryScope: ALL contextScope: NONE metrics: - - aggregation: mean - metric: latency + - aggregation: mean + metric: latency order: by: latency.mean direction: DESC @@ -1136,7 +1197,7 @@ paths: pageSize: 1 serviceId: c467ca0fa21477fee3cde75a140b2963307388a7 technologies: - - springbootApplicationContainer + - springbootApplicationContainer timeFrame: to: 1669190589000 windowSize: 3600000 @@ -1149,20 +1210,19 @@ paths: application/json: example: items: - - service: - id: c467ca0fa21477fee3cde75a140b2963307388a7 - label: discount - types: - - HTTP - technologies: - - springbootApplicationContainer - snapshotIds: [ - ] - entityType: SERVICE - metrics: - endpoints.distinct_count: - - - 1669190580000 - - 4.0 + - service: + id: c467ca0fa21477fee3cde75a140b2963307388a7 + label: discount + types: + - HTTP + technologies: + - springbootApplicationContainer + snapshotIds: [] + entityType: SERVICE + metrics: + endpoints.distinct_count: + - - 1669190580000 + - 4 page: 1 pageSize: 1 totalHits: 1 @@ -1173,71 +1233,74 @@ paths: $ref: '#/components/schemas/ServiceMetricResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Service metrics tags: - - Application Metrics - x-ibm-ahub-byok: true + - Application Metrics /api/application-monitoring/services: get: - description: |- + description: >- Use this API endpoint if one wants to retrieve a list of Services. + A use case could be to view the service id of a Service. - For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. + + For more information on Application Resources please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources. operationId: getServices parameters: - - description: Name of service - in: query - name: nameFilter - schema: - type: string - - description: Size of time window in milliseconds - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Timestamp since Unix Epoch in milliseconds of the end of the - time window - in: query - name: to - schema: - type: integer - format: int64 - - description: Page number from results - in: query - name: page - schema: - type: integer - format: int32 - - description: Number of items per page - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: Include snapshot ids in the results - in: query - name: includeSnapshotIds - schema: - type: boolean + - description: Name of service + in: query + name: nameFilter + schema: + type: string + - description: Size of time window in milliseconds + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + Timestamp since Unix Epoch in milliseconds of the end of the time + window + in: query + name: to + schema: + type: integer + format: int64 + - description: Page number from results + in: query + name: page + schema: + type: integer + format: int32 + - description: Number of items per page + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: Include snapshot ids in the results + in: query + name: includeSnapshotIds + schema: + type: boolean responses: '200': content: application/json: example: items: - - entityType: SERVICE - id: 79f1430f4a42a707a97621ca00617e40bd51c31d - label: Robot Shop - snapshotIds: - - CywiRxmGIwtQIKezVs-XMcTX2xg - technologies: - - kafkaCluster - types: - - MESSAGING + - entityType: SERVICE + id: 79f1430f4a42a707a97621ca00617e40bd51c31d + label: Robot Shop + snapshotIds: + - CywiRxmGIwtQIKezVs-XMcTX2xg + technologies: + - kafkaCluster + types: + - MESSAGING page: 1 pageSize: 1 totalHits: 1 @@ -1245,96 +1308,110 @@ paths: $ref: '#/components/schemas/ServiceResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get services tags: - - Application Resources - x-ibm-ahub-byok: true + - Application Resources /api/application-monitoring/settings/application: get: - description: |- - Use this API endpoint if one wants to retrieve a list of all Application Perspectives with their configuration settings. + description: >- + Use this API endpoint if one wants to retrieve a list of all Application + Perspectives with their configuration settings. + This endpoint requires `canConfigureApplications` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Configuration of applications` to `true`. + + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureApplications` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Configuration of applications` to `true`. + ## Deprecated Parameters - **matchSpecification:** A binary tree sturcture of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + **matchSpecification:** A binary tree sturcture of match expression + connected with binary operator AND or OR. It is replaced by + **tagFilterExpression** which is also used in Application Analyze API + endpoints. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getApplicationConfigs responses: '200': content: application/json: example: - - id: CxJ55sRbQwqBIfw5DzpRmQ - label: Discount Canary Build 6987 - matchSpecification: null - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - - type: TAG_FILTER - name: kubernetes.label - stringValue: stage=canary - numberValue: null - booleanValue: null - key: stage - value: canary - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: build=6987 - numberValue: null - booleanValue: null - key: build - value: '6987' - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: app=discount - numberValue: null - booleanValue: null - key: app - value: discount - operator: EQUALS - entity: DESTINATION - scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING - boundaryScope: INBOUND - accessRules: - - accessType: READ_WRITE - relationType: GLOBAL - relatedId: null + - id: CxJ55sRbQwqBIfw5DzpRmQ + label: Discount Canary Build 6987 + matchSpecification: null + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: kubernetes.label + stringValue: stage=canary + numberValue: null + booleanValue: null + key: stage + value: canary + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: build=6987 + numberValue: null + booleanValue: null + key: build + value: '6987' + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: app=discount + numberValue: null + booleanValue: null + key: app + value: discount + operator: EQUALS + entity: DESTINATION + scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING + boundaryScope: INBOUND + accessRules: + - accessType: READ_WRITE + relationType: GLOBAL + relatedId: null schema: type: array items: $ref: '#/components/schemas/ApplicationConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: All Application configurations tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings post: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: addApplicationConfig requestBody: content: application/json: example: accessRules: - - accessType: READ_WRITE - relationType: GLOBAL - relatedId: null + - accessType: READ_WRITE + relationType: GLOBAL + relatedId: null boundaryScope: INBOUND label: Discount Build 6987 scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING @@ -1342,49 +1419,6 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: kubernetes.label - stringValue: stage=canary - numberValue: null - booleanValue: null - key: stage - value: canary - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: build=6987 - numberValue: null - booleanValue: null - key: build - value: '6987' - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: app=discount - numberValue: null - booleanValue: null - key: app - value: discount - operator: EQUALS - entity: DESTINATION - schema: - $ref: '#/components/schemas/NewApplicationConfig' - required: true - x-payload: addApplicationConfig - responses: - '200': - content: - application/json: - example: - id: oLyuFtIfQ3eKzAqM5vBGkQ - label: Discount Build 6987 - matchSpecification: null - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - type: TAG_FILTER name: kubernetes.label stringValue: stage=canary @@ -1412,42 +1446,98 @@ paths: value: discount operator: EQUALS entity: DESTINATION + schema: + $ref: '#/components/schemas/NewApplicationConfig' + required: true + x-payload: addApplicationConfig + responses: + '200': + content: + application/json: + example: + id: oLyuFtIfQ3eKzAqM5vBGkQ + label: Discount Build 6987 + matchSpecification: null + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: kubernetes.label + stringValue: stage=canary + numberValue: null + booleanValue: null + key: stage + value: canary + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: build=6987 + numberValue: null + booleanValue: null + key: build + value: '6987' + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: app=discount + numberValue: null + booleanValue: null + key: app + value: discount + operator: EQUALS + entity: DESTINATION scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING boundaryScope: INBOUND accessRules: - - accessType: READ_WRITE - relationType: GLOBAL - relatedId: null + - accessType: READ_WRITE + relationType: GLOBAL + relatedId: null schema: $ref: '#/components/schemas/ApplicationConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Add application configuration tags: - - Application Settings + - Application Settings x-description: addApplicationConfig - x-ibm-ahub-byok: true /api/application-monitoring/settings/application/{id}: delete: - description: |- - Use this API endpoint if one wants to delete an Application Perspective. This endpoint requires `canConfigureApplications` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. + description: >- + Use this API endpoint if one wants to delete an Application Perspective. + This endpoint requires `canConfigureApplications` permission. + + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureApplications` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + ## Deprecated Parameters - **matchSpecification:** A binary tree structure of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + **matchSpecification:** A binary tree structure of match expression + connected with binary operator AND or OR. It is replaced by + **tagFilterExpression** which is also used in Application Analyze API + endpoints. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: deleteApplicationConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.' + - in: path + name: id + required: true + schema: + type: string + description: >- + Unique ID of the Application Perspective. Eg: + `Av62RoIKQv-A3n6DbMQh9g`. responses: '204': description: Successful - no content to return. @@ -1456,32 +1546,48 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Delete application configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings get: - description: |- - Use this API endpoint if one wants to retrieve an Application Perspective with its configuration setting. + description: >- + Use this API endpoint if one wants to retrieve an Application + Perspective with its configuration setting. + This endpoint requires `canConfigureApplications` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Configuration of applications` to `true`. + + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureApplications` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Configuration of applications` to `true`. + ## Deprecated Parameters - **matchSpecification:** A binary tree structure of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + **matchSpecification:** A binary tree structure of match expression + connected with binary operator AND or OR. It is replaced by + **tagFilterExpression** which is also used in Application Analyze API + endpoints. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getApplicationConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.' + - in: path + name: id + required: true + schema: + type: string + description: >- + Unique ID of the Application Perspective. Eg: + `Av62RoIKQv-A3n6DbMQh9g`. responses: '200': content: @@ -1494,39 +1600,39 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: kubernetes.label - stringValue: stage=canary - numberValue: null - booleanValue: null - key: stage - value: canary - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: build=6987 - numberValue: null - booleanValue: null - key: build - value: '6987' - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: app=discount - numberValue: null - booleanValue: null - key: app - value: discount - operator: EQUALS - entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: stage=canary + numberValue: null + booleanValue: null + key: stage + value: canary + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: build=6987 + numberValue: null + booleanValue: null + key: build + value: '6987' + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: app=discount + numberValue: null + booleanValue: null + key: app + value: discount + operator: EQUALS + entity: DESTINATION scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING boundaryScope: INBOUND accessRules: - - accessType: READ_WRITE - relationType: GLOBAL - relatedId: null + - accessType: READ_WRITE + relationType: GLOBAL + relatedId: null schema: $ref: '#/components/schemas/ApplicationConfig' description: OK @@ -1535,31 +1641,33 @@ paths: '404': description: No config found for provided application id security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Application configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings put: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: putApplicationConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.' + - in: path + name: id + required: true + schema: + type: string + description: >- + Unique ID of the Application Perspective. Eg: + `Av62RoIKQv-A3n6DbMQh9g`. requestBody: content: application/json: example: accessRules: - - accessType: READ - relationType: ROLE + - accessType: READ + relationType: ROLE boundaryScope: INBOUND id: CxJ55sRbQwqBIfw5DzpRmQ label: Discount Build 1 @@ -1568,49 +1676,6 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: kubernetes.label - stringValue: stage=canary - numberValue: null - booleanValue: null - key: stage - value: canary - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: build=6987 - numberValue: null - booleanValue: null - key: build - value: '6987' - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: kubernetes.label - stringValue: app=discount - numberValue: null - booleanValue: null - key: app - value: discount - operator: EQUALS - entity: DESTINATION - schema: - $ref: '#/components/schemas/ApplicationConfig' - required: true - x-payload: putApplicationConfig - responses: - '200': - content: - application/json: - example: - id: CxJ55sRbQwqBIfw5DzpRmQ - label: Discount Canary Build 6987 - matchSpecification: null - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - type: TAG_FILTER name: kubernetes.label stringValue: stage=canary @@ -1638,70 +1703,131 @@ paths: value: discount operator: EQUALS entity: DESTINATION + schema: + $ref: '#/components/schemas/ApplicationConfig' + required: true + x-payload: putApplicationConfig + responses: + '200': + content: + application/json: + example: + id: CxJ55sRbQwqBIfw5DzpRmQ + label: Discount Canary Build 6987 + matchSpecification: null + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: kubernetes.label + stringValue: stage=canary + numberValue: null + booleanValue: null + key: stage + value: canary + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: build=6987 + numberValue: null + booleanValue: null + key: build + value: '6987' + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: kubernetes.label + stringValue: app=discount + numberValue: null + booleanValue: null + key: app + value: discount + operator: EQUALS + entity: DESTINATION scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING boundaryScope: INBOUND accessRules: - - accessType: READ_WRITE - relationType: GLOBAL - relatedId: null + - accessType: READ_WRITE + relationType: GLOBAL + relatedId: null schema: $ref: '#/components/schemas/ApplicationConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Update application configuration tags: - - Application Settings + - Application Settings x-description: updateApplicationConfig - x-ibm-ahub-byok: true /api/application-monitoring/settings/endpoint: get: - description: |- - Use this API endpoint if one wants to retrieve a list of all endpoint configurations. + description: >- + Use this API endpoint if one wants to retrieve a list of all endpoint + configurations. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getEndpointConfigs responses: '200': content: application/json: example: - - serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd - endpointCase: LOWER - endpointNameByFirstPathSegmentRuleEnabled: false - endpointNameByCollectedPathTemplateRuleEnabled: false - rules: null - - serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd - endpointCase: UPPER - endpointNameByFirstPathSegmentRuleEnabled: false - endpointNameByCollectedPathTemplateRuleEnabled: false - rules: null + - serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd + endpointCase: LOWER + endpointNameByFirstPathSegmentRuleEnabled: false + endpointNameByCollectedPathTemplateRuleEnabled: false + rules: null + - serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd + endpointCase: UPPER + endpointNameByFirstPathSegmentRuleEnabled: false + endpointNameByCollectedPathTemplateRuleEnabled: false + rules: null schema: type: array items: $ref: '#/components/schemas/EndpointConfig' description: OK security: - - ApiKeyAuth: - - CanConfigureServiceMapping + - ApiKeyAuth: + - CanConfigureServiceMapping summary: All Endpoint configurations tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings post: - description: |- - Use this API endpoint if one wants to create an endpoint configuration of a service. + description: >- + Use this API endpoint if one wants to create an endpoint configuration + of a service. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: createEndpointConfig requestBody: content: @@ -1730,33 +1856,49 @@ paths: $ref: '#/components/schemas/EndpointConfig' description: OK security: - - ApiKeyAuth: - - CanConfigureServiceMapping + - ApiKeyAuth: + - CanConfigureServiceMapping summary: Create endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/settings/endpoint/{id}: delete: - description: |- - Use this API endpoint if one wants to delete an endpoint configuration of a service. + description: >- + Use this API endpoint if one wants to delete an endpoint configuration + of a service. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: deleteEndpointConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + - in: path + name: id + required: true + schema: + type: string + description: > + An Instana generated unique identifier for a Service. If + specified, the list of results will be filtered for the specified + Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. responses: '204': description: Successful - no content to return. @@ -1765,32 +1907,48 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureServiceMapping + - ApiKeyAuth: + - CanConfigureServiceMapping summary: Delete endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings get: - description: |- - Use this API endpoint if one wants to retrieve the endpoint configuration of a service. + description: >- + Use this API endpoint if one wants to retrieve the endpoint + configuration of a service. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getEndpointConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + - in: path + name: id + required: true + schema: + type: string + description: > + An Instana generated unique identifier for a Service. If + specified, the list of results will be filtered for the specified + Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. responses: '200': content: @@ -1809,32 +1967,48 @@ paths: '404': description: No config found for provided service id security: - - ApiKeyAuth: - - CanConfigureServiceMapping + - ApiKeyAuth: + - CanConfigureServiceMapping summary: Endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings put: - description: |- - Use this API endpoint if one wants to update an existing endpoint configuration of a service. + description: >- + Use this API endpoint if one wants to update an existing endpoint + configuration of a service. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: updateEndpointConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + - in: path + name: id + required: true + schema: + type: string + description: > + An Instana generated unique identifier for a Service. If + specified, the list of results will be filtered for the specified + Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. requestBody: content: application/json: @@ -1843,14 +2017,14 @@ paths: endpointNameByCollectedPathTemplateRuleEnabled: true endpointNameByFirstPathSegmentRuleEnabled: true rules: - - enabled: true - pathSegments: - - name: api - type: FIXED - - name: version - type: PARAMETER - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - name: api + type: FIXED + - name: version + type: PARAMETER + testCases: + - /api/v2/users endpointCase: UPPER schema: $ref: '#/components/schemas/EndpointConfig' @@ -1865,36 +2039,45 @@ paths: endpointNameByCollectedPathTemplateRuleEnabled: true endpointNameByFirstPathSegmentRuleEnabled: true rules: - - enabled: true - pathSegments: - - name: api - type: FIXED - - name: version - type: PARAMETER - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - name: api + type: FIXED + - name: version + type: PARAMETER + testCases: + - /api/v2/users endpointCase: UPPER schema: $ref: '#/components/schemas/EndpointConfig' description: OK security: - - ApiKeyAuth: - - CanConfigureServiceMapping + - ApiKeyAuth: + - CanConfigureServiceMapping summary: Update endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/settings/http-endpoint: get: deprecated: true - description: |- - This is a deprecated endpoint. Use `All Endpoint configurations` instead. + description: >- + This is a deprecated endpoint. Use `All Endpoint configurations` + instead. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getHttpEndpointConfigs responses: '200': @@ -1905,37 +2088,46 @@ paths: endpointNameByFirstPathSegmentRuleEnabled: true endpointNameByCollectedPathTemplateRuleEnabled: true rules: - - enabled: true - pathSegments: - - name: api - type: FIXED - - name: version - type: PARAMETER - - type: MATCH_ALL - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - name: api + type: FIXED + - name: version + type: PARAMETER + - type: MATCH_ALL + testCases: + - /api/v2/users schema: type: array items: $ref: '#/components/schemas/HttpEndpointConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: All HTTP endpoint configurations tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings post: deprecated: true - description: |- - This is a deprecated endpoint. Use `Create endpoint configuration` instead. + description: >- + This is a deprecated endpoint. Use `Create endpoint configuration` + instead. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: createHttpEndpointConfig requestBody: content: @@ -1944,11 +2136,11 @@ paths: endpointNameByCollectedPathTemplateRuleEnabled: true endpointNameByFirstPathSegmentRuleEnabled: true rules: - - enabled: true - pathSegments: - - type: MATCH_ALL - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - type: MATCH_ALL + testCases: + - /api/v2/users serviceId: 20ba31821b079e7d845a08096124880db3eeeb40 schema: $ref: '#/components/schemas/HttpEndpointConfig' @@ -1963,77 +2155,107 @@ paths: endpointNameByFirstPathSegmentRuleEnabled: true endpointNameByCollectedPathTemplateRuleEnabled: true rules: - - enabled: true - pathSegments: - - type: MATCH_ALL - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - type: MATCH_ALL + testCases: + - /api/v2/users schema: $ref: '#/components/schemas/HttpEndpointConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Create HTTP endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/settings/http-endpoint/{id}: delete: deprecated: true - description: |- - This is a deprecated endpoint. Use `Delete endpoint configuration` instead. + description: >- + This is a deprecated endpoint. Use `Delete endpoint configuration` + instead. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: deleteHttpEndpointConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + - in: path + name: id + required: true + schema: + type: string + description: > + An Instana generated unique identifier for a Service. If + specified, the list of results will be filtered for the specified + Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Delete HTTP endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings get: deprecated: true - description: |- + description: >- This is a deprecated endpoint. Use `Endpoint configuration` instead. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getHttpEndpointConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + - in: path + name: id + required: true + schema: + type: string + description: > + An Instana generated unique identifier for a Service. If + specified, the list of results will be filtered for the specified + Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. responses: '200': content: @@ -2042,47 +2264,63 @@ paths: endpointNameByCollectedPathTemplateRuleEnabled: true endpointNameByFirstPathSegmentRuleEnabled: true rules: - - enabled: true - pathSegments: - - name: api - type: FIXED - - name: version - type: PARAMETER - - type: MATCH_ALL - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - name: api + type: FIXED + - name: version + type: PARAMETER + - type: MATCH_ALL + testCases: + - /api/v2/users serviceId: 20ba31821b079e7d845a08096124880db3eeeb47 schema: $ref: '#/components/schemas/HttpEndpointConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: HTTP Endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings put: deprecated: true - description: |- - This is a deprecated endpoint. Use `Update endpoint configuration` instead. + description: >- + This is a deprecated endpoint. Use `Update endpoint configuration` + instead. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: updateHttpEndpointConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + - in: path + name: id + required: true + schema: + type: string + description: > + An Instana generated unique identifier for a Service. If + specified, the list of results will be filtered for the specified + Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. requestBody: content: application/json: @@ -2090,15 +2328,15 @@ paths: endpointNameByCollectedPathTemplateRuleEnabled: true endpointNameByFirstPathSegmentRuleEnabled: true rules: - - enabled: true - pathSegments: - - name: api - type: FIXED - - name: version - type: PARAMETER - - type: MATCH_ALL - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - name: api + type: FIXED + - name: version + type: PARAMETER + - type: MATCH_ALL + testCases: + - /api/v2/users serviceId: 20ba31821b079e7d845a08096124880db3eeeb40 schema: $ref: '#/components/schemas/HttpEndpointConfig' @@ -2112,69 +2350,69 @@ paths: endpointNameByCollectedPathTemplateRuleEnabled: true endpointNameByFirstPathSegmentRuleEnabled: true rules: - - enabled: true - pathSegments: - - name: api - type: FIXED - - name: version - type: PARAMETER - - type: MATCH_ALL - testCases: - - /api/v2/users + - enabled: true + pathSegments: + - name: api + type: FIXED + - name: version + type: PARAMETER + - type: MATCH_ALL + testCases: + - /api/v2/users serviceId: 20ba31821b079e7d845a08096124880db3eeeb40 schema: $ref: '#/components/schemas/HttpEndpointConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Update HTTP endpoint configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/settings/manual-service: get: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getAllManualServiceConfigs responses: '200': content: application/json: example: - - id: wh49Z209S82aGvRl8ZZ0dQ - tagFilterExpression: - type: TAG_FILTER - name: call.database.connection - stringValue: redis:6379 - numberValue: null - booleanValue: null - key: null - value: redis:6379 - operator: EQUALS - entity: NOT_APPLICABLE - unmonitoredServiceName: null - existingServiceId: 2224a6ad91373ef2504dc6b5795d421bff8e4a4d - description: null - enabled: true + - id: wh49Z209S82aGvRl8ZZ0dQ + tagFilterExpression: + type: TAG_FILTER + name: call.database.connection + stringValue: redis:6379 + numberValue: null + booleanValue: null + key: null + value: redis:6379 + operator: EQUALS + entity: NOT_APPLICABLE + unmonitoredServiceName: null + existingServiceId: 2224a6ad91373ef2504dc6b5795d421bff8e4a4d + description: null + enabled: true schema: type: array items: $ref: '#/components/schemas/ManualServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: All manual service configurations tags: - - Application Settings + - Application Settings x-description: getAllManualServiceConfigs - x-ibm-ahub-byok: true post: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: addManualServiceConfig requestBody: content: @@ -2221,47 +2459,25 @@ paths: $ref: '#/components/schemas/ManualServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Add manual service configuration tags: - - Application Settings + - Application Settings x-description: addManualServiceConfigs - x-ibm-ahub-byok: true put: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: replaceAllManualServiceConfigs requestBody: content: application/json: example: - - description: Map source service - enabled: true - existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7 - tagFilterExpression: - type: TAG_FILTER - name: service.name - stringValue: front - numberValue: null - booleanValue: null - key: null - value: front - operator: EQUALS - entity: SOURCE - unmonitoredServiceName: null - schema: - type: array - items: - $ref: '#/components/schemas/NewManualServiceConfig' - required: true - responses: - '200': - content: - application/json: - example: - - id: undcnbu-S7OWi_4q4BnG4Q + - description: Map source service + enabled: true + existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7 tagFilterExpression: type: TAG_FILTER name: service.name @@ -2273,61 +2489,82 @@ paths: operator: EQUALS entity: SOURCE unmonitoredServiceName: null - existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7 - description: Map source service - enabled: true + schema: + type: array + items: + $ref: '#/components/schemas/NewManualServiceConfig' + required: true + responses: + '200': + content: + application/json: + example: + - id: undcnbu-S7OWi_4q4BnG4Q + tagFilterExpression: + type: TAG_FILTER + name: service.name + stringValue: front + numberValue: null + booleanValue: null + key: null + value: front + operator: EQUALS + entity: SOURCE + unmonitoredServiceName: null + existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7 + description: Map source service + enabled: true schema: type: array items: $ref: '#/components/schemas/ManualServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Replace all manual service configurations tags: - - Application Settings + - Application Settings x-description: replaceAllManualServiceConfigs - x-ibm-ahub-byok: true /api/application-monitoring/settings/manual-service/{id}: delete: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: deleteManualServiceConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: A unique id of the manual service configuration. + - in: path + name: id + required: true + schema: + type: string + description: A unique id of the manual service configuration. responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Delete manual service configuration tags: - - Application Settings + - Application Settings x-description: deleteManualServiceConfigs - x-ibm-ahub-byok: true put: - description: |2- + description: >- - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: updateManualServiceConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: A unique id of the manual service configuration. + - in: path + name: id + required: true + schema: + type: string + description: A unique id of the manual service configuration. requestBody: content: application/json: @@ -2374,64 +2611,86 @@ paths: $ref: '#/components/schemas/ManualServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Update manual service configuration tags: - - Application Settings + - Application Settings x-description: updateManualServiceConfigs - x-ibm-ahub-byok: true /api/application-monitoring/settings/service: get: - description: |- - Use this API endpoint if one wants to retrive a list of all service configurations. + description: >- + Use this API endpoint if one wants to retrive a list of all service + configurations. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. - operationId: getServiceConfigs - responses: + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + operationId: getServiceConfigs + responses: '200': content: application/json: example: - - id: MyhomcyCRz2DF3O2KNXpGg - name: Rule - comment: null - label: '{docker.container.name}' - enabled: false - matchSpecification: - - key: docker.container.name - value: .* + - id: MyhomcyCRz2DF3O2KNXpGg + name: Rule + comment: null + label: '{docker.container.name}' + enabled: false + matchSpecification: + - key: docker.container.name + value: .* schema: type: array items: $ref: '#/components/schemas/ServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: All service configurations tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings post: - description: |- + description: >- Use this API endpoint if one wants to create a custom service rule. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. + + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + ## Errata: + The following field is documented in the request schema: - - The `id` field is not mandatory and one can't have a service configuration id before creating one configuration. + + - The `id` field is not mandatory and one can't have a service + configuration id before creating one configuration. + Instana creates it automatically. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: addServiceConfig requestBody: content: @@ -2441,10 +2700,10 @@ paths: enabled: true label: '{gce.zone}-{jvm.args.abc}' matchSpecification: - - key: gce.zone - value: .* - - key: jvm.args.abc - value: .* + - key: gce.zone + value: .* + - key: jvm.args.abc + value: .* name: ABC is good schema: $ref: '#/components/schemas/ServiceConfig' @@ -2461,42 +2720,51 @@ paths: label: '{gce.zone}-{jvm.args.abc}' enabled: true matchSpecification: - - key: gce.zone - value: .* - - key: jvm.args.abc - value: .* + - key: gce.zone + value: .* + - key: jvm.args.abc + value: .* schema: $ref: '#/components/schemas/ServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Add service configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings put: - description: |- - Use this API endpoint if one wants to modify 1 or more existing service configuration. + description: >- + Use this API endpoint if one wants to modify 1 or more existing service + configuration. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: replaceAll requestBody: content: application/json: example: - - comment: null - enabled: true - id: 8C-jGYx8Rsue854tzkh8KQ - label: '{docker.container.name}' - matchSpecification: - - key: docker.container.name - value: .* - name: Rule + - comment: null + enabled: true + id: 8C-jGYx8Rsue854tzkh8KQ + label: '{docker.container.name}' + matchSpecification: + - key: docker.container.name + value: .* + name: Rule schema: type: array items: @@ -2507,44 +2775,55 @@ paths: content: application/json: example: - - id: 9uma4MhnTTSyBzwu_FKBJA - name: Rule - comment: null - label: '{docker.container.name}' - enabled: true - matchSpecification: - - key: docker.container.name - value: .* + - id: 9uma4MhnTTSyBzwu_FKBJA + name: Rule + comment: null + label: '{docker.container.name}' + enabled: true + matchSpecification: + - key: docker.container.name + value: .* schema: type: array items: $ref: '#/components/schemas/ServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Replace all service configurations tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/settings/service/order: put: - description: |- - Use this API endpoint if one wants to change the order of service configurations aka custom service rules. - Note that all service configuration IDs have to be passed in the request to re-order the configurations. + description: >- + Use this API endpoint if one wants to change the order of service + configurations aka custom service rules. + + Note that all service configuration IDs have to be passed in the request + to re-order the configurations. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: orderServiceConfig requestBody: content: application/json: example: - - 9uma4MhnTTSyBzwu_FKBJA - - oMsVfR0fSCuTKF2TFdYRmQ + - 9uma4MhnTTSyBzwu_FKBJA + - oMsVfR0fSCuTKF2TFdYRmQ schema: type: array items: @@ -2560,60 +2839,80 @@ paths: '403': description: Insufficient permissions. security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Order of service configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/settings/service/{id}: delete: - description: |- + description: >- Use this API endpoint if one wants to delete a service configuration. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: deleteServiceConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`' + - in: path + name: id + required: true + schema: + type: string + description: >- + A unique string for the service configuration. Eg: + `G510hmXYSDysLZ5kuj0BaQ` responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Delete service configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings get: - description: |- - Use this API endpoint if one wants to retrieve a particular custom service rule. + description: >- + Use this API endpoint if one wants to retrieve a particular custom + service rule. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: getServiceConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`' + - in: path + name: id + required: true + schema: + type: string + description: >- + A unique string for the service configuration. Eg: + `G510hmXYSDysLZ5kuj0BaQ` responses: '200': content: @@ -2625,8 +2924,8 @@ paths: label: '{docker.container.name}' enabled: true matchSpecification: - - key: docker.container.name - value: .* + - key: docker.container.name + value: .* schema: $ref: '#/components/schemas/ServiceConfig' description: OK @@ -2637,29 +2936,40 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Service configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings put: - description: |- - Use this API endpoint if one wants to update a particular custom service rule. + description: >- + Use this API endpoint if one wants to update a particular custom service + rule. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Application Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings. operationId: putServiceConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`' + - in: path + name: id + required: true + schema: + type: string + description: >- + A unique string for the service configuration. Eg: + `G510hmXYSDysLZ5kuj0BaQ` requestBody: content: application/json: @@ -2669,10 +2979,10 @@ paths: id: 9uma4MhnTTSyBzwu_FKBJA label: '{gce.zone}-{jvm.args.abc}' matchSpecification: - - key: gce.zone - value: .* - - key: jvm.args.abc - value: .* + - key: gce.zone + value: .* + - key: jvm.args.abc + value: .* name: DEF is good schema: $ref: '#/components/schemas/ServiceConfig' @@ -2688,81 +2998,90 @@ paths: label: '{gce.zone}-{jvm.args.abc}' enabled: true matchSpecification: - - key: gce.zone - value: .* - - key: jvm.args.abc - value: .* + - key: gce.zone + value: .* + - key: jvm.args.abc + value: .* schema: $ref: '#/components/schemas/ServiceConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Update service configuration tags: - - Application Settings - x-ibm-ahub-byok: true + - Application Settings /api/application-monitoring/topology/services: get: - description: | - Use this API endpoint if one wants to retrieve services and connections (call paths) between them for calls in the scope given by the parameters. + description: > + Use this API endpoint if one wants to retrieve services and connections + (call paths) between them for calls in the scope given by the + parameters. + ## Errata: - The following fields are unsupported but documented in the schema for the result `services`: - - The `applications` field is always missing and the `snapshotIds` field is always empty, despite being declared as required in the result schema. + + The following fields are unsupported but documented in the schema for + the result `services`: + + - The `applications` field is always missing and the `snapshotIds` field + is always empty, despite being declared as required in the result + schema. + - The `maxSeverity` and `numberOfOpenIssues` fields are always missing. operationId: getServicesMap parameters: - - description: Size of time window in milliseconds - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Timestamp since Unix Epoch in milliseconds of the end of the - time window - in: query - name: to - schema: - type: integer - format: int64 - - description: Filter by application ID - in: query - name: applicationId - schema: - type: string - - description: Filter by application scope, i.e., INBOUND or ALL. The default - value is INBOUND. Applies only if application ID filter is specified. - in: query - name: applicationBoundaryScope - schema: - type: string - enum: - - ALL - - INBOUND + - description: Size of time window in milliseconds + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + Timestamp since Unix Epoch in milliseconds of the end of the time + window + in: query + name: to + schema: + type: integer + format: int64 + - description: Filter by application ID + in: query + name: applicationId + schema: + type: string + - description: >- + Filter by application scope, i.e., INBOUND or ALL. The default value + is INBOUND. Applies only if application ID filter is specified. + in: query + name: applicationBoundaryScope + schema: + type: string + enum: + - ALL + - INBOUND responses: '200': content: application/json: example: connections: - - from: 8bfb4e1aa590eab8f08f837b97acf5803a5737ed - to: f17e7efb3b9b2d62bfec6b07905759fb81e99797 - calls: 2179 - latency: 1.6103717301514455 - errorRate: 0.0 + - from: 8bfb4e1aa590eab8f08f837b97acf5803a5737ed + to: f17e7efb3b9b2d62bfec6b07905759fb81e99797 + calls: 2179 + latency: 1.6103717301514455 + errorRate: 0 services: - - id: f17e7efb3b9b2d62bfec6b07905759fb81e99797 - label: robot-shop - types: - - MESSAGING - technologies: - - kubernetesService - - rabbitMq - snapshotIds: [ - ] - entityType: SERVICE + - id: f17e7efb3b9b2d62bfec6b07905759fb81e99797 + label: robot-shop + types: + - MESSAGING + technologies: + - kubernetesService + - rabbitMq + snapshotIds: [] + entityType: SERVICE schema: $ref: '#/components/schemas/ServiceMap' description: OK @@ -2773,85 +3092,99 @@ paths: '403': description: Forbidden security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Gets the service topology tags: - - Application Topology - x-ibm-ahub-byok: true + - Application Topology /api/application-monitoring/v2/analyze/traces/{id}: get: - description: |- - Use this API endpoint if one wants to retrive comprehensive details of a particular trace. - For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. + description: >- + Use this API endpoint if one wants to retrive comprehensive details of a + particular trace. + + For more information on Application Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. operationId: getTraceDownload parameters: - - in: path - name: id - required: true - schema: - type: string - description: An Instana generated unique identifier for a trace. - minLength: 1 - - in: query - name: retrievalSize - schema: - type: integer - format: int32 - description: | - The number of records to retrieve in a single request. - For example, when retrievalSize is set to 30, offset is 20, and ingestionTime is 1725519793, the API request will fetch 30 records starting from the 21st record after the specified `ingestionTime`. - Minimum value is 1 and maximum value is 10000. - maximum: 10000 - minimum: 1 - - in: query - name: offset - schema: - type: integer - format: int32 - description: | - The number of records to be skipped from the `ingestionTime`. - For example: when `offset` is 20 and `ingestionTime` is 1725519793, the API response should have records starting from the 21st record after the specified `ingestionTime`. - Note that if `offset` value is not empty, `ingestionTime` can't be empty. - - in: query - name: ingestionTime - schema: - type: integer - format: int64 - description: | - The timestamp indicating the starting point from which data was ingested. - The format of the timestamp is in Unix epoch Time. - For example, `Thursday, 5 September 2024 07:03:13 GMT` can be represented as `1725519793`. + - in: path + name: id + required: true + schema: + type: string + description: An Instana generated unique identifier for a trace. + minLength: 1 + - in: query + name: retrievalSize + schema: + type: integer + format: int32 + description: > + The number of records to retrieve in a single request. + + For example, when retrievalSize is set to 30, offset is 20, and + ingestionTime is 1725519793, the API request will fetch 30 records + starting from the 21st record after the specified `ingestionTime`. + + Minimum value is 1 and maximum value is 10000. + maximum: 10000 + minimum: 1 + - in: query + name: offset + schema: + type: integer + format: int32 + description: > + The number of records to be skipped from the `ingestionTime`. + + For example: when `offset` is 20 and `ingestionTime` is + 1725519793, the API response should have records starting from the + 21st record after the specified `ingestionTime`. + + Note that if `offset` value is not empty, `ingestionTime` can't be + empty. + - in: query + name: ingestionTime + schema: + type: integer + format: int64 + description: > + The timestamp indicating the starting point from which data was + ingested. + + The format of the timestamp is in Unix epoch Time. + + For example, `Thursday, 5 September 2024 07:03:13 GMT` can be + represented as `1725519793`. responses: '200': content: application/json: example: items: - - id: daa9141549aea210 - timestamp: 1688544599223 - parentId: null - foreignParentId: null - name: GET /api/shipping/cities/dk - duration: 30 - minSelfTime: 1 - networkTime: null - callCount: 1 - errorCount: 0 - destination: - service: - id: ce4b152bac7b99744d8314838e49b799afd6dd96 - label: nginx-web - endpoint: - id: wAS2omB44e0EK4xqL7f-e-wt4C4 - label: upstream shipping - type: HTTP - technologies: [ - ] - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1688547327000 - offset: 1 + - id: daa9141549aea210 + timestamp: 1688544599223 + parentId: null + foreignParentId: null + name: GET /api/shipping/cities/dk + duration: 30 + minSelfTime: 1 + networkTime: null + callCount: 1 + errorCount: 0 + destination: + service: + id: ce4b152bac7b99744d8314838e49b799afd6dd96 + label: nginx-web + endpoint: + id: wAS2omB44e0EK4xqL7f-e-wt4C4 + label: upstream shipping + type: HTTP + technologies: [] + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1688547327000 + offset: 1 canLoadMore: false totalHits: 3 totalRepresentedItemCount: 3 @@ -2860,35 +3193,38 @@ paths: $ref: '#/components/schemas/TraceDownloadResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get trace detail tags: - - Application Analyze - x-ibm-ahub-byok: true + - Application Analyze /api/application-monitoring/v2/analyze/traces/{traceId}/calls/{callId}/details: get: - description: |- - Use this API endpoint to retrieve a vast information about a call present in a trace. + description: >- + Use this API endpoint to retrieve a vast information about a call + present in a trace. + - For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. + For more information on Application Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze. operationId: getCallDetails parameters: - - in: path - name: traceId - required: true - schema: - type: string - description: An Instana generated unique identifier for a trace. - minLength: 1 - - in: path - name: callId - required: true - schema: - type: string - description: 'The call ID. A unique identifier for an individual call. For - example: `1bcad5c82338deaf`.' - minLength: 1 + - in: path + name: traceId + required: true + schema: + type: string + description: An Instana generated unique identifier for a trace. + minLength: 1 + - in: path + name: callId + required: true + schema: + type: string + description: >- + The call ID. A unique identifier for an individual call. For + example: `1bcad5c82338deaf`. + minLength: 1 responses: '200': content: @@ -2904,8 +3240,7 @@ paths: batchSize: 1 batchSelfTime: 3597 source: - applications: [ - ] + applications: [] service: id: ROOT label: '' @@ -2913,11 +3248,9 @@ paths: id: XCjGvnwuiak0m3ISke3naE-NrGA label: Unspecified type: UNDEFINED - physicalContext: { - } + physicalContext: {} destination: - applications: [ - ] + applications: [] service: id: ce4b152bac7b99744d8314838e49b799afd6dd96 label: nginx-web @@ -2933,48 +3266,53 @@ paths: plugin: nginx data: null spans: - - id: 14219b3deb6a6bc5 - parentId: '' - name: sdk.http.entry - kind: ENTRY - foreignParentId: '' - start: 1707295859759 - duration: 3597 - errorCount: 0 - stackTrace: [ - ] - data: - service: nginx-web - http: - path: /api/shipping/cities/bg - protocol: http - route_id: upstream shipping - method: GET - host: web:8080 - url: http://web:8080//api/shipping/cities/bg - status: 200 - logs: [ - ] + - id: 14219b3deb6a6bc5 + parentId: '' + name: sdk.http.entry + kind: ENTRY + foreignParentId: '' + start: 1707295859759 + duration: 3597 + errorCount: 0 + stackTrace: [] + data: + service: nginx-web + http: + path: /api/shipping/cities/bg + protocol: http + route_id: upstream shipping + method: GET + host: web:8080 + url: http://web:8080//api/shipping/cities/bg + status: 200 + logs: [] synthetic: false schema: $ref: '#/components/schemas/TraceActivityTreeNodeDetails' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get call detail tags: - - Application Analyze - x-ibm-ahub-byok: true + - Application Analyze /api/application-monitoring/v2/metrics: post: - description: |- - Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for a combination of entities. - For eg: retrieve `MEAN` aggregation of `latency` metric for an Endpoint `GET /api/foo`, Service `payment` and Application Perspective `app`. - Consider this API endpoint an upgraded version of `Get Application Metrics`, `Get Endpoint metrics` and `Get Service metrics`. + description: >- + Use this API endpoint if one wants to retrieve one or more supported + aggregation of supported metrics for a combination of entities. + + For eg: retrieve `MEAN` aggregation of `latency` metric for an Endpoint + `GET /api/foo`, Service `payment` and Application Perspective `app`. + + Consider this API endpoint an upgraded version of `Get Application + Metrics`, `Get Endpoint metrics` and `Get Service metrics`. + For more information on supported metrics, refer `Get Metric catalog`. - For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. + + For more information on Application Metrics please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics. operationId: getApplicationDataMetricsV2 requestBody: content: @@ -2983,8 +3321,8 @@ paths: includeInternal: true includeSynthetic: true metrics: - - aggregation: MEAN - metric: latency + - aggregation: MEAN + metric: latency tagFilterExpression: type: TAG_FILTER name: service.name @@ -3003,8 +3341,8 @@ paths: example: metrics: latency.mean: - - - 1669190580000 - - 106.85055708882756 + - - 1669190580000 + - 106.85055708882756 adjustedTimeframe: windowSize: 3600000 to: 1669190580000 @@ -3012,98 +3350,105 @@ paths: $ref: '#/components/schemas/MetricAPIResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Application Data Metrics tags: - - Application Metrics - x-ibm-ahub-byok: true + - Application Metrics /api/automation/actioninstances: delete: - description: Deletes the automation action run results from the action run history. - The results to delete is filtered by the filter values given in the query - parameters. The automation action run result will be deleted only if the action - run result was created within the timeframe specified in the `from` and `to` - query parameters. This call requires `Deletion of automation action history` - permission and, `from` and `to` query parameters. + description: >- + Deletes the automation action run results from the action run history. + The results to delete is filtered by the filter values given in the + query parameters. The automation action run result will be deleted only + if the action run result was created within the timeframe specified in + the `from` and `to` query parameters. This call requires `Deletion of + automation action history` permission and, `from` and `to` query + parameters. operationId: deleteActionInstances parameters: - - description: From date filter in milliseconds (13-digit) to look up the action - run results to delete - example: 1706713140000 - in: query - name: from - required: true - schema: - type: integer - format: int64 - - description: To date filter in milliseconds (13-digit) to look up the action - run results to delete - example: 1706713140000 - in: query - name: to - required: true - schema: - type: integer - format: int64 - - description: Target snapshot ID to look up the action run results to delete - example: aCtEoR6NSPqG61QkIkwwCw - in: query - name: targetSnapshotId - schema: - type: string - - description: Event ID filter to look up the action run results to delete - example: bCtEoR6NSPqG61QkIkwwCw - in: query - name: eventId - schema: - type: string - - description: Event specification ID filter to look up the action run results - to delete - example: 1706713140000 - in: query - name: eventSpecificationId - schema: - type: string - - description: Text in action run result name, description and event name to - filter the action run results to delete - example: 1706713140000 - in: query - name: search - schema: - type: string - - description: Action type filter to look up the action run results to delete - example: One or more of the following types HTTP, SCRIPT, ANSIBLE, GITHUB, - GITLAB, JIRA - in: query - name: types - schema: - type: array - items: - type: string - - description: Action status filter to look up the action run results to delete - example: One or more of the following status SUBMITTED, IN_PROGRESS, SUCCESS, - FAILED, TIMEOUT - in: query - name: actionStatuses - schema: - type: array - items: - type: string - - description: List of action IDs to filter the action run results to delete - example: cCtEoR6NSPqG61QkIkwwCw - in: query - name: actionIds - schema: - type: array - items: + - description: >- + From date filter in milliseconds (13-digit) to look up the action + run results to delete + example: 1706713140000 + in: query + name: from + required: true + schema: + type: integer + format: int64 + - description: >- + To date filter in milliseconds (13-digit) to look up the action run + results to delete + example: 1706713140000 + in: query + name: to + required: true + schema: + type: integer + format: int64 + - description: Target snapshot ID to look up the action run results to delete + example: aCtEoR6NSPqG61QkIkwwCw + in: query + name: targetSnapshotId + schema: + type: string + - description: Event ID filter to look up the action run results to delete + example: bCtEoR6NSPqG61QkIkwwCw + in: query + name: eventId + schema: + type: string + - description: >- + Event specification ID filter to look up the action run results to + delete + example: 1706713140000 + in: query + name: eventSpecificationId + schema: + type: string + - description: >- + Text in action run result name, description and event name to filter + the action run results to delete + example: 1706713140000 + in: query + name: search + schema: + type: string + - description: Action type filter to look up the action run results to delete + example: >- + One or more of the following types HTTP, SCRIPT, ANSIBLE, GITHUB, + GITLAB, JIRA + in: query + name: types + schema: + type: array + items: + type: string + - description: Action status filter to look up the action run results to delete + example: >- + One or more of the following status SUBMITTED, IN_PROGRESS, SUCCESS, + FAILED, TIMEOUT + in: query + name: actionStatuses + schema: + type: array + items: + type: string + - description: List of action IDs to filter the action run results to delete + example: cCtEoR6NSPqG61QkIkwwCw + in: query + name: actionIds + schema: + type: array + items: + type: string + - description: Policy ID filter to look up the action run results to delete + example: bCtEoR6NSPqG61QkIkwwCw + in: query + name: policyId + schema: type: string - - description: Policy ID filter to look up the action run results to delete - example: bCtEoR6NSPqG61QkIkwwCw - in: query - name: policyId - schema: - type: string responses: '200': content: @@ -3118,151 +3463,160 @@ paths: '500': description: The request do not contain a valid user or API Token. security: - - ApiKeyAuth: - - canDeleteAutomationActionHistory + - ApiKeyAuth: + - canDeleteAutomationActionHistory summary: Delete automation action run results. tags: - - Action History - x-ibm-ahub-byok: true + - Action History get: - description: Get the details of automation action run results from action run - history. The results are filtered by the filters in the query parameters. - The automation action run result will be fetched only if the action run results - were created within the timeframe specified by the `windowSize` and `to` query - parameters. The `windowSize` parameter is used to compute the from date (`from - = to - windowSize`) of the timeframe. The default value for `windowSize` is - 10 minutes and the default value for `to` is current system time. When using - personal access tokens, the user must have at least `Viewer` access for Automation - and the automation action run results returned are also filtered based on - the access set in `Limited access` permission settings. This API returns paginated - result as specified in query parameters `page` and `pageSize`. The response - contains list of automation action run results whose contents corresponds - to the `page` query parameter and whose size corresponds to the `pageSize` - query parameter. + description: >- + Get the details of automation action run results from action run + history. The results are filtered by the filters in the query + parameters. The automation action run result will be fetched only if the + action run results were created within the timeframe specified by the + `windowSize` and `to` query parameters. The `windowSize` parameter is + used to compute the from date (`from = to - windowSize`) of the + timeframe. The default value for `windowSize` is 10 minutes and the + default value for `to` is current system time. When using personal + access tokens, the user must have at least `Viewer` access for + Automation and the automation action run results returned are also + filtered based on the access set in `Limited access` permission + settings. This API returns paginated result as specified in query + parameters `page` and `pageSize`. The response contains list of + automation action run results whose contents corresponds to the `page` + query parameter and whose size corresponds to the `pageSize` query + parameter. operationId: getActionInstances parameters: - - description: Window size filter in milliseconds (to compute the from date) - to get the action run result details - example: 10000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: To date filter in milliseconds (13-digit) to get the action run - result details - example: 1706713140000 - in: query - name: to - schema: - type: integer - format: int64 - - description: Page to fetch -- used for paging the action run result records - example: 2 - in: query - name: page - schema: - type: integer - format: int32 - - description: Number of records to return in each page -- used for paging the - action run result records - example: 50 - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: Target snapshot ID filter to get the action run result details - example: nCtEoR6NSPqG61QkIkwwCw - in: query - name: targetSnapshotId - schema: - type: string - - description: Event ID filter to get the action run result details - example: nCtEoR6NSPqG61QkIkwwCw - in: query - name: eventId - schema: - type: string - - description: Event specification ID filter to get the action run result details - example: 1706713140000 - in: query - name: eventSpecificationId - schema: - type: string - - description: Text in action run result name, description and event name filter - to get the action run result details - example: 1706713140000 - in: query - name: search - schema: - type: string - - description: Action type filter to get the action run result details - example: One or more of the following types HTTP, SCRIPT, ANSIBLE, GITHUB, - GITLAB, JIRA - in: query - name: types - schema: - type: array - items: + - description: >- + Window size filter in milliseconds (to compute the from date) to get + the action run result details + example: 10000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + To date filter in milliseconds (13-digit) to get the action run + result details + example: 1706713140000 + in: query + name: to + schema: + type: integer + format: int64 + - description: Page to fetch -- used for paging the action run result records + example: 2 + in: query + name: page + schema: + type: integer + format: int32 + - description: >- + Number of records to return in each page -- used for paging the + action run result records + example: 50 + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: Target snapshot ID filter to get the action run result details + example: nCtEoR6NSPqG61QkIkwwCw + in: query + name: targetSnapshotId + schema: + type: string + - description: Event ID filter to get the action run result details + example: nCtEoR6NSPqG61QkIkwwCw + in: query + name: eventId + schema: + type: string + - description: Event specification ID filter to get the action run result details + example: 1706713140000 + in: query + name: eventSpecificationId + schema: + type: string + - description: >- + Text in action run result name, description and event name filter to + get the action run result details + example: 1706713140000 + in: query + name: search + schema: + type: string + - description: Action type filter to get the action run result details + example: >- + One or more of the following types HTTP, SCRIPT, ANSIBLE, GITHUB, + GITLAB, JIRA + in: query + name: types + schema: + type: array + items: + type: string + - description: Action status filter to get the action run result details + example: >- + One or more of the following status SUBMITTED, IN_PROGRESS, SUCCESS, + FAILED, TIMEOUT + in: query + name: actionStatuses + schema: + type: array + items: + type: string + - description: >- + Action IDs filter to get the action run result details for only + these actions + in: query + name: actionIds + schema: + type: array + items: + type: string + - description: Policy ID filter to get the action run result details + example: nCtEoR6NSPqG61QkIkwwCw + in: query + name: policyId + schema: type: string - - description: Action status filter to get the action run result details - example: One or more of the following status SUBMITTED, IN_PROGRESS, SUCCESS, - FAILED, TIMEOUT - in: query - name: actionStatuses - schema: - type: array - items: + - description: Action run result column to order the result set. + example: >- + Name of the action run result column. Default is action run result + start date. + in: query + name: orderBy + schema: type: string - - description: Action IDs filter to get the action run result details for only - these actions - in: query - name: actionIds - schema: - type: array - items: + - description: Sort order direction. + example: asc or desc + in: query + name: orderDirection + schema: type: string - - description: Policy ID filter to get the action run result details - example: nCtEoR6NSPqG61QkIkwwCw - in: query - name: policyId - schema: - type: string - - description: Action run result column to order the result set. - example: Name of the action run result column. Default is action run result - start date. - in: query - name: orderBy - schema: - type: string - - description: Sort order direction. - example: asc or desc - in: query - name: orderDirection - schema: - type: string responses: '200': content: application/json: example: items: - - actionInstanceId: fqiH0HOgR1-4Ygoy5EDycw - actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff - actionName: Hello World - type: SCRIPT - status: SUCCESS - createdDate: 1710162882369 - startDate: 1710162882653 - endDate: 1710162882826 - eventId: M3wuBxuaSDyecZJ7ICioiw - eventSpecificationId: en0FW6XRWu7aRsD4055dbMLAuSU - problemText: Test event - hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g - targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk - metadata: [ - ] + - actionInstanceId: fqiH0HOgR1-4Ygoy5EDycw + actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff + actionName: Hello World + type: SCRIPT + status: SUCCESS + createdDate: 1710162882369 + startDate: 1710162882653 + endDate: 1710162882826 + eventId: M3wuBxuaSDyecZJ7ICioiw + eventSpecificationId: en0FW6XRWu7aRsD4055dbMLAuSU + problemText: Test event + hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g + targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk + metadata: [] page: 1 pageSize: 50 totalHits: 500 @@ -3272,17 +3626,20 @@ paths: '403': description: Automation feature is not enabled or Insufficient permissions. security: - - ApiKeyAuth: - - Default - summary: Get the details of automation action run results from action run history. + - ApiKeyAuth: + - Default + summary: >- + Get the details of automation action run results from action run + history. tags: - - Action History - x-ibm-ahub-byok: true + - Action History post: - description: Submits the automation action for execution on an agent. The automation - action to execute and the agent on which to execute the action must be specified - as actionId and hostId. For more details on the request payload see the request - sample. This call requires `Execution of automation actions` permission. + description: >- + Submits the automation action for execution on an agent. The automation + action to execute and the agent on which to execute the action must be + specified as actionId and hostId. For more details on the request + payload see the request sample. This call requires `Execution of + automation actions` permission. operationId: addActionInstance requestBody: content: @@ -3292,9 +3649,9 @@ paths: actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff policyId: 2nIOVtEW-iPbsEIi89-yDqJabc inputParameters: - - name: name - type: type - value: value + - name: name + type: type + value: value eventId: M3wuBxuaSDyecZJ7ICioiw async: 'true' timeout: '600' @@ -3317,12 +3674,9 @@ paths: problemText: Test event hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk - inputParameters: [ - ] - outputParameters: [ - ] - metadata: [ - ] + inputParameters: [] + outputParameters: [] + metadata: [] externalSourceType: '' actorId: 5ee5195fbea6150001758c40 actorName: Stan @@ -3334,54 +3688,58 @@ paths: $ref: '#/components/schemas/ActionInstance' description: Automation action submitted for execution on the agent. '400': - description: The payload in the request body is not valid or the action - ID (actionId) in the payload is invalid or the agent host ID (hostId) + description: >- + The payload in the request body is not valid or the action ID + (actionId) in the payload is invalid or the agent host ID (hostId) in the payload is invalid. '403': description: Automation feature is not enabled or Insufficient permissions. security: - - ApiKeyAuth: - - canRunAutomationActions + - ApiKeyAuth: + - canRunAutomationActions summary: Run an automation action. tags: - - Action History - x-ibm-ahub-byok: true + - Action History /api/automation/actioninstances/{actionInstanceId}: delete: - description: Deletes the automation action run result specified in the request - path from the action run history. The automation action run result will be - deleted only if the action run result was created within the timeframe specified - in the `from` and `to` query parameters. To get the automation action run - result ID and the created time, you can run `/api/automation/actioninstances` - and `/api/automation/actioninstances/<{actionInstanceId}>` REST calls. This + description: >- + Deletes the automation action run result specified in the request path + from the action run history. The automation action run result will be + deleted only if the action run result was created within the timeframe + specified in the `from` and `to` query parameters. To get the automation + action run result ID and the created time, you can run + `/api/automation/actioninstances` and + `/api/automation/actioninstances/<{actionInstanceId}>` REST calls. This call requires `Deletion of automation action history` permission. operationId: deleteActionInstance parameters: - - description: Automation action run result ID to delete. - example: nCtEoR6NSPqG61QkIkwwCw - in: path - name: actionInstanceId - required: true - schema: - type: string - - description: From date filter in milliseconds (13-digit) to look up the action - run result ID. - example: 1706713140000 - in: query - name: from - required: true - schema: - type: integer - format: int64 - - description: To date filter in milliseconds (13-digit) to look up the action - run result ID. - example: 1706713190000 - in: query - name: to - required: true - schema: - type: integer - format: int64 + - description: Automation action run result ID to delete. + example: nCtEoR6NSPqG61QkIkwwCw + in: path + name: actionInstanceId + required: true + schema: + type: string + - description: >- + From date filter in milliseconds (13-digit) to look up the action + run result ID. + example: 1706713140000 + in: query + name: from + required: true + schema: + type: integer + format: int64 + - description: >- + To date filter in milliseconds (13-digit) to look up the action run + result ID. + example: 1706713190000 + in: query + name: to + required: true + schema: + type: integer + format: int64 responses: '200': content: @@ -3390,58 +3748,63 @@ paths: deletedDocumentsCount: '2' description: Automation action run result is deleted. '400': - description: Automation action run result ID is missing in the request path, - or `from` date or `to` date is missing in the query parameters. + description: >- + Automation action run result ID is missing in the request path, or + `from` date or `to` date is missing in the query parameters. '403': description: Automation feature is not enabled or Insufficient permissions. '500': description: The request do not contain a valid user or API Token. security: - - ApiKeyAuth: - - canDeleteAutomationActionHistory - summary: Deletes an automation action run result from the action run history - by ID. + - ApiKeyAuth: + - canDeleteAutomationActionHistory + summary: >- + Deletes an automation action run result from the action run history by + ID. tags: - - Action History - x-ibm-ahub-byok: true + - Action History get: - description: Get the details of automation action run result specified in the - request path from action run history. The automation action run result will - be fetched only if the action run result was created within the timeframe - specified by the `windowSize` and `to` query parameters. The `windowSize` - parameter is used to compute the from date (`from = to - windowSize`) of the - timeframe. The default value for `windowSize` is 10 minutes and the default - value for `to` is current system time. To get the automation action run result - ID and the created time, you can run `/api/automation/actioninstances` REST - calls. When using personal access tokens, the user must have at least `Viewer` - access for Automation. + description: >- + Get the details of automation action run result specified in the request + path from action run history. The automation action run result will be + fetched only if the action run result was created within the timeframe + specified by the `windowSize` and `to` query parameters. The + `windowSize` parameter is used to compute the from date (`from = to - + windowSize`) of the timeframe. The default value for `windowSize` is 10 + minutes and the default value for `to` is current system time. To get + the automation action run result ID and the created time, you can run + `/api/automation/actioninstances` REST calls. When using personal access + tokens, the user must have at least `Viewer` access for Automation. operationId: getActionInstance parameters: - - description: action run result ID to get action run result details - example: nCtEoR6NSPqG61QkIkwwCw - in: path - name: actionInstanceId - required: true - schema: - type: string - - description: Window size in milliseconds. This value is used compute the from - date `(from = to - windowSize)` to get the action run result details. The - default `windowSize` is set to 10 minutes if this value is not provided. - example: 10000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: To date filter in milliseconds (13-digit) to get the action run - result details. The default `to` date is set to `System.currentTimeMillis()` - if this value is not provided. - example: 1706713140000 - in: query - name: to - schema: - type: integer - format: int64 + - description: action run result ID to get action run result details + example: nCtEoR6NSPqG61QkIkwwCw + in: path + name: actionInstanceId + required: true + schema: + type: string + - description: >- + Window size in milliseconds. This value is used compute the from + date `(from = to - windowSize)` to get the action run result + details. The default `windowSize` is set to 10 minutes if this value + is not provided. + example: 10000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + To date filter in milliseconds (13-digit) to get the action run + result details. The default `to` date is set to + `System.currentTimeMillis()` if this value is not provided. + example: 1706713140000 + in: query + name: to + schema: + type: integer + format: int64 responses: '200': content: @@ -3461,12 +3824,9 @@ paths: eventSpecificationId: en0FW6XRWu7aRsD4055dbMLAuSU problemText: Test event hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g - inputParameters: [ - ] - outputParameters: [ - ] - metadata: [ - ] + inputParameters: [] + outputParameters: [] + metadata: [] targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk externalSourceType: '' actorId: 5ee5195fbea6150001758c40 @@ -3484,51 +3844,51 @@ paths: '403': description: Automation feature is not enabled or Insufficient permissions. security: - - ApiKeyAuth: - - Default - summary: Get the details of an automation action run result by ID from action - run history. + - ApiKeyAuth: + - Default + summary: >- + Get the details of an automation action run result by ID from action run + history. tags: - - Action History - x-ibm-ahub-byok: true + - Action History /api/automation/actions: get: - description: Get all automation actions. When using personal access tokens, - the user must have at least `Viewer` access for Automation and the actions - returned are also filtered based on the access set in `Limited access` permission - settings. + description: >- + Get all automation actions. When using personal access tokens, the user + must have at least `Viewer` access for Automation and the actions + returned are also filtered based on the access set in `Limited access` + permission settings. operationId: getActions responses: '200': content: application/json: example: - - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - name: Hello World - description: Simple script action for testing - type: SCRIPT - fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] - tags: - - Test - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 + - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + name: Hello World + description: Simple script action for testing + type: SCRIPT + fields: + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] + tags: + - Test + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 schema: type: array items: @@ -3539,27 +3899,27 @@ paths: '500': description: Failed to retrieve the automation actions. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all automation actions. tags: - - Action Catalog - x-ibm-ahub-byok: true + - Action Catalog /api/automation/actions/{id}: get: - description: Get an automation action by ID specified in the request path. When - using personal access tokens, the user must have at least `Viewer` access - for Automation and the actions returned are also filtered based on the access - set in `Limited access` permission settings. + description: >- + Get an automation action by ID specified in the request path. When using + personal access tokens, the user must have at least `Viewer` access for + Automation and the actions returned are also filtered based on the + access set in `Limited access` permission settings. operationId: getActionByID parameters: - - description: Automation action ID - example: d473c1b0-0740-4d08-95fe-31e5d0a9faff - in: path - name: id - required: true - schema: - type: string + - description: Automation action ID + example: d473c1b0-0740-4d08-95fe-31e5d0a9faff + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -3570,27 +3930,26 @@ paths: description: Simple script action for testing type: SCRIPT fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] tags: - - Test - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 + - Test + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 schema: $ref: '#/components/schemas/Action' description: Automation action is returned. @@ -3599,36 +3958,36 @@ paths: '404': description: Automation action not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get an automation action by ID. tags: - - Action Catalog - x-ibm-ahub-byok: true + - Action Catalog /api/automation/ai/action/match: get: - description: Get automation actions that match based on application ID or snapshot - ID within a specified time window. + description: >- + Get automation actions that match based on application ID or snapshot ID + within a specified time window. operationId: getActionMatchesByIdAndTimeWindow parameters: - - in: query - name: applicationId - schema: - type: string - - in: query - name: snapshotId - schema: - type: string - - in: query - name: to - schema: - type: integer - format: int64 - - in: query - name: windowSize - schema: - type: integer - format: int64 + - in: query + name: applicationId + schema: + type: string + - in: query + name: snapshotId + schema: + type: string + - in: query + name: to + schema: + type: integer + format: int64 + - in: query + name: windowSize + schema: + type: integer + format: int64 responses: '200': content: @@ -3639,35 +3998,35 @@ paths: $ref: '#/components/schemas/ActionMatch' description: The automation actions that match are returned. '400': - description: Either applicationId or snapshotId must be provided, but not - both. + description: Either applicationId or snapshotId must be provided, but not both. '403': description: Automation feature is not enabled or Insufficient permissions. '500': description: Failed to retrieve the matching automation actions. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get action matches by application ID or snapshot ID. tags: - - Action Catalog - x-ibm-ahub-byok: true + - Action Catalog post: - description: Get automation actions that match the incident or issue data in - the request body. + description: >- + Get automation actions that match the incident or issue data in the + request body. operationId: getActionMatches parameters: - - in: query - name: targetSnapshotId - schema: - type: string + - in: query + name: targetSnapshotId + schema: + type: string requestBody: content: application/json: example: name: CPU spends significant time waiting for input/output - description: Checks whether the system spends significant time waiting - for input/output. + description: >- + Checks whether the system spends significant time waiting for + input/output. schema: $ref: '#/components/schemas/ActionSearchSpace' required: true @@ -3676,37 +4035,36 @@ paths: content: application/json: example: - - score: 0.12087341955930318 - action: - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - name: Hello World - description: Simple script action for testing - type: SCRIPT - fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] - tags: - - sample - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 - color: low - confidence: low - aiEngine: NLP + - score: 0.12087341955930318 + action: + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + name: Hello World + description: Simple script action for testing + type: SCRIPT + fields: + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] + tags: + - sample + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 + color: low + confidence: low + aiEngine: NLP schema: type: array items: @@ -3717,12 +4075,11 @@ paths: '500': description: Failed to retrieve the matching automation actions. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get automation actions that match the incidents or issues. tags: - - Action Catalog - x-ibm-ahub-byok: true + - Action Catalog /api/automation/parameters/dynamic: put: operationId: resolve @@ -3733,8 +4090,8 @@ paths: eventId: 7UPTIakhR3uVaMnSQuG3TA timestamp: 1710168530000 parameters: - - name: Application name - tagName: application.name + - name: Application name + tagName: application.name schema: $ref: '#/components/schemas/GetDynamicParameterValues' required: true @@ -3746,21 +4103,20 @@ paths: eventId: 7UPTIakhR3uVaMnSQuG3TA timestamp: 1710168530000 parameters: - - name: Application name - tagName: application.name - resolvedValue: '["Demo Application"]' + - name: Application name + tagName: application.name + resolvedValue: '["Demo Application"]' schema: $ref: '#/components/schemas/GetDynamicParameterValues' description: OK '500': description: Internal server error security: - - ApiKeyAuth: - - canRunAutomationActions + - ApiKeyAuth: + - canRunAutomationActions summary: Resolve dynamic parameter values tags: - - Action Catalog - x-ibm-ahub-byok: true + - Action Catalog /api/automation/parameters/dynamic/catalog: get: operationId: getDynamicParametersTagCatalog @@ -3770,117 +4126,120 @@ paths: application/json: example: tagTree: - - label: Application - description: null - icon: null - children: - - label: Name - icon: lib_application - tagName: application.name - queryable: true - type: TAG - type: LEVEL - queryable: false + - label: Application + description: null + icon: null + children: + - label: Name + icon: lib_application + tagName: application.name + queryable: true + type: TAG + type: LEVEL + queryable: false tags: - - name: application.name - label: Name - type: STRING_SET - description: null - canApplyToSource: true - canApplyToDestination: true - idTag: false + - name: application.name + label: Name + type: STRING_SET + description: null + canApplyToSource: true + canApplyToDestination: true + idTag: false schema: $ref: '#/components/schemas/TagCatalog' description: OK '500': description: Internal server error security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get tag catalog for dynamic parameters tags: - - Action Catalog + - Action Catalog x-description: getDynamicParametersTagCatalog - x-ibm-ahub-byok: true /api/automation/policies: get: - description: Returns all the automation policies filtered by the values in optional - query parameters. When using personal access tokens, the user must have at - least `Viewer` access for Automation and the automation policies returned - are also filtered based on the access set in `Limited access` permission settings. + description: >- + Returns all the automation policies filtered by the values in optional + query parameters. When using personal access tokens, the user must have + at least `Viewer` access for Automation and the automation policies + returned are also filtered based on the access set in `Limited access` + permission settings. operationId: getPolicies parameters: - - description: Filter policies by the event or alert type that can trigger a - policy. This is an optional parameter. Valid values are customEvent, builtinEvent, - applicationSmartAlert, globalApplicationSmartAlert, websiteSmartAlert, infraSmartAlert, - mobileAppSmartAlert, syntheticsSmartAlert, logSmartAlert, sloSmartAlert - in: query - name: triggerType - schema: - type: string - - description: Trigger identifier. This is an optional parameter. - in: query - name: triggerId - schema: - type: string - - description: Filter policies by policy execution type. This is an optional - parameter. Valid values are automatic or manual - in: query - name: executionType - schema: - type: string - - description: Filter policies by action ID. This is an optional parameter. - in: query - name: actionId - schema: - type: string - responses: - '200': - content: - application/json: - example: - - id: a14700b0-401b-47eb-a751-deda0035fde3 - name: Policy for test - description: Policy for test - trigger: - type: customEvent - id: C3Ha8PffQHfJ0Hk6 - name: Test Event - typeConfigurations: - - name: manual - runnable: - type: action - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - runConfiguration: - actions: - - action: - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - name: Hello World - description: Simple script action for testing - type: SCRIPT - fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] - tags: - - Test - - idempotent - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 + - description: >- + Filter policies by the event or alert type that can trigger a + policy. This is an optional parameter. Valid values are customEvent, + builtinEvent, applicationSmartAlert, globalApplicationSmartAlert, + websiteSmartAlert, infraSmartAlert, mobileAppSmartAlert, + syntheticsSmartAlert, logSmartAlert, sloSmartAlert + in: query + name: triggerType + schema: + type: string + - description: Trigger identifier. This is an optional parameter. + in: query + name: triggerId + schema: + type: string + - description: >- + Filter policies by policy execution type. This is an optional + parameter. Valid values are automatic or manual + in: query + name: executionType + schema: + type: string + - description: Filter policies by action ID. This is an optional parameter. + in: query + name: actionId + schema: + type: string + responses: + '200': + content: + application/json: + example: + - id: a14700b0-401b-47eb-a751-deda0035fde3 + name: Policy for test + description: Policy for test + trigger: + type: customEvent + id: C3Ha8PffQHfJ0Hk6 + name: Test Event + typeConfigurations: + - name: manual + runnable: + type: action + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + runConfiguration: + actions: + - action: + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + name: Hello World + description: Simple script action for testing + type: SCRIPT + fields: + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] + tags: + - Test + - idempotent + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 schema: type: array items: @@ -3891,14 +4250,14 @@ paths: '500': description: Failed to retrieve the automation policies. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all automation policies. tags: - - Policies - x-ibm-ahub-byok: true + - Policies post: - description: Creates a new automation policy. Policy creation requires `Configuration + description: >- + Creates a new automation policy. Policy creation requires `Configuration of automation policies` permission. operationId: addPolicy requestBody: @@ -3911,14 +4270,14 @@ paths: type: customEvent id: 2X5r-Un18MIE59rE typeConfigurations: - - name: manual - runnable: - type: action - id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 - runConfiguration: - actions: - - action: - id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 + - name: manual + runnable: + type: action + id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 + runConfiguration: + actions: + - action: + id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 schema: $ref: '#/components/schemas/Policy' required: true @@ -3935,39 +4294,38 @@ paths: id: C3Ha8PffQHfJ0Hk6 name: Test Event typeConfigurations: - - name: manual - runnable: - type: action - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - runConfiguration: - actions: - - action: - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - name: Hello World - description: Simple script action for testing - type: SCRIPT - fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] - tags: - - Test - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 + - name: manual + runnable: + type: action + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + runConfiguration: + actions: + - action: + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + name: Hello World + description: Simple script action for testing + type: SCRIPT + fields: + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] + tags: + - Test + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 schema: $ref: '#/components/schemas/Policy' description: New policy created. @@ -3980,15 +4338,15 @@ paths: '500': description: Internal Server Error. security: - - ApiKeyAuth: - - canConfigureAutomationPolicies + - ApiKeyAuth: + - canConfigureAutomationPolicies summary: Create an automation policy. tags: - - Policies - x-ibm-ahub-byok: true + - Policies /api/automation/policies/bulk: post: - description: Creates a list of automation policies. Policy creation requires + description: >- + Creates a list of automation policies. Policy creation requires `Configuration of automation policies` permission. operationId: addPolicies requestBody: @@ -4017,27 +4375,27 @@ paths: '500': description: Internal Server Error. security: - - ApiKeyAuth: - - canConfigureAutomationPolicies + - ApiKeyAuth: + - canConfigureAutomationPolicies summary: Create automation policies. tags: - - Policies - x-ibm-ahub-byok: true + - Policies /api/automation/policies/{id}: delete: - description: Deletes an automation policy by identifier. Policy deletion requires - `Configuration of automation policies` permission. When using personal tokens - the automation policies deleted are based on the access set in `Limited access` - permission settings. + description: >- + Deletes an automation policy by identifier. Policy deletion requires + `Configuration of automation policies` permission. When using personal + tokens the automation policies deleted are based on the access set in + `Limited access` permission settings. operationId: deletePolicy parameters: - - description: Automation policy ID to delete - example: a14700b0-401b-47eb-a751-deda0035fde3 - in: path - name: id - required: true - schema: - type: string + - description: Automation policy ID to delete + example: a14700b0-401b-47eb-a751-deda0035fde3 + in: path + name: id + required: true + schema: + type: string responses: '204': description: Automation policy successfully deleted @@ -4046,26 +4404,27 @@ paths: '404': description: Automation policy not found. security: - - ApiKeyAuth: - - canConfigureAutomationPolicies + - ApiKeyAuth: + - canConfigureAutomationPolicies summary: Deletes an automation policy by identifier. tags: - - Policies - x-ibm-ahub-byok: true + - Policies get: - description: Returns the automation policy filtered by the ID in request parameter. - When using personal access tokens, the user must have at least `Viewer` access - for Automation and the automation policies returned are also filtered based - on the access set in `Limited access` permission settings. + description: >- + Returns the automation policy filtered by the ID in request parameter. + When using personal access tokens, the user must have at least `Viewer` + access for Automation and the automation policies returned are also + filtered based on the access set in `Limited access` permission + settings. operationId: getPolicyByID parameters: - - description: Automation policy ID - example: a14700b0-401b-47eb-a751-deda0035fde3 - in: path - name: id - required: true - schema: - type: string + - description: Automation policy ID + example: a14700b0-401b-47eb-a751-deda0035fde3 + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -4079,39 +4438,38 @@ paths: id: C3Ha8PffQHfJ0Hk6 name: Test Event typeConfigurations: - - name: manual - runnable: - type: action - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - runConfiguration: - actions: - - action: - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - name: Hello World - description: Simple script action for testing - type: SCRIPT - fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] - tags: - - Test - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 + - name: manual + runnable: + type: action + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + runConfiguration: + actions: + - action: + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + name: Hello World + description: Simple script action for testing + type: SCRIPT + fields: + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] + tags: + - Test + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 schema: $ref: '#/components/schemas/Policy' description: Automation policy filtered by the ID in request parameter. @@ -4120,24 +4478,24 @@ paths: '404': description: Automation policy not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get an automation policy by ID. tags: - - Policies - x-ibm-ahub-byok: true + - Policies put: - description: Updates an automation policy by identifier. Policy updates requires - `Configuration of automation policies` permission. When using personal tokens - the automation policies updated are based on the access set in `Limited access` - permission settings. + description: >- + Updates an automation policy by identifier. Policy updates requires + `Configuration of automation policies` permission. When using personal + tokens the automation policies updated are based on the access set in + `Limited access` permission settings. operationId: updatePolicy parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -4148,14 +4506,14 @@ paths: type: customEvent id: 2X5r-Un18MIE59rE typeConfigurations: - - name: manual - runnable: - type: action - id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 - runConfiguration: - actions: - - action: - id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 + - name: manual + runnable: + type: action + id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 + runConfiguration: + actions: + - action: + id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145 schema: $ref: '#/components/schemas/Policy' required: true @@ -4172,39 +4530,38 @@ paths: id: C3Ha8PffQHfJ0Hk6 name: Test Event typeConfigurations: - - name: manual - runnable: - type: action - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - runConfiguration: - actions: - - action: - id: d473c1b0-0740-4d08-95fe-31e5d0a9faff - name: Hello World - description: Simple script action for testing - type: SCRIPT - fields: - - name: subtype - description: script subtype - encoding: base64 - value: YmFzaA== - secured: false - - name: script_ssh - description: script content - encoding: base64 - value: ZWNobyBoZWxsbyB3b3JsZA== - secured: false - - name: timeout - description: timeout of the action execution in seconds - encoding: ascii - value: '' - secured: false - inputParameters: [ - ] - tags: - - Test - createdAt: 1.694442511129923E9 - modifiedAt: 1.703191040321448E9 + - name: manual + runnable: + type: action + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + runConfiguration: + actions: + - action: + id: d473c1b0-0740-4d08-95fe-31e5d0a9faff + name: Hello World + description: Simple script action for testing + type: SCRIPT + fields: + - name: subtype + description: script subtype + encoding: base64 + value: YmFzaA== + secured: false + - name: script_ssh + description: script content + encoding: base64 + value: ZWNobyBoZWxsbyB3b3JsZA== + secured: false + - name: timeout + description: timeout of the action execution in seconds + encoding: ascii + value: '' + secured: false + inputParameters: [] + tags: + - Test + createdAt: 1694442511.129923 + modifiedAt: 1703191040.321448 schema: $ref: '#/components/schemas/Policy' description: Automation policy successfully updated. @@ -4217,12 +4574,11 @@ paths: '500': description: Server Error. security: - - ApiKeyAuth: - - canConfigureAutomationPolicies + - ApiKeyAuth: + - canConfigureAutomationPolicies summary: Updates an automation policy by identifier. tags: - - Policies - x-ibm-ahub-byok: true + - Policies /api/business-monitoring/activities: post: operationId: getActivities @@ -4240,12 +4596,11 @@ paths: $ref: '#/components/schemas/CursorPaginatedBusinessActivityItem' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Business Activities tags: - - Business Monitoring - x-ibm-ahub-byok: true + - Business Monitoring /api/business-monitoring/activities/csv: post: operationId: getActivitiesCsv @@ -4263,12 +4618,11 @@ paths: $ref: '#/components/schemas/BusinessActivity' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Download Business Activities tags: - - Business Monitoring - x-ibm-ahub-byok: true + - Business Monitoring /api/business-monitoring/business-perspectives: get: operationId: getBusinessPerspectives @@ -4277,51 +4631,50 @@ paths: content: application/json: example: - - id: gBwNFIbjS6Ozwt0a12regg - label: biz-perspective - name: biz-perspective - description: This is an example business perspective - rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - - type: EXPRESSION + - id: gBwNFIbjS6Ozwt0a12regg + label: biz-perspective + name: biz-perspective + description: This is an example business perspective + rbacTags: + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 + tagFilterExpression: + type: EXPRESSION logicalOperator: AND elements: - - type: EXPRESSION - logicalOperator: OR - elements: - - type: TAG_FILTER - name: service.id - stringValue: my-service-1 - numberValue: null - booleanValue: null - key: null - value: my-service-1 - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: service.id - stringValue: my-service-2 - numberValue: null - booleanValue: null - key: null - value: my-service-2 - operator: EQUALS - entity: DESTINATION + - type: EXPRESSION + logicalOperator: AND + elements: + - type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: service.id + stringValue: my-service-1 + numberValue: null + booleanValue: null + key: null + value: my-service-1 + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: service.id + stringValue: my-service-2 + numberValue: null + booleanValue: null + key: null + value: my-service-2 + operator: EQUALS + entity: DESTINATION schema: $ref: '#/components/schemas/BusinessPerspectiveConfig' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all business perspectives tags: - - Business Monitoring - x-ibm-ahub-byok: true + - Business Monitoring post: operationId: createBusinessPerspective requestBody: @@ -4332,36 +4685,36 @@ paths: name: biz-perspective description: This is an example business perspective rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: EXPRESSION - logicalOperator: AND - elements: - type: EXPRESSION - logicalOperator: OR + logicalOperator: AND elements: - - type: TAG_FILTER - name: service.id - stringValue: my-service-1 - numberValue: null - booleanValue: null - key: null - value: my-service-1 - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: service.id - stringValue: my-service-2 - numberValue: null - booleanValue: null - key: null - value: my-service-2 - operator: EQUALS - entity: DESTINATION + - type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: service.id + stringValue: my-service-1 + numberValue: null + booleanValue: null + key: null + value: my-service-1 + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: service.id + stringValue: my-service-2 + numberValue: null + booleanValue: null + key: null + value: my-service-2 + operator: EQUALS + entity: DESTINATION schema: $ref: '#/components/schemas/NewBusinessPerspectiveConfig' required: true @@ -4376,77 +4729,74 @@ paths: name: biz-perspective description: This is an example business perspective rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: EXPRESSION - logicalOperator: AND - elements: - type: EXPRESSION - logicalOperator: OR + logicalOperator: AND elements: - - type: TAG_FILTER - name: service.id - stringValue: my-service-1 - numberValue: null - booleanValue: null - key: null - value: my-service-1 - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: service.id - stringValue: my-service-2 - numberValue: null - booleanValue: null - key: null - value: my-service-2 - operator: EQUALS - entity: DESTINATION + - type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: service.id + stringValue: my-service-1 + numberValue: null + booleanValue: null + key: null + value: my-service-1 + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: service.id + stringValue: my-service-2 + numberValue: null + booleanValue: null + key: null + value: my-service-2 + operator: EQUALS + entity: DESTINATION schema: $ref: '#/components/schemas/BusinessPerspectiveConfig' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Create business perspective tags: - - Business Monitoring + - Business Monitoring x-description: createBusinessPerspective - x-ibm-ahub-byok: true /api/business-monitoring/business-perspectives/{id}: delete: operationId: deleteBusinessPerspective parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Delete business perspective tags: - - Business Monitoring - x-ibm-ahub-byok: true + - Business Monitoring get: operationId: getBusinessPerspective parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -4457,54 +4807,53 @@ paths: name: biz-perspective description: This is an example business perspective rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: EXPRESSION - logicalOperator: AND - elements: - type: EXPRESSION - logicalOperator: OR + logicalOperator: AND elements: - - type: TAG_FILTER - name: service.id - stringValue: my-service-1 - numberValue: null - booleanValue: null - key: null - value: my-service-1 - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: service.id - stringValue: my-service-2 - numberValue: null - booleanValue: null - key: null - value: my-service-2 - operator: EQUALS - entity: DESTINATION + - type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: service.id + stringValue: my-service-1 + numberValue: null + booleanValue: null + key: null + value: my-service-1 + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: service.id + stringValue: my-service-2 + numberValue: null + booleanValue: null + key: null + value: my-service-2 + operator: EQUALS + entity: DESTINATION schema: $ref: '#/components/schemas/BusinessPerspectiveConfig' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get business perspective tags: - - Business Monitoring - x-ibm-ahub-byok: true + - Business Monitoring put: operationId: updateBusinessPerspective parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -4512,36 +4861,36 @@ paths: label: biz-perspective name: biz-perspective rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: EXPRESSION - logicalOperator: AND - elements: - type: EXPRESSION - logicalOperator: OR + logicalOperator: AND elements: - - type: TAG_FILTER - name: service.id - stringValue: my-service-1 - numberValue: null - booleanValue: null - key: null - value: my-service-1 - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: service.id - stringValue: my-service-2 - numberValue: null - booleanValue: null - key: null - value: my-service-2 - operator: EQUALS - entity: DESTINATION + - type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: service.id + stringValue: my-service-1 + numberValue: null + booleanValue: null + key: null + value: my-service-1 + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: service.id + stringValue: my-service-2 + numberValue: null + booleanValue: null + key: null + value: my-service-2 + operator: EQUALS + entity: DESTINATION schema: $ref: '#/components/schemas/UpdatedBusinessPerspectiveConfig' required: true @@ -4556,298 +4905,318 @@ paths: name: biz-perspective description: This is an example business perspective rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: EXPRESSION - logicalOperator: AND - elements: - type: EXPRESSION - logicalOperator: OR + logicalOperator: AND elements: - - type: TAG_FILTER - name: service.id - stringValue: my-service-1 - numberValue: null - booleanValue: null - key: null - value: my-service-1 - operator: EQUALS - entity: DESTINATION - - type: TAG_FILTER - name: service.id - stringValue: my-service-2 - numberValue: null - booleanValue: null - key: null - value: my-service-2 - operator: EQUALS - entity: DESTINATION + - type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: service.id + stringValue: my-service-1 + numberValue: null + booleanValue: null + key: null + value: my-service-1 + operator: EQUALS + entity: DESTINATION + - type: TAG_FILTER + name: service.id + stringValue: my-service-2 + numberValue: null + booleanValue: null + key: null + value: my-service-2 + operator: EQUALS + entity: DESTINATION schema: $ref: '#/components/schemas/BusinessPerspectiveConfig' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Update business perspective tags: - - Business Monitoring + - Business Monitoring x-description: updateBusinessPerspective - x-ibm-ahub-byok: true /api/business-monitoring/catalog: get: operationId: getBusinessTagCatalog parameters: - - in: query - name: from - schema: - type: integer - format: int64 - - in: query - name: useCase - schema: - type: string - enum: - - GROUPING - - FILTERING - - SERVICE_MAPPING - - SMART_ALERTS - - SMART_ALERTS_LOGS - - SMART_ALERTS_ADAPTIVE_BASELINE - - SMART_ALERTS_CUSTOM_PAYLOAD - - SLI_MANAGEMENT - - APPLICATION_CONFIG - - APPLICATION_CONFIG_BLUEPRINT - - MAINTENANCE_WINDOWS - - BIZOPS_CUSTOM_DASHBOARDS_FILTERING + - in: query + name: from + schema: + type: integer + format: int64 + - in: query + name: useCase + schema: + type: string + enum: + - GROUPING + - FILTERING + - SERVICE_MAPPING + - SMART_ALERTS + - SMART_ALERTS_LOGS + - SMART_ALERTS_ADAPTIVE_BASELINE + - SMART_ALERTS_ADAPTIVE_BASELINE_FAST_INIT + - SMART_ALERTS_CUSTOM_PAYLOAD + - SLI_MANAGEMENT + - APPLICATION_CONFIG + - APPLICATION_CONFIG_BLUEPRINT + - MAINTENANCE_WINDOWS + - BIZOPS_CUSTOM_DASHBOARDS_FILTERING responses: '200': content: application/json: example: tagTree: - - label: Region or Environment - description: null - icon: null - children: - - label: Zone - description: null - icon: null - children: - - label: Agent Zone - tagName: agent.zone - type: TAG - - label: Ec2 Zone - tagName: aws.ec2.zone - type: TAG - - label: Azure Zone - tagName: azure.zone - type: TAG - type: LEVEL - queryable: false - - label: Cloud - description: null - icon: null - children: - - label: Aws Arn - tagName: aws.arn - type: TAG - - label: Ec2 Ipv4 - tagName: aws.ec2.ipv4 - type: TAG - - label: Ec2 PublicName - tagName: aws.ec2.publicName - type: TAG - - label: Ec2 Tag - tagName: aws.ec2.tag - type: TAG - - label: Ec2 Zone - tagName: aws.ec2.zone - type: TAG - - label: Ecs Cluster Name - tagName: aws.ecs.cluster.name - type: TAG - - label: Azure Zone - tagName: azure.zone - type: TAG - - label: Gce Tag - tagName: gce.tag - type: TAG - - label: Gce Zone - tagName: gce.zone - type: TAG - - label: Cloud Provider - tagName: cloud.provider - type: TAG - type: LEVEL - queryable: false - - label: Host - description: null - icon: null - children: - - label: Http Host - tagName: call.http.host - type: TAG - - label: Host Fqdn - tagName: host.fqdn - type: TAG - - label: Host Ip - tagName: host.ip - type: TAG - - label: Host Name - tagName: host.name - type: TAG - - label: Host Zone - tagName: host.zone - type: TAG - - label: Jboss Node Name - tagName: jboss.node.name - type: TAG - - label: Kubernetes Cluster Name - tagName: kubernetes.cluster.name - type: TAG - - label: Kubernetes Node Name - tagName: kubernetes.node.name - type: TAG - type: LEVEL - queryable: false - type: LEVEL - queryable: false - - label: custom - description: null - icon: null - children: - - label: HTTP + - label: Region or Environment description: null icon: null children: - - label: Http Header - tagName: call.http.header - type: TAG - - label: Http Params - tagName: call.http.params - type: TAG - - label: Http PathTemplate - tagName: call.http.pathTemplate - type: TAG + - label: Zone + description: null + icon: null + children: + - label: Agent Zone + tagName: agent.zone + type: TAG + - label: Ec2 Zone + tagName: aws.ec2.zone + type: TAG + - label: Azure Zone + tagName: azure.zone + type: TAG + type: LEVEL + queryable: false + - label: Cloud + description: null + icon: null + children: + - label: Aws Arn + tagName: aws.arn + type: TAG + - label: Ec2 Ipv4 + tagName: aws.ec2.ipv4 + type: TAG + - label: Ec2 PublicName + tagName: aws.ec2.publicName + type: TAG + - label: Ec2 Tag + tagName: aws.ec2.tag + type: TAG + - label: Ec2 Zone + tagName: aws.ec2.zone + type: TAG + - label: Ecs Cluster Name + tagName: aws.ecs.cluster.name + type: TAG + - label: Azure Zone + tagName: azure.zone + type: TAG + - label: Gce Tag + tagName: gce.tag + type: TAG + - label: Gce Zone + tagName: gce.zone + type: TAG + - label: Cloud Provider + tagName: cloud.provider + type: TAG + type: LEVEL + queryable: false + - label: Host + description: null + icon: null + children: + - label: Http Host + tagName: call.http.host + type: TAG + - label: Host Fqdn + tagName: host.fqdn + type: TAG + - label: Host Ip + tagName: host.ip + type: TAG + - label: Host Name + tagName: host.name + type: TAG + - label: Host Zone + tagName: host.zone + type: TAG + - label: Jboss Node Name + tagName: jboss.node.name + type: TAG + - label: Kubernetes Cluster Name + tagName: kubernetes.cluster.name + type: TAG + - label: Kubernetes Node Name + tagName: kubernetes.node.name + type: TAG + type: LEVEL + queryable: false type: LEVEL queryable: false - - label: Miscellaneous + - label: custom description: null icon: null children: - - label: Agent Tag - tagName: agent.tag - type: TAG - - label: Ec2 Tag - tagName: aws.ec2.tag - type: TAG - - label: Call Tag - tagName: call.tag - type: TAG + - label: HTTP + description: null + icon: null + children: + - label: Http Header + tagName: call.http.header + type: TAG + - label: Http Params + tagName: call.http.params + type: TAG + - label: Http PathTemplate + tagName: call.http.pathTemplate + type: TAG + type: LEVEL + queryable: false + - label: Miscellaneous + description: null + icon: null + children: + - label: Agent Tag + tagName: agent.tag + type: TAG + - label: Ec2 Tag + tagName: aws.ec2.tag + type: TAG + - label: Call Tag + tagName: call.tag + type: TAG + type: LEVEL + queryable: false + - label: Platform + description: null + icon: null + children: + - label: Docker Label + tagName: docker.label + type: TAG + - label: Kubernetes Label + tagName: kubernetes.label + type: TAG + - label: Kubernetes Deployment Label + tagName: kubernetes.deployment.label + type: TAG + - label: Kubernetes Pod Label + tagName: kubernetes.pod.label + type: TAG + - label: Openshift Deploymentconfig Label + tagName: openshift.deploymentconfig.label + type: TAG + type: LEVEL + queryable: false type: LEVEL queryable: false - - label: Platform - description: null - icon: null - children: - - label: Docker Label - tagName: docker.label - type: TAG - - label: Kubernetes Label - tagName: kubernetes.label - type: TAG - - label: Kubernetes Deployment Label - tagName: kubernetes.deployment.label - type: TAG - - label: Kubernetes Pod Label - tagName: kubernetes.pod.label - type: TAG - - label: Openshift Deploymentconfig Label - tagName: openshift.deploymentconfig.label - type: TAG - type: LEVEL - queryable: false - type: LEVEL - queryable: false - tags: [ - ] + tags: [] schema: $ref: '#/components/schemas/TagCatalog' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get business tag catalog tags: - - Business Monitoring + - Business Monitoring x-description: getBusinessTagCatalog - x-ibm-ahub-byok: true + /api/cassandra/metrics: + post: + operationId: getCassandraMetrics + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetCombinedMetrics' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/InfrastructureMetricResult' + description: OK + summary: Cassandra metrics + tags: + - Infrastructure Metrics + x-description: getCassandraMetrics /api/custom-dashboard: get: - description: |- + description: >- Get all accessible custom dashboards details. - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: getCustomDashboards parameters: - - description: query - example: BeeInstana - in: query - name: query - schema: - type: string - - description: pageSize - example: 2 - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: page - example: 1 - in: query - name: page - schema: - type: integer - format: int32 - - description: withTotalHits - example: false - in: query - name: withTotalHits - schema: - type: boolean + - description: query + example: BeeInstana + in: query + name: query + schema: + type: string + - description: pageSize + example: 2 + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: page + example: 1 + in: query + name: page + schema: + type: integer + format: int32 + - description: withTotalHits + example: false + in: query + name: withTotalHits + schema: + type: boolean responses: '200': content: application/json: example: - - id: gBtvG96xRpScauwsclG-KA - title: BeeInstana - aggregator - annotations: - - SHARED - - id: UtaUyPjGSTOAmPFICSbwqw - title: BeeInstana - alerting - annotations: - - SHARED + - id: gBtvG96xRpScauwsclG-KA + title: BeeInstana - aggregator + annotations: + - SHARED + - id: UtaUyPjGSTOAmPFICSbwqw + title: BeeInstana - alerting + annotations: + - SHARED schema: type: array items: $ref: '#/components/schemas/CustomDashboardPreview' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get accessible custom dashboards tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards post: - description: |2- + description: >- - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: addCustomDashboard requestBody: content: @@ -4863,114 +5232,119 @@ paths: $ref: '#/components/schemas/CustomDashboard' description: OK '403': - description: When attempting to share dashboards without the canCreatePublicCustomDashboards - permission. + description: >- + When attempting to share dashboards without the + canCreatePublicCustomDashboards permission. '422': description: When the custom dashboard payload is invalid. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Add custom dashboard tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards /api/custom-dashboard/shareable-api-tokens: get: - description: |- + description: >- Get all API tokens that have access to shareable custom dashboards. - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: getShareableApiTokens responses: '200': content: application/json: example: - - id: foJfJVpyS5eAQAhfxSRctw - name: New API Token - - id: O_OKWG48S2WemaL_e3j_vQ - name: New API Token - - id: ATBzggrzTE-aRpUMBLmG9g - name: New API Token + - id: foJfJVpyS5eAQAhfxSRctw + name: New API Token + - id: O_OKWG48S2WemaL_e3j_vQ + name: New API Token + - id: ATBzggrzTE-aRpUMBLmG9g + name: New API Token schema: type: array items: $ref: '#/components/schemas/DashboardApiToken' description: OK security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - CreatePublicCustomDashboards + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - CreatePublicCustomDashboards summary: Get all API tokens. tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards /api/custom-dashboard/shareable-users: get: - description: |- - Get all users (without invitations) that have access to shareable custom dashboards. - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + description: >- + Get all users (without invitations) that have access to shareable custom + dashboards. + + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: getShareableUsers responses: '200': content: application/json: example: - - id: 63721be55108940001ead6fa - email: JohnMcClane@instana.com - fullName: John McClane - - id: 6360a5ad034a430001c500d0 - email: HansGruber@instana.com - fullName: Hans Gruber + - id: 63721be55108940001ead6fa + email: JohnMcClane@instana.com + fullName: John McClane + - id: 6360a5ad034a430001c500d0 + email: HansGruber@instana.com + fullName: Hans Gruber schema: type: array items: $ref: '#/components/schemas/UserBasicResult' description: OK security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - CreatePublicCustomDashboards + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - CreatePublicCustomDashboards summary: Get all users (without invitations). tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards /api/custom-dashboard/{customDashboardId}: delete: - description: |2- + description: >- - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: deleteCustomDashboard parameters: - - in: path - name: customDashboardId - required: true - schema: - type: string + - in: path + name: customDashboardId + required: true + schema: + type: string responses: '204': description: Custom dashboard successfully removed security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Remove custom dashboard tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards get: - description: |- + description: >- Get all Custom Dashboard Info for specified customDashboardId. - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: getCustomDashboard parameters: - - description: customDashboardId - example: alHaYV5aSkKku_wcg53teQ - in: path - name: customDashboardId - required: true - schema: - type: string + - description: customDashboardId + example: alHaYV5aSkKku_wcg53teQ + in: path + name: customDashboardId + required: true + schema: + type: string responses: '200': content: @@ -5027,26 +5401,27 @@ paths: "ownerId": {string} } schema: - $ref: '#/components/schemas/CustomDashboardWithUserSpecificInformation' + $ref: >- + #/components/schemas/CustomDashboardWithUserSpecificInformation description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get custom dashboard tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards put: - description: |2- + description: >- - For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. + For more information on custom dashboards please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards. operationId: updateCustomDashboard parameters: - - in: path - name: customDashboardId - required: true - schema: - type: string + - in: path + name: customDashboardId + required: true + schema: + type: string requestBody: content: application/json: @@ -5061,17 +5436,17 @@ paths: $ref: '#/components/schemas/CustomDashboard' description: OK '403': - description: When attempting to share dashboards without the canCreatePublicCustomDashboards - permission. + description: >- + When attempting to share dashboards without the + canCreatePublicCustomDashboards permission. '422': description: When the custom dashboard payload is invalid. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Update custom dashboard tags: - - Custom Dashboards - x-ibm-ahub-byok: true + - Custom Dashboards /api/custom-entitytypes: get: description: This end point lists custom Entity Type Definition @@ -5084,12 +5459,11 @@ paths: $ref: '#/components/schemas/CustomEntityWithMetadata' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: List custom Entity Type Definition tags: - - Custom Entities - x-ibm-ahub-byok: true + - Custom Entities post: description: This end point creates a custom entity type operationId: createCustomEntities @@ -5107,24 +5481,23 @@ paths: $ref: '#/components/schemas/CustomEntityWithMetadata' description: OK security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureCustomEntities + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureCustomEntities summary: Create a Custom Entity type tags: - - Custom Entities - x-ibm-ahub-byok: true + - Custom Entities /api/custom-entitytypes/{id}: delete: description: This end point deletes a custom Entity type definition operationId: deleteCustomEntity parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -5139,23 +5512,22 @@ paths: $ref: '#/components/schemas/CustomEntityWithMetadata' description: Entity Deleted security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureCustomEntities + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureCustomEntities summary: Delete a Custom Entity Type tags: - - Custom Entities - x-ibm-ahub-byok: true + - Custom Entities get: description: This endpoint gets custom Entity Type by ID operationId: getCustomEntity parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -5164,21 +5536,20 @@ paths: $ref: '#/components/schemas/CustomEntityWithMetadata' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get custom Entity Types tags: - - Custom Entities - x-ibm-ahub-byok: true + - Custom Entities put: description: This end points updates the definition of a custom entity type operationId: updateCustomEntity parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -5193,30 +5564,44 @@ paths: $ref: '#/components/schemas/CustomEntityWithMetadata' description: OK security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureCustomEntities + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureCustomEntities summary: Update a Custom Entity Type tags: - - Custom Entities - x-ibm-ahub-byok: true + - Custom Entities + /api/encrypt: + post: + operationId: encrypt + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomerEmail' + responses: + default: + content: + '*/*': + schema: + type: string + description: default response /api/eum/impact/report/{eventId}: get: - description: Gets a report of users impacted by an event which was created from - a smart alert violation + description: >- + Gets a report of users impacted by an event which was created from a + smart alert violation operationId: getImpactedUsersReport parameters: - - in: path - name: eventId - required: true - schema: - type: string + - in: path + name: eventId + required: true + schema: + type: string responses: '200': content: - text/csv: { - } + text/csv: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -5227,374 +5612,534 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get impacted users report tags: - - End User Monitoring - x-ibm-ahub-byok: true - /api/events: + - End User Monitoring + /api/evaluator: get: - description: 'Get all Events within a timeframe. The timeframe is defined as - `[from, to]` or `[to - windowSize, to]`. ' - operationId: getEvents - parameters: - - description: A Unix timestamp representing the end of the requested timeframe. - Defaults to the current system time - example: 1704096000000 - in: query - name: to - schema: - type: integer - format: int64 - - description: The size of the requested timeframe, in milliseconds, relative - to the 'to' parameter. Defaults to 10 minutes (600000 milliseconds) if neither - 'windowSize' nor 'from' are provided. Resulting timeframe range = [to - - windowSize, to] - example: 600000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: A Unix timestamp representing the start of the requested timeframe. - Can be used as an alternative to 'windowSize' to define the timeframe. If - both 'from' and 'windowSize' are provided, 'from' takes precedence. Resulting - timeframe range = [from, to] - example: 1672560000000 - in: query - name: from - schema: - type: integer - format: int64 - - description: Flag to filter the results to only show events with state changes - within the timeframe. - example: true - in: query - name: filterEventUpdates - schema: - type: boolean - - description: Flag to filter the results to exclude events that have been triggered - before the timeframe. This also filters out events with state changes within - the timeframe if the events' start times begin before the timeframe. - example: true - in: query - name: excludeTriggeredBefore - schema: - type: boolean - - deprecated: true - description: Flag to filter the results to include Agent Monitoring Issues. - example: true - in: query - name: includeAgentMonitoringIssues - schema: - type: boolean - - deprecated: true - description: Flag to filter the results to include Kubernetes Info Events. - example: true - in: query - name: includeKubernetesInfoEvents - schema: - type: boolean - - description: A string representing an event type - an INCIDENT, ISSUE, or - CHANGE. This query can be repeated to use multiple filters. - example: INCIDENT - in: query - name: eventTypeFilters - schema: - type: array - items: - type: string - enum: - - INCIDENT - - ISSUE - - CHANGE - uniqueItems: true + description: Fetch all evaluator configurations for the current tenant unit. + operationId: getEvaluators responses: '200': content: application/json: - example: - - eventId: gM73SycATrOFMcL5qspByQ - start: 1706774419000 - end: 1706783931000 - type: incident - state: open - problem: New Event-test-01 - detail: test - severity: 5 - entityName: .NET App - entityLabel: powershell.exe - metrics: - - metricName: threads.lck_crs - snapshotId: zqEuPom1v7YK61jRU8cEpRhCI1w - entityId: - steadyId: '55428' - pluginId: com.instana.forge.infrastructure.runtime.clr.ClrRuntimePlatform - host: 00:15:5d:ff:fe:98:d1:f6 - entityType: INFRASTRUCTURE - fixSuggestion: test - snapshotId: zqEuPom1v7YK61jRU8cEpRhCI1w - recentEvents: - - eventId: ZzaptuusSOutGLGmqD-wzA - - eventId: oeqTbltKQw6pp1OJi_QH_Q - - eventId: Cnv-8y96SOW2CzZbn7SK7Q - - eventId: vidr6ZX9QmqhtdvBrYFR3Q - - eventId: NWfYJEUjSLSPJbxfCEW6kA - - eventId: iJ2Bm8Y5Qq-Fh-IAwAnRqQ - - eventId: kHiCKKByTdW0sMhhjxvgQg - - eventId: w-hl_-8NQXKEIemcNR5ouw - - eventId: Vn0weJOGROaFKwRtqNDaeg - - eventId: Z9yz38EOR3aR0rYlBN3oRQ - - eventId: h7-N1PT9Sim4dCbyM-sf3g - - eventId: nnWCZ2L2STi8lXFbPNUgUg - - eventId: j1NlsfUYTz69t3dqSMekPQ - probableCause: [ - ] - probableCauseMetadata: { - } schema: - type: array - items: - $ref: '#/components/schemas/EventResult' + $ref: '#/components/schemas/Evaluator' description: OK - '400': - description: Bad request. security: - - ApiKeyAuth: - - Default - summary: Get all Events + - ApiKeyAuth: + - Default + summary: Get all evaluators tags: - - Events - x-ibm-ahub-byok: true - post: - description: 'Gets a set of events by their IDs. ' - operationId: getEventsByIds + - LLM Evaluation + put: + description: >- + Create a new evaluator or update an existing one. Returns the evaluator + ID. + operationId: upsertEvaluator requestBody: content: application/json: example: - - VOMNl0OgRv2HXlsR0iUYGg - - h66yezD9Sfi5YNh_cmeG7Q + evaluatorName: Quality Evaluator + criteria: Response quality and accuracy + threshold: 0.85 schema: - type: array - items: - type: string - required: true + $ref: '#/components/schemas/Evaluator' responses: '200': content: application/json: - example: - - eventId: VOMNl0OgRv2HXlsR0iUYGg - start: 1722027687446 - end: 1722028317446 - type: issue - state: open - problem: Calls are slower than usual - detail: Calls are slower or equal to 50 ms based on latency (90th). - severity: 5 - entityName: Endpoint - entityLabel: POST /integration/slack/event - metrics: - - metricAggregation: P90 - metricName: latency - entityType: ENDPOINT - fixSuggestion: Calls are slower or equal to 50 ms based on latency - (90th). - snapshotId: A-fDmFeA5Mzl3yIs8hXs5Megwz8 - endpointId: A-fDmFeA5Mzl3yIs8hXs5Megwz8 - endpointServiceId: fc3b86a089d24ed3b7d50ac3a7639c682101d6b9 - applicationId: qOlcrsSlS_eWLGnBjooqWA - - eventId: h66yezD9Sfi5YNh_cmeG7Q - start: 1721764921276 - end: 1722028014839 - type: issue - state: open - problem: _RP Static camunda Archive Invoice for k8s-demo - detail: Calls are slower or equal to the expectation based on latency - (90th). - severity: 5 - entityName: Endpoint - entityLabel: Archive Invoice - metrics: - - metricAggregation: P90 - metricName: latency - entityType: ENDPOINT - fixSuggestion: Calls are slower or equal to the expectation based - on latency (90th). - snapshotId: MN1thidNpDc15zM-NP4ilfJs87k - endpointId: MN1thidNpDc15zM-NP4ilfJs87k - endpointServiceId: 1f0ee2b46a33c2dbfedfec9c45ad81ff1c8e7e37 - applicationId: acfRC1IqTVi41OMLAJU4Cw schema: - type: array - items: - $ref: '#/components/schemas/EventResult' + $ref: '#/components/schemas/Evaluator' description: OK - '206': - description: Some of the requested events do not exist. - '422': - description: Unprocessable entity. security: - - ApiKeyAuth: - - Default - summary: Get Events by IDs + - ApiKeyAuth: + - CanConfigureGenAiEvaluations + summary: Create or update evaluator tags: - - Events - x-ibm-ahub-byok: true - /api/events/agent-monitoring-events: + - LLM Evaluation + /api/evaluator/{evaluatorId}: + delete: + description: Delete an evaluator configuration by its ID. + operationId: deleteEvaluator + parameters: + - in: path + name: evaluatorId + required: true + schema: + type: string + description: Evaluator ID + example: 123e4567-e89b-12d3-a456-426614174000 + responses: + '204': + description: No Content - Successfully deleted + '404': + description: Not Found - Evaluator does not exist + '500': + description: Internal Server Error + security: + - ApiKeyAuth: + - CanConfigureGenAiEvaluations + summary: Delete evaluator + tags: + - LLM Evaluation get: - description: 'Gets all Agent Monitoring Events within a timeframe. The timeframe - is defined as `[from, to]` or `[to - windowSize, to]`. ' - operationId: agentMonitoringEvents + description: Fetch a specific evaluator by its ID. + operationId: getEvaluator parameters: - - description: A Unix timestamp representing the end of the requested timeframe. - Defaults to the current system time - example: 1704096000000 - in: query - name: to - schema: - type: integer - format: int64 - - description: The size of the requested timeframe, in milliseconds, relative - to the 'to' parameter. Defaults to 10 minutes (600000 milliseconds) if neither - 'windowSize' nor 'from' are provided. Resulting timeframe range = [to - - windowSize, to] - example: 600000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: A Unix timestamp representing the start of the requested timeframe. - Can be used as an alternative to 'windowSize' to define the timeframe. If - both 'from' and 'windowSize' are provided, 'from' takes precedence. Resulting - timeframe range = [from, to] - example: 1672560000000 - in: query - name: from - schema: - type: integer - format: int64 - - description: Flag to filter the results to only show events with state changes - within the timeframe. - example: true - in: query - name: filterEventUpdates - schema: - type: boolean - - description: Flag to filter the results to exclude events that have been triggered - before the timeframe. This also filters out events with state changes within - the timeframe if the events' start times begin before the timeframe. - example: true - in: query - name: excludeTriggeredBefore - schema: - type: boolean + - in: path + name: evaluatorId + required: true + schema: + type: string + description: Evaluator ID + example: 123e4567-e89b-12d3-a456-426614174000 responses: '200': content: application/json: - example: - - eventId: n8DamRZKSs6Z2f0wiZ9tVQ - start: 1707472014671 - end: 1707472674671 - type: agent_monitoring_issue - state: open - problem: 'Monitoring issue: jvm_attach_generic' - detail: 'Our Agent observed a problem with monitoring the linked process. - To resolve this issue, please check our docs (https://www.instana.com/docs/) - for error code: jvm_attach_generic' - severity: 5 - entityName: Process - entityLabel: java - entityType: INFRASTRUCTURE - fixSuggestion: 'Our Agent observed a problem with monitoring the linked - process. To resolve this issue, please check our docs (https://www.instana.com/docs/) - for error code: jvm_attach_generic' - snapshotId: 2fDFOytDpF4FYKrTdfwdlklDOPY schema: - type: array - items: - $ref: '#/components/schemas/EventResult' + $ref: '#/components/schemas/Evaluator' description: OK '404': - description: The events do not exist in the timeframe. + description: Not Found security: - - ApiKeyAuth: - - Default - summary: Get Agent Monitoring Events + - ApiKeyAuth: + - Default + summary: Get evaluator by ID tags: - - Events - x-ibm-ahub-byok: true - /api/events/kubernetes-info-events: - get: - description: 'Gets all Kubernetes Info Events within a timeframe. The timeframe - is defined as `[from, to]` or `[to - windowSize, to]`. ' - operationId: kubernetesInfoEvents + - LLM Evaluation + /api/evaluator/{evaluatorId}/reset: + post: + description: >- + Reset a built-in evaluator to its system default configuration by + soft-deleting the user's customized version. + operationId: resetEvaluator parameters: - - description: A Unix timestamp representing the end of the requested timeframe. - Defaults to the current system time - example: 1704096000000 - in: query - name: to - schema: - type: integer - format: int64 - - description: The size of the requested timeframe, in milliseconds, relative - to the 'to' parameter. Defaults to 10 minutes (600000 milliseconds) if neither - 'windowSize' nor 'from' are provided. Resulting timeframe range = [to - - windowSize, to] - example: 600000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: A Unix timestamp representing the start of the requested timeframe. - Can be used as an alternative to 'windowSize' to define the timeframe. If - both 'from' and 'windowSize' are provided, 'from' takes precedence. Resulting - timeframe range = [from, to] - example: 1672560000000 - in: query - name: from - schema: - type: integer - format: int64 - - description: Flag to filter the results to only show events with state changes - within the timeframe. - example: true - in: query - name: filterEventUpdates - schema: - type: boolean - - description: Flag to filter the results to exclude events that have been triggered - before the timeframe. This also filters out events with state changes within - the timeframe if the events' start times begin before the timeframe. - example: true - in: query - name: excludeTriggeredBefore - schema: - type: boolean + - in: path + name: evaluatorId + required: true + schema: + type: string + description: Evaluator ID + example: 123e4567-e89b-12d3-a456-426614174000 + responses: + '204': + description: No Content - Successfully reset + '400': + description: Bad Request - Not a built-in evaluator + '404': + description: Not Found + '500': + description: Internal Server Error + summary: Reset built-in evaluator + tags: + - LLM Evaluation + /api/events: + get: + description: >- + Get all Events within a timeframe. The timeframe is defined as `[from, + to]` or `[to - windowSize, to]`. + operationId: getEvents + parameters: + - description: >- + A Unix timestamp representing the end of the requested timeframe. + Defaults to the current system time + example: 1704096000000 + in: query + name: to + schema: + type: integer + format: int64 + - description: >- + The size of the requested timeframe, in milliseconds, relative to + the 'to' parameter. Defaults to 10 minutes (600000 milliseconds) if + neither 'windowSize' nor 'from' are provided. Resulting timeframe + range = [to - windowSize, to] + example: 600000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + A Unix timestamp representing the start of the requested timeframe. + Can be used as an alternative to 'windowSize' to define the + timeframe. If both 'from' and 'windowSize' are provided, 'from' + takes precedence. Resulting timeframe range = [from, to] + example: 1672560000000 + in: query + name: from + schema: + type: integer + format: int64 + - description: >- + Flag to filter the results to only show events with state changes + within the timeframe. + example: true + in: query + name: filterEventUpdates + schema: + type: boolean + - description: >- + Flag to filter the results to exclude events that have been + triggered before the timeframe. This also filters out events with + state changes within the timeframe if the events' start times begin + before the timeframe. + example: true + in: query + name: excludeTriggeredBefore + schema: + type: boolean + - deprecated: true + description: Flag to filter the results to include Agent Monitoring Issues. + example: true + in: query + name: includeAgentMonitoringIssues + schema: + type: boolean + - deprecated: true + description: Flag to filter the results to include Kubernetes Info Events. + example: true + in: query + name: includeKubernetesInfoEvents + schema: + type: boolean + - description: >- + A string representing an event type - an INCIDENT, ISSUE, or CHANGE. + This query can be repeated to use multiple filters. + example: INCIDENT + in: query + name: eventTypeFilters + schema: + type: array + items: + type: string + enum: + - INCIDENT + - ISSUE + - CHANGE + uniqueItems: true + - description: Option to include event metadata + example: true + in: query + name: includeMetadata + schema: + type: boolean responses: '200': content: application/json: example: - - eventId: nOYcBAncQIyZHdVNnBRmzQ - start: 1707472297000 - end: 1707472297000 - type: change - state: closed - problem: BackOff - detail: Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.14.1" - severity: -2 - entityName: Kubernetes Pod - entityLabel: kube-system/tiller-deploy-7bf78cdbf7-gnjg5 (pod) - entityType: INFRASTRUCTURE - fixSuggestion: Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.14.1" - snapshotId: wTRNW3DaFeQhk7G3Cx5bKC5Psgk + - eventId: gM73SycATrOFMcL5qspByQ + start: 1706774419000 + end: 1706783931000 + type: incident + state: open + problem: New Event-test-01 + detail: test + severity: 5 + entityName: .NET App + entityLabel: powershell.exe + metrics: + - metricName: threads.lck_crs + snapshotId: zqEuPom1v7YK61jRU8cEpRhCI1w + entityId: + steadyId: '55428' + pluginId: >- + com.instana.forge.infrastructure.runtime.clr.ClrRuntimePlatform + host: 00:15:5d:ff:fe:98:d1:f6 + entityType: INFRASTRUCTURE + fixSuggestion: test + snapshotId: zqEuPom1v7YK61jRU8cEpRhCI1w + recentEvents: + - eventId: ZzaptuusSOutGLGmqD-wzA + - eventId: oeqTbltKQw6pp1OJi_QH_Q + - eventId: Cnv-8y96SOW2CzZbn7SK7Q + - eventId: vidr6ZX9QmqhtdvBrYFR3Q + - eventId: NWfYJEUjSLSPJbxfCEW6kA + - eventId: iJ2Bm8Y5Qq-Fh-IAwAnRqQ + - eventId: kHiCKKByTdW0sMhhjxvgQg + - eventId: w-hl_-8NQXKEIemcNR5ouw + - eventId: Vn0weJOGROaFKwRtqNDaeg + - eventId: Z9yz38EOR3aR0rYlBN3oRQ + - eventId: h7-N1PT9Sim4dCbyM-sf3g + - eventId: nnWCZ2L2STi8lXFbPNUgUg + - eventId: j1NlsfUYTz69t3dqSMekPQ + probableCause: [] + probableCauseMetadata: {} + schema: + type: array + items: + $ref: '#/components/schemas/EventResult' + description: OK + '400': + description: Bad request. + security: + - ApiKeyAuth: + - Default + summary: Get all Events + tags: + - Events + post: + description: 'Gets a set of events by their IDs. ' + operationId: getEventsByIds + parameters: + - description: Option to include event metadata + example: true + in: query + name: includeMetadata + schema: + type: boolean + requestBody: + content: + application/json: + example: + - VOMNl0OgRv2HXlsR0iUYGg + - h66yezD9Sfi5YNh_cmeG7Q + schema: + type: array + items: + type: string + required: true + responses: + '200': + content: + application/json: + example: + - eventId: VOMNl0OgRv2HXlsR0iUYGg + start: 1722027687446 + end: 1722028317446 + type: issue + state: open + problem: Calls are slower than usual + detail: Calls are slower or equal to 50 ms based on latency (90th). + severity: 5 + entityName: Endpoint + entityLabel: POST /integration/slack/event + metrics: + - metricAggregation: P90 + metricName: latency + entityType: ENDPOINT + fixSuggestion: Calls are slower or equal to 50 ms based on latency (90th). + snapshotId: A-fDmFeA5Mzl3yIs8hXs5Megwz8 + endpointId: A-fDmFeA5Mzl3yIs8hXs5Megwz8 + endpointServiceId: fc3b86a089d24ed3b7d50ac3a7639c682101d6b9 + applicationId: qOlcrsSlS_eWLGnBjooqWA + - eventId: h66yezD9Sfi5YNh_cmeG7Q + start: 1721764921276 + end: 1722028014839 + type: issue + state: open + problem: _RP Static camunda Archive Invoice for k8s-demo + detail: >- + Calls are slower or equal to the expectation based on + latency (90th). + severity: 5 + entityName: Endpoint + entityLabel: Archive Invoice + metrics: + - metricAggregation: P90 + metricName: latency + entityType: ENDPOINT + fixSuggestion: >- + Calls are slower or equal to the expectation based on + latency (90th). + snapshotId: MN1thidNpDc15zM-NP4ilfJs87k + endpointId: MN1thidNpDc15zM-NP4ilfJs87k + endpointServiceId: 1f0ee2b46a33c2dbfedfec9c45ad81ff1c8e7e37 + applicationId: acfRC1IqTVi41OMLAJU4Cw + schema: + type: array + items: + $ref: '#/components/schemas/EventResult' + description: OK + '206': + description: Some of the requested events do not exist. + '422': + description: Unprocessable entity. + security: + - ApiKeyAuth: + - Default + summary: Get Events by IDs + tags: + - Events + /api/events/agent-monitoring-events: + get: + description: >- + Gets all Agent Monitoring Events within a timeframe. The timeframe is + defined as `[from, to]` or `[to - windowSize, to]`. + operationId: agentMonitoringEvents + parameters: + - description: >- + A Unix timestamp representing the end of the requested timeframe. + Defaults to the current system time + example: 1704096000000 + in: query + name: to + schema: + type: integer + format: int64 + - description: >- + The size of the requested timeframe, in milliseconds, relative to + the 'to' parameter. Defaults to 10 minutes (600000 milliseconds) if + neither 'windowSize' nor 'from' are provided. Resulting timeframe + range = [to - windowSize, to] + example: 600000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + A Unix timestamp representing the start of the requested timeframe. + Can be used as an alternative to 'windowSize' to define the + timeframe. If both 'from' and 'windowSize' are provided, 'from' + takes precedence. Resulting timeframe range = [from, to] + example: 1672560000000 + in: query + name: from + schema: + type: integer + format: int64 + - description: >- + Flag to filter the results to only show events with state changes + within the timeframe. + example: true + in: query + name: filterEventUpdates + schema: + type: boolean + - description: >- + Flag to filter the results to exclude events that have been + triggered before the timeframe. This also filters out events with + state changes within the timeframe if the events' start times begin + before the timeframe. + example: true + in: query + name: excludeTriggeredBefore + schema: + type: boolean + responses: + '200': + content: + application/json: + example: + - eventId: n8DamRZKSs6Z2f0wiZ9tVQ + start: 1707472014671 + end: 1707472674671 + type: agent_monitoring_issue + state: open + problem: 'Monitoring issue: jvm_attach_generic' + detail: >- + Our Agent observed a problem with monitoring the linked + process. To resolve this issue, please check our docs + (https://www.instana.com/docs/) for error code: + jvm_attach_generic + severity: 5 + entityName: Process + entityLabel: java + entityType: INFRASTRUCTURE + fixSuggestion: >- + Our Agent observed a problem with monitoring the linked + process. To resolve this issue, please check our docs + (https://www.instana.com/docs/) for error code: + jvm_attach_generic + snapshotId: 2fDFOytDpF4FYKrTdfwdlklDOPY + schema: + type: array + items: + $ref: '#/components/schemas/EventResult' + description: OK + '404': + description: The events do not exist in the timeframe. + security: + - ApiKeyAuth: + - Default + summary: Get Agent Monitoring Events + tags: + - Events + /api/events/kubernetes-info-events: + get: + description: >- + Gets all Kubernetes Info Events within a timeframe. The timeframe is + defined as `[from, to]` or `[to - windowSize, to]`. + operationId: kubernetesInfoEvents + parameters: + - description: >- + A Unix timestamp representing the end of the requested timeframe. + Defaults to the current system time + example: 1704096000000 + in: query + name: to + schema: + type: integer + format: int64 + - description: >- + The size of the requested timeframe, in milliseconds, relative to + the 'to' parameter. Defaults to 10 minutes (600000 milliseconds) if + neither 'windowSize' nor 'from' are provided. Resulting timeframe + range = [to - windowSize, to] + example: 600000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + A Unix timestamp representing the start of the requested timeframe. + Can be used as an alternative to 'windowSize' to define the + timeframe. If both 'from' and 'windowSize' are provided, 'from' + takes precedence. Resulting timeframe range = [from, to] + example: 1672560000000 + in: query + name: from + schema: + type: integer + format: int64 + - description: >- + Flag to filter the results to only show events with state changes + within the timeframe. + example: true + in: query + name: filterEventUpdates + schema: + type: boolean + - description: >- + Flag to filter the results to exclude events that have been + triggered before the timeframe. This also filters out events with + state changes within the timeframe if the events' start times begin + before the timeframe. + example: true + in: query + name: excludeTriggeredBefore + schema: + type: boolean + responses: + '200': + content: + application/json: + example: + - eventId: nOYcBAncQIyZHdVNnBRmzQ + start: 1707472297000 + end: 1707472297000 + type: change + state: closed + problem: BackOff + detail: >- + Back-off pulling image + "gcr.io/kubernetes-helm/tiller:v2.14.1" + severity: -2 + entityName: Kubernetes Pod + entityLabel: kube-system/tiller-deploy-7bf78cdbf7-gnjg5 (pod) + entityType: INFRASTRUCTURE + fixSuggestion: >- + Back-off pulling image + "gcr.io/kubernetes-helm/tiller:v2.14.1" + snapshotId: wTRNW3DaFeQhk7G3Cx5bKC5Psgk schema: type: array items: @@ -5603,20 +6148,21 @@ paths: '404': description: The events do not exist in the timeframe. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Kubernetes Info Events tags: - - Events - x-ibm-ahub-byok: true + - Events /api/events/settings/alert-configs/bulk/delete: put: - description: Atomically deletes alert configurations across multiple types. - All operations succeed or all fail. Deletion is logical (creates new version - with deleted=true) to maintain audit trail. Requires appropriate permissions - for each alert config type in the request. For example, deleting WEBSITE and - APPLICATION configs requires both CAN_CONFIGURE_WEBSITE_SMART_ALERTS and CAN_CONFIGURE_APPLICATION_SMART_ALERTS - permissions. + description: >- + Atomically deletes alert configurations across multiple types. All + operations succeed or all fail. Deletion is logical (creates new version + with deleted=true) to maintain audit trail. Requires appropriate + permissions for each alert config type in the request. For example, + deleting WEBSITE and APPLICATION configs requires both + CAN_CONFIGURE_WEBSITE_SMART_ALERTS and + CAN_CONFIGURE_APPLICATION_SMART_ALERTS permissions. operationId: bulkDeleteCrossTypeAlertConfigs requestBody: content: @@ -5624,13 +6170,13 @@ paths: example: configs: WEBSITE: - - id1 - - id2 + - id1 + - id2 APPLICATION: - - id3 - - id4 + - id3 + - id4 INFRA: - - id5 + - id5 schema: $ref: '#/components/schemas/BulkAlertConfigRequest' description: Map of alert config types to sets of IDs to delete @@ -5643,23 +6189,23 @@ paths: '401': description: Unauthorized - No valid authentication provided '403': - description: Forbidden - Missing required permissions for one or more alert + description: >- + Forbidden - Missing required permissions for one or more alert config types security: - - ApiKeyAuth: [ - ] + - ApiKeyAuth: [] summary: Bulk delete alert configurations across multiple types tags: - - Event Settings - - Events - x-ibm-ahub-byok: true + - Event Settings + - Events /api/events/settings/alert-configs/bulk/disable: put: - description: Atomically disables alert configurations across multiple types. - All operations succeed or all fail. Requires appropriate permissions for each - alert config type in the request. For example, disabling WEBSITE and APPLICATION - configs requires both CAN_CONFIGURE_WEBSITE_SMART_ALERTS and CAN_CONFIGURE_APPLICATION_SMART_ALERTS - permissions. + description: >- + Atomically disables alert configurations across multiple types. All + operations succeed or all fail. Requires appropriate permissions for + each alert config type in the request. For example, disabling WEBSITE + and APPLICATION configs requires both CAN_CONFIGURE_WEBSITE_SMART_ALERTS + and CAN_CONFIGURE_APPLICATION_SMART_ALERTS permissions. operationId: bulkDisableCrossTypeAlertConfigs requestBody: content: @@ -5667,13 +6213,13 @@ paths: example: configs: WEBSITE: - - id1 - - id2 + - id1 + - id2 APPLICATION: - - id3 - - id4 + - id3 + - id4 INFRA: - - id5 + - id5 schema: $ref: '#/components/schemas/BulkAlertConfigRequest' description: Map of alert config types to sets of IDs to disable @@ -5686,23 +6232,23 @@ paths: '401': description: Unauthorized - No valid authentication provided '403': - description: Forbidden - Missing required permissions for one or more alert + description: >- + Forbidden - Missing required permissions for one or more alert config types security: - - ApiKeyAuth: [ - ] + - ApiKeyAuth: [] summary: Bulk disable alert configurations across multiple types tags: - - Event Settings - - Events - x-ibm-ahub-byok: true + - Event Settings + - Events /api/events/settings/alert-configs/bulk/enable: put: - description: Atomically enables alert configurations across multiple types. - All operations succeed or all fail. Requires appropriate permissions for each - alert config type in the request. For example, enabling WEBSITE and APPLICATION - configs requires both CAN_CONFIGURE_WEBSITE_SMART_ALERTS and CAN_CONFIGURE_APPLICATION_SMART_ALERTS - permissions. + description: >- + Atomically enables alert configurations across multiple types. All + operations succeed or all fail. Requires appropriate permissions for + each alert config type in the request. For example, enabling WEBSITE and + APPLICATION configs requires both CAN_CONFIGURE_WEBSITE_SMART_ALERTS and + CAN_CONFIGURE_APPLICATION_SMART_ALERTS permissions. operationId: bulkEnableCrossTypeAlertConfigs requestBody: content: @@ -5710,13 +6256,13 @@ paths: example: configs: WEBSITE: - - id1 - - id2 + - id1 + - id2 APPLICATION: - - id3 - - id4 + - id3 + - id4 INFRA: - - id5 + - id5 schema: $ref: '#/components/schemas/BulkAlertConfigRequest' description: Map of alert config types to sets of IDs to enable @@ -5729,67 +6275,67 @@ paths: '401': description: Unauthorized - No valid authentication provided '403': - description: Forbidden - Missing required permissions for one or more alert + description: >- + Forbidden - Missing required permissions for one or more alert config types security: - - ApiKeyAuth: [ - ] + - ApiKeyAuth: [] summary: Bulk enable alert configurations across multiple types tags: - - Event Settings - - Events - x-ibm-ahub-byok: true + - Event Settings + - Events /api/events/settings/alertingChannels: get: - description: Gets all the alerting channels. Requires the permission called + description: >- + Gets all the alerting channels. Requires the permission called CanConfigureIntegrations. operationId: getAlertingChannels parameters: - - description: List of IDs of alert channels defined in Instana. Can be left - empty. - example: - - YbcFlaG8k5oIkxD0 - - OYcbU9gdP6OTBThJ - - qbhfsL9vTtlaBOAt - in: query - name: ids - schema: - type: array - items: - type: string - uniqueItems: true + - description: List of IDs of alert channels defined in Instana. Can be left empty. + example: + - YbcFlaG8k5oIkxD0 + - OYcbU9gdP6OTBThJ + - qbhfsL9vTtlaBOAt + in: query + name: ids + schema: + type: array + items: + type: string + uniqueItems: true responses: '200': content: application/json: example: - - id: 18iiwkDxHD7_A4mIlouise - name: Email Alert Channel - customEmailSubjectPrefix: null - emails: - - youremail@email.com - kind: EMAIL - - id: 1pFirIMvrZk9NO2R - name: Stan Test Slack Channel - webhookUrl: https://hooks.slack.com/testwebhook - iconUrl: '' - channel: team-stan-test-channel - emojiRendering: false - kind: SLACK + - id: 18iiwkDxHD7_A4mIlouise + name: Email Alert Channel + customEmailSubjectPrefix: null + emails: + - youremail@email.com + kind: EMAIL + - id: 1pFirIMvrZk9NO2R + name: Stan Test Slack Channel + webhookUrl: https://hooks.slack.com/testwebhook + iconUrl: '' + channel: team-stan-test-channel + emojiRendering: false + kind: SLACK schema: type: array items: $ref: '#/components/schemas/AbstractIntegration' description: OK security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Get all Alerting Channels tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: - description: Creates an alerting channel. Requires the permission called CanConfigureIntegrations. + description: >- + Creates an alerting channel. Requires the permission called + CanConfigureIntegrations. operationId: postAlertingChannel requestBody: content: @@ -5806,14 +6352,15 @@ paths: name: Email Alert Channel customEmailSubjectPrefix: null emails: - - youremail@email.com + - youremail@email.com kind: EMAIL schema: $ref: '#/components/schemas/AbstractIntegration' description: created the alert channel setting '302': - description: 'Redirect to the integration service for continuing the configuration - with the 3rd party system ' + description: >- + Redirect to the integration service for continuing the configuration + with the 3rd party system '400': content: application/json: @@ -5821,73 +6368,71 @@ paths: type: string description: Failed creating the alert channel setting security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Create Alert Channel tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alertingChannels/infos: get: - description: Gets the overview information of all alerting channels. Requires - the permission called CanConfigureIntegrations. + description: >- + Gets the overview information of all alerting channels. Requires the + permission called CanConfigureIntegrations. operationId: getAlertingChannelsOverview parameters: - - description: List of IDs of alert channels defined in Instana. Can be left - empty. - example: - - YbcFlaG8k5oIkxD0 - - OYcbU9gdP6OTBThJ - - qbhfsL9vTtlaBOAt - in: query - name: ids - schema: - type: array - items: - type: string - uniqueItems: true + - description: List of IDs of alert channels defined in Instana. Can be left empty. + example: + - YbcFlaG8k5oIkxD0 + - OYcbU9gdP6OTBThJ + - qbhfsL9vTtlaBOAt + in: query + name: ids + schema: + type: array + items: + type: string + uniqueItems: true responses: '200': content: application/json: example: - - id: qbhfsL9vTtlaBOAt - kind: WEB_HOOK - name: alert-response-generic-webhook - properties: { - } - - id: V_gYaoRFPe6S-T-l - kind: OPS_GENIE - name: OpsGenie QA - properties: - Alias: '' - Tags: k8s-test + - id: qbhfsL9vTtlaBOAt + kind: WEB_HOOK + name: alert-response-generic-webhook + properties: {} + - id: V_gYaoRFPe6S-T-l + kind: OPS_GENIE + name: OpsGenie QA + properties: + Alias: '' + Tags: k8s-test schema: type: array items: $ref: '#/components/schemas/IntegrationOverview' description: OK security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Get Overview of Alerting Channels tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alertingChannels/notify/{id}: post: - description: Sends alert for a specific event to an alerting channel. Provided - the event Id, an alert could be sent to the alerting channel. This endpoint + description: >- + Sends alert for a specific event to an alerting channel. Provided the + event Id, an alert could be sent to the alerting channel. This endpoint requires `canInvokeAlertChannel` permission. operationId: sendTestAlertingById parameters: - - description: ID of the alerting channel to be notified on. - example: YbcFlaG8k5oIkxD0 - in: path - name: id - required: true - schema: - type: string + - description: ID of the alerting channel to be notified on. + example: YbcFlaG8k5oIkxD0 + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -5897,21 +6442,21 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureIntegrations - summary: Notify manually to Alerting Channel. Requires the permission called + - ApiKeyAuth: + - CanConfigureIntegrations + summary: >- + Notify manually to Alerting Channel. Requires the permission called CanConfigureIntegrations. tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alertingChannels/test: put: - description: Sends a test alert to an alert channel. This is for testing if - an potential alert channel is able to receive alerts from Instana. Requires + description: >- + Sends a test alert to an alert channel. This is for testing if an + potential alert channel is able to receive alerts from Instana. Requires the permission called CanConfigureIntegrations. operationId: sendTestAlerting requestBody: @@ -5935,49 +6480,52 @@ paths: description: Success value: status: success - message: Alerting Channel was successfully triggered, please check + message: >- + Alerting Channel was successfully triggered, please check the channel! description: Test alerting channel response security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Test Alerting Channel tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alertingChannels/{id}: delete: - description: Deletes an alert channel. Requires the permission called CanConfigureIntegrations. + description: >- + Deletes an alert channel. Requires the permission called + CanConfigureIntegrations. operationId: deleteAlertingChannel parameters: - - description: ID of the Alerting Channel to delete. - example: YbcFlaG8k5oIkxD0 - in: path - name: id - required: true - schema: - type: string + - description: ID of the Alerting Channel to delete. + example: YbcFlaG8k5oIkxD0 + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Delete Alerting Channel tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings get: - description: Gets an alerting channel. Requires the permission called CanConfigureIntegrations. + description: >- + Gets an alerting channel. Requires the permission called + CanConfigureIntegrations. operationId: getAlertingChannel parameters: - - description: ID of the Alerting Channel to get. - example: YbcFlaG8k5oIkxD0 - in: path - name: id - required: true - schema: - type: string + - description: ID of the Alerting Channel to get. + example: YbcFlaG8k5oIkxD0 + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -5987,29 +6535,30 @@ paths: name: Email Alert Channel customEmailSubjectPrefix: null emails: - - youremail@email.com + - youremail@email.com kind: EMAIL schema: $ref: '#/components/schemas/AbstractIntegration' description: OK security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Get Alerting Channel tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings put: - description: Updates an alerting channel. Requires the permission called CanConfigureIntegrations. + description: >- + Updates an alerting channel. Requires the permission called + CanConfigureIntegrations. operationId: putAlertingChannel parameters: - - description: ID of the Alerting Channel to update. - example: YbcFlaG8k5oIkxD0 - in: path - name: id - required: true - schema: - type: string + - description: ID of the Alerting Channel to update. + example: YbcFlaG8k5oIkxD0 + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -6025,14 +6574,15 @@ paths: name: Email Alert Channel customEmailSubjectPrefix: null emails: - - youremail@email.com + - youremail@email.com kind: EMAIL schema: $ref: '#/components/schemas/AbstractIntegration' description: Updated the alert channel setting '302': - description: 'Redirect to the integration service for continuing the configuration - with the 3rd party system ' + description: >- + Redirect to the integration service for continuing the configuration + with the 3rd party system '400': content: application/json: @@ -6040,12 +6590,11 @@ paths: type: string description: Failed updating the alert channel setting security: - - ApiKeyAuth: - - CanConfigureIntegrations + - ApiKeyAuth: + - CanConfigureIntegrations summary: Update Alert Channel tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alerts: get: description: Gets all Alert Configurations @@ -6055,74 +6604,63 @@ paths: content: application/json: example: - - id: 5GJXiK9aciVaBPnu - alertName: CMH Alert Test - muteUntil: 9007199254740991 - integrationIds: - - GcqLyri-worP8sXX - eventFilteringConfiguration: - query: entity.host.fqdn:robot-shop-pink1.fyre.ibm.com - ruleIds: - - roILHzyaMBRDZE3FxaeZ5T_wx4Q - eventTypes: [ - ] - applicationAlertConfigIds: [ - ] - validVersion: 1 - customPayloadFields: - - type: staticString - key: cmhtest - value: cmhval - lastUpdated: 1702590551696 - invalid: false - alertChannelNames: - - CMH Email test - applicationNames: [ - ] - - id: E8Z88ThbA7RDPgbz - alertName: SQL Server Write txns Alert - muteUntil: 0 - integrationIds: - - Hrigl1epXxAc0Tym - eventFilteringConfiguration: - query: null - ruleIds: - - v1jc5yEjHRNbX8_i - eventTypes: [ - ] - applicationAlertConfigIds: [ - ] - validVersion: 1 - customPayloadFields: [ - ] - lastUpdated: 1702590551748 - invalid: false - alertChannelNames: - - Servicenow Webhook Sunny - applicationNames: [ - ] - - id: Z9eXY8LOfTuAf43e - alertName: IBM i All Alerts - muteUntil: 0 - integrationIds: [ - ] - eventFilteringConfiguration: - query: entity.ibmi.os.hostname:ut31p37.rch.stglabs.ibm.com AND event.text:* - ruleIds: [ - ] - eventTypes: - - warning - applicationAlertConfigIds: [ - ] - validVersion: 1 - customPayloadFields: [ - ] - lastUpdated: 1704894496752 - invalid: false - alertChannelNames: [ - ] - applicationNames: [ - ] + - id: 5GJXiK9aciVaBPnu + alertName: CMH Alert Test + muteUntil: 9007199254740991 + integrationIds: + - GcqLyri-worP8sXX + eventFilteringConfiguration: + query: entity.host.fqdn:robot-shop-pink1.fyre.ibm.com + ruleIds: + - roILHzyaMBRDZE3FxaeZ5T_wx4Q + eventTypes: [] + applicationAlertConfigIds: [] + validVersion: 1 + customPayloadFields: + - type: staticString + key: cmhtest + value: cmhval + lastUpdated: 1702590551696 + invalid: false + alertChannelNames: + - CMH Email test + applicationNames: [] + - id: E8Z88ThbA7RDPgbz + alertName: SQL Server Write txns Alert + muteUntil: 0 + integrationIds: + - Hrigl1epXxAc0Tym + eventFilteringConfiguration: + query: null + ruleIds: + - v1jc5yEjHRNbX8_i + eventTypes: [] + applicationAlertConfigIds: [] + validVersion: 1 + customPayloadFields: [] + lastUpdated: 1702590551748 + invalid: false + alertChannelNames: + - Servicenow Webhook Sunny + applicationNames: [] + - id: Z9eXY8LOfTuAf43e + alertName: IBM i All Alerts + muteUntil: 0 + integrationIds: [] + eventFilteringConfiguration: + query: >- + entity.ibmi.os.hostname:ut31p37.rch.stglabs.ibm.com AND + event.text:* + ruleIds: [] + eventTypes: + - warning + applicationAlertConfigIds: [] + validVersion: 1 + customPayloadFields: [] + lastUpdated: 1704894496752 + invalid: false + alertChannelNames: [] + applicationNames: [] schema: type: array items: @@ -6133,48 +6671,46 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Get all Alert Configurations tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alerts/infos: get: description: Gets all alert configurations that relate to the given alert channel. operationId: getAlertingConfigurationInfos parameters: - - description: ID of a specific alert channel configuration. - example: hu6ynJbwgB4X1rjk - in: query - name: integrationId - required: true - schema: - type: string + - description: ID of a specific alert channel configuration. + example: hu6ynJbwgB4X1rjk + in: query + name: integrationId + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: Xt67tttZF4yzemPQ - label: Production Availability Alerts - query: entity.zone:prod - eventTypes: [ - ] - selectedEvents: 2 - enabled: true - type: Alert - entityId: null - invalid: false - - id: wNbFtdyvQgeA4k8JdBSsyA - label: Database Cluster Alerts - query: null - eventTypes: null - selectedEvents: null - enabled: false - type: ApplicationSmartAlert - entityId: mwVo3lG-TD-4ssDa3w0pGA - invalid: false + - id: Xt67tttZF4yzemPQ + label: Production Availability Alerts + query: entity.zone:prod + eventTypes: [] + selectedEvents: 2 + enabled: true + type: Alert + entityId: null + invalid: false + - id: wNbFtdyvQgeA4k8JdBSsyA + label: Database Cluster Alerts + query: null + eventTypes: null + selectedEvents: null + enabled: false + type: ApplicationSmartAlert + entityId: mwVo3lG-TD-4ssDa3w0pGA + invalid: false schema: type: array items: @@ -6185,47 +6721,45 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: All alerting configuration info tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/alerts/{id}: delete: description: Delete a specific Alert Configuration by ID operationId: deleteAlert parameters: - - description: ID of a specific Alert Configuration to delete. - example: hu6ynJbwgB4X1rjkkw - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Alert Configuration to delete. + example: hu6ynJbwgB4X1rjkkw + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. '401': description: Unauthorized access - requires user authentication. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Delete Alert Configuration tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings get: description: Get a specific Alert Configuration by ID. operationId: getAlert parameters: - - description: ID of a specific Alert Configuration to retrieve. - example: iSjG7UWK3Dy6bDUc - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Alert Configuration to retrieve. + example: iSjG7UWK3Dy6bDUc + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -6235,20 +6769,17 @@ paths: alertName: test-email-alert muteUntil: 0 integrationIds: - - B1PdA6BUdA9JJRZG + - B1PdA6BUdA9JJRZG eventFilteringConfiguration: query: event.text:*BRUCE* - ruleIds: [ - ] + ruleIds: [] eventTypes: - - warning - - incident - - critical - applicationAlertConfigIds: [ - ] + - warning + - incident + - critical + applicationAlertConfigIds: [] validVersion: 1 - customPayloadFields: [ - ] + customPayloadFields: [] lastUpdated: 1718828552918 schema: $ref: '#/components/schemas/AlertingConfigurationWithLastUpdated' @@ -6260,23 +6791,22 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Get Alert Configuration tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings put: description: Create or update a specific Alert configuration by ID operationId: putAlert parameters: - - description: ID of a specific Alert Configuration to create or update. - example: hu6ynJbwgB4X1rjk - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Alert Configuration to create or update. + example: hu6ynJbwgB4X1rjk + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -6285,49 +6815,6 @@ paths: alertName: Alerts Test muteUntil: 9007199254740991 integrationIds: - - ctCR9Q373YAY27H_ - - wyAPFbP_xZCeEUn6 - - M01h5MDfb7YVQPAz - - BH4nVcoPdSpJH_4U - - ldF14o6dCKmQFJxP - - IbQkmZ46_oUGV-L7 - - wpWi9SYL7cJOu_UZ - - ds1Lpvix2WVoWTKg - eventFilteringConfiguration: - query: null - ruleIds: [ - ] - eventTypes: - - incident - - critical - applicationAlertConfigIds: [ - ] - validVersion: 1 - customPayloadFields: - - type: staticString - key: assignment_group - value: ITSM App-Dev - - type: staticString - key: category - value: Software - - type: staticString - key: change_test - value: test kevin - - type: staticString - key: assigned_to - value: Antony Alldis - schema: - $ref: '#/components/schemas/AlertingConfiguration' - required: true - responses: - '200': - content: - application/json: - example: - id: hu6ynJbwgB4X1rjk - alertName: Alerts Test - muteUntil: 0 - integrationIds: - ctCR9Q373YAY27H_ - wyAPFbP_xZCeEUn6 - M01h5MDfb7YVQPAz @@ -6336,17 +6823,15 @@ paths: - IbQkmZ46_oUGV-L7 - wpWi9SYL7cJOu_UZ - ds1Lpvix2WVoWTKg - eventFilteringConfiguration: - query: null - ruleIds: [ - ] - eventTypes: + eventFilteringConfiguration: + query: null + ruleIds: [] + eventTypes: - incident - critical - applicationAlertConfigIds: [ - ] - validVersion: 1 - customPayloadFields: + applicationAlertConfigIds: [] + validVersion: 1 + customPayloadFields: - type: staticString key: assignment_group value: ITSM App-Dev @@ -6359,6 +6844,47 @@ paths: - type: staticString key: assigned_to value: Antony Alldis + schema: + $ref: '#/components/schemas/AlertingConfiguration' + required: true + responses: + '200': + content: + application/json: + example: + id: hu6ynJbwgB4X1rjk + alertName: Alerts Test + muteUntil: 0 + integrationIds: + - ctCR9Q373YAY27H_ + - wyAPFbP_xZCeEUn6 + - M01h5MDfb7YVQPAz + - BH4nVcoPdSpJH_4U + - ldF14o6dCKmQFJxP + - IbQkmZ46_oUGV-L7 + - wpWi9SYL7cJOu_UZ + - ds1Lpvix2WVoWTKg + eventFilteringConfiguration: + query: null + ruleIds: [] + eventTypes: + - incident + - critical + applicationAlertConfigIds: [] + validVersion: 1 + customPayloadFields: + - type: staticString + key: assignment_group + value: ITSM App-Dev + - type: staticString + key: category + value: Software + - type: staticString + key: change_test + value: test kevin + - type: staticString + key: assigned_to + value: Antony Alldis schema: $ref: '#/components/schemas/AlertingConfigurationWithLastUpdated' description: OK @@ -6369,110 +6895,115 @@ paths: '422': description: Unprocessable request - missing/invalid data. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Create or update Alert Configuration tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/application-alert-configs: get: - description: |- - Gets all the Smart Alert Configurations pertaining to a specific application. Configurations are sorted by creation date in descending order. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + description: >- + Gets all the Smart Alert Configurations pertaining to a specific + application. Configurations are sorted by creation date in descending + order. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: findAllActiveApplicationAlertConfigs parameters: - - description: The ID of a specific Application. - example: IYS1XOEcTNiT1eOD8pxgXg - in: query - name: applicationId - required: true - schema: - type: string - - description: A list of Smart Alert Configuration IDs. This allows fetching - of a specific set of Configurations. This query can be repeated to use multiple - IDs. - example: IYS1XOEcTNiT1eOD8pxgXg - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: The ID of a specific Application. + example: IYS1XOEcTNiT1eOD8pxgXg + in: query + name: applicationId + required: true + schema: + type: string + nullable: true + - description: >- + A list of Smart Alert Configuration IDs. This allows fetching of a + specific set of Configurations. This query can be repeated to use + multiple IDs. + example: IYS1XOEcTNiT1eOD8pxgXg + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - name: Erroneous call rate is higher than normal - description: The erroneous call rate is higher or equal to 4%. - boundaryScope: ALL - applicationId: IYS1XOEcTNiT1eOD8pxgXg - applications: - IYS1XOEcTNiT1eOD8pxgXg: - applicationId: IYS1XOEcTNiT1eOD8pxgXg - inclusive: true - services: { - } - severity: 5 - triggering: false - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - includeInternal: false - includeSynthetic: false - rule: - alertType: errors - metricName: errors - aggregation: MEAN - threshold: - type: staticThreshold - operator: '>=' - value: 0.04 - lastUpdated: 0 - alertChannelIds: [ - ] - granularity: 600000 - timeThreshold: - type: violationsInSequence - timeWindow: 600000 - evaluationType: PER_AP - customPayloadFields: [ - ] - id: A5VvSXR_SVG6z7YbnIHiHQ - created: 1707751873882 - initialCreated: 1707751873882 - readOnly: false - enabled: true - derivedFromGlobalAlert: false + - name: Erroneous call rate is higher than normal + description: The erroneous call rate is higher or equal to 4%. + boundaryScope: ALL + applicationId: IYS1XOEcTNiT1eOD8pxgXg + applications: + IYS1XOEcTNiT1eOD8pxgXg: + applicationId: IYS1XOEcTNiT1eOD8pxgXg + inclusive: true + services: {} + severity: 5 + triggering: false + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + includeInternal: false + includeSynthetic: false + rule: + alertType: errors + metricName: errors + aggregation: MEAN + threshold: + type: staticThreshold + operator: '>=' + value: 0.04 + lastUpdated: 0 + alertChannelIds: [] + granularity: 600000 + timeThreshold: + type: violationsInSequence + timeWindow: 600000 + evaluationType: PER_AP + customPayloadFields: [] + id: A5VvSXR_SVG6z7YbnIHiHQ + created: 1707751873882 + initialCreated: 1707751873882 + readOnly: false + enabled: true + derivedFromGlobalAlert: false schema: type: array items: $ref: '#/components/schemas/ApplicationAlertConfigWithMetadata' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all Smart Alert Configs tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration post: - description: |- + description: >- Creates a new Smart Alert Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: createApplicationAlertConfig requestBody: content: application/json: example: name: Calls are slower than usual - description: Calls are slower or equal to the expectation based on latency + description: >- + Calls are slower or equal to the expectation based on latency (90th). boundaryScope: INBOUND applicationId: ZOi0te_ERE-mRm-9zsbwdg @@ -6480,8 +7011,7 @@ paths: ZOi0te_ERE-mRm-9zsbwdg: applicationId: ZOi0te_ERE-mRm-9zsbwdg inclusive: true - services: { - } + services: {} severity: 5 triggering: false tagFilterExpression: @@ -6505,23 +7035,21 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 1 - - 3 - - - 600000 - - 1 - - 3 + - - 0 + - 1 + - 3 + - - 600000 + - 1 + - 3 deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/ApplicationAlertConfig' required: true @@ -6531,16 +7059,16 @@ paths: application/json: example: name: Calls are slower than usual - description: Calls are slower or equal to the expectation based on - latency (90th). + description: >- + Calls are slower or equal to the expectation based on latency + (90th). boundaryScope: INBOUND applicationId: ZOi0te_ERE-mRm-9zsbwdg applications: ZOi0te_ERE-mRm-9zsbwdg: applicationId: ZOi0te_ERE-mRm-9zsbwdg inclusive: true - services: { - } + services: {} severity: 5 triggering: false tagFilterExpression: @@ -6564,23 +7092,21 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 1 - - 3 - - - 600000 - - 1 - - 3 + - - 0 + - 1 + - 3 + - - 600000 + - 1 + - 3 deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] id: DKp0JArJRAiQIav9CoKSWQ created: 1706617456952 initialCreated: 1706617456952 @@ -6599,25 +7125,25 @@ paths: '428': description: Baseline calculation failed due to insufficient data. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Create Smart Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/bulk/delete: put: - description: Deletes multiple application alert configurations. Creates new - revisions for all specified alerts with deleted=true. All revisions share - the same timestamp. Maximum 1000 IDs per request. + description: >- + Deletes multiple application alert configurations. Creates new revisions + for all specified alerts with deleted=true. All revisions share the same + timestamp. Maximum 1000 IDs per request. operationId: bulkDeleteApplicationAlertConfigs requestBody: content: application/json: example: - - alert-id-1 - - alert-id-2 - - alert-id-3 + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: string required: true @@ -6628,26 +7154,28 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Bulk Delete Application Smart Alert Configs tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/bulk/disable: put: - description: Disables multiple application alert configurations. Creates new - revisions for all specified alerts with enabled=false. All revisions share - the same timestamp. Maximum 1000 IDs per request. + description: >- + Disables multiple application alert configurations. Creates new + revisions for all specified alerts with enabled=false. All revisions + share the same timestamp. Maximum 1000 IDs per request. operationId: bulkDisableApplicationAlertConfigs requestBody: content: application/json: example: - - alert-id-1 - - alert-id-2 - - alert-id-3 + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: string required: true @@ -6658,26 +7186,28 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Bulk Disable Application Smart Alert Configs tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/bulk/enable: put: - description: Enables multiple application alert configurations. Creates new - revisions for all specified alerts with enabled=true. All revisions share - the same timestamp. Maximum 1000 IDs per request. + description: >- + Enables multiple application alert configurations. Creates new revisions + for all specified alerts with enabled=true. All revisions share the same + timestamp. Maximum 1000 IDs per request. operationId: bulkEnableApplicationAlertConfigs requestBody: content: application/json: example: - - alert-id-1 - - alert-id-2 - - alert-id-3 + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: string required: true @@ -6688,27 +7218,31 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Bulk Enable Application Smart Alert Configs tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/{id}: delete: - description: |- + description: >- Deletes an Smart Alert Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: deleteApplicationAlertConfig parameters: - - description: ID of a specific Smart Alert Configuration to delete. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Smart Alert Configuration to delete. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -6717,50 +7251,54 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Delete Smart Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration get: - description: |- - Gets a specific Smart Alert Configuration. This may return a deleted Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + description: >- + Gets a specific Smart Alert Configuration. This may return a deleted + Configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: findApplicationAlertConfig parameters: - - description: ID of a specific Smart Alert Configuration to retrieve. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string - - description: 'A Unix timestamp representing a specific time the Configuration - was active. If no timestamp is provided, the latest active version will - be retrieved. ' - example: 1706617456952 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: ID of a specific Smart Alert Configuration to retrieve. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string + - description: >- + A Unix timestamp representing a specific time the Configuration was + active. If no timestamp is provided, the latest active version will + be retrieved. + example: 1706617456952 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: application/json: example: name: Calls are slower than usual - description: Calls are slower or equal to the expectation based on - latency (90th). + description: >- + Calls are slower or equal to the expectation based on latency + (90th). boundaryScope: INBOUND applicationId: ZOi0te_ERE-mRm-9zsbwdg applications: ZOi0te_ERE-mRm-9zsbwdg: applicationId: ZOi0te_ERE-mRm-9zsbwdg inclusive: true - services: { - } + services: {} severity: 5 triggering: false tagFilterExpression: @@ -6784,23 +7322,21 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 1 - - 3 - - - 600000 - - 1 - - 3 + - - 0 + - 1 + - 3 + - - 600000 + - 1 + - 3 deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] id: DKp0JArJRAiQIav9CoKSWQ created: 1706617456952 initialCreated: 1706617456952 @@ -6815,31 +7351,34 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Smart Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration post: - description: |- + description: >- Updates an existing Smart Alert Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: updateApplicationAlertConfig parameters: - - description: ID of a specific Smart Alert Configuration to update. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Smart Alert Configuration to update. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: example: name: Calls are slower than usual - description: Calls are slower or equal to the expectation based on latency + description: >- + Calls are slower or equal to the expectation based on latency (90th). boundaryScope: INBOUND applicationId: ZOi0te_ERE-mRm-9zsbwdg @@ -6847,8 +7386,7 @@ paths: ZOi0te_ERE-mRm-9zsbwdg: applicationId: ZOi0te_ERE-mRm-9zsbwdg inclusive: true - services: { - } + services: {} severity: 5 triggering: false tagFilterExpression: @@ -6872,23 +7410,21 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 1 - - 3 - - - 600000 - - 1 - - 3 + - - 0 + - 1 + - 3 + - - 600000 + - 1 + - 3 deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/ApplicationAlertConfig' required: true @@ -6898,16 +7434,16 @@ paths: application/json: example: name: Calls are slower than usual - description: Calls are slower or equal to the expectation based on - latency (90th). + description: >- + Calls are slower or equal to the expectation based on latency + (90th). boundaryScope: INBOUND applicationId: ZOi0te_ERE-mRm-9zsbwdg applications: ZOi0te_ERE-mRm-9zsbwdg: applicationId: ZOi0te_ERE-mRm-9zsbwdg inclusive: true - services: { - } + services: {} severity: 5 triggering: false tagFilterExpression: @@ -6931,23 +7467,21 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 1 - - 3 - - - 600000 - - 1 - - 3 + - - 0 + - 1 + - 3 + - - 600000 + - 1 + - 3 deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] id: DKp0JArJRAiQIav9CoKSWQ created: 1706617456952 initialCreated: 1706617456952 @@ -6970,26 +7504,28 @@ paths: '500': description: Bad request. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Update Smart Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/{id}/disable: put: - description: |- + description: >- Disables an Smart Alert Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: disableApplicationAlertConfig parameters: - - description: ID of a specific Smart Alert Configuration to disable. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Smart Alert Configuration to disable. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -7004,26 +7540,28 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Disable Smart Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/{id}/enable: put: - description: |- + description: >- Enables an Smart Alert Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: enableApplicationAlertConfig parameters: - - description: ID of a specific Smart Alert Configuration to enable. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Smart Alert Configuration to enable. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -7038,35 +7576,38 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Enable Application Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/{id}/restore/{created}: put: - description: |- + description: >- Restores a deleted Smart Alert Configuration. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: restoreApplicationAlertConfig parameters: - - description: ID of a specific Smart Alert Configuration to restore. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string - - description: Unix timestamp representing the creation time of a specific Smart - Alert Configuration. - example: 1707726529124 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: ID of a specific Smart Alert Configuration to restore. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string + - description: >- + Unix timestamp representing the creation time of a specific Smart + Alert Configuration. + example: 1707726529124 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -7081,26 +7622,30 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Restore Smart Alert Config tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/{id}/update-baseline: post: - description: |- - Recalculates and updates the historic baseline (static seasonal threshold) of a Configuration. The `LastUpdated` field of the Configuration is changed to the current time. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + description: >- + Recalculates and updates the historic baseline (static seasonal + threshold) of a Configuration. The `LastUpdated` field of the + Configuration is changed to the current time. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: updateApplicationHistoricBaseline parameters: - - description: ID of a specific Smart Alert Configuration to recalculate. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Smart Alert Configuration to recalculate. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -7109,8 +7654,9 @@ paths: nullable: true responses: '200': - description: Smart Alert Configuration baseline successfully recalculated - and updated. + description: >- + Smart Alert Configuration baseline successfully recalculated and + updated. '204': description: Baseline recalculation completed with no changes needed. '400': @@ -7122,41 +7668,45 @@ paths: '428': description: Baseline calculation failed due to insufficient data. security: - - ApiKeyAuth: - - CanConfigureApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureApplicationSmartAlerts summary: Recalculate Smart Alert Config Baseline tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/application-alert-configs/{id}/versions: get: - description: |- - Gets all versions of an Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order. - For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. + description: >- + Gets all versions of an Smart Alert Configuration. This may return + deleted Configurations. Configurations are sorted by creation date in + descending order. + + For more information on Application Alert Configuration please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration. operationId: findApplicationAlertConfigVersions parameters: - - description: ID of a specific Smart Alert Configuration to retrieve. - example: DKp0JArJRAiQIav9CoKSWQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Smart Alert Configuration to retrieve. + example: DKp0JArJRAiQIav9CoKSWQ + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: DKp0JArJRAiQIav9CoKSWQ - created: 1706617456952 - enabled: true - deleted: false - changeSummary: - changeType: CREATE - author: - id: 5ee8a3e8cd70020001ecb007 - type: USER - fullName: Stan + - id: DKp0JArJRAiQIav9CoKSWQ + created: 1706617456952 + enabled: true + deleted: false + changeSummary: + changeType: CREATE + author: + id: 5ee8a3e8cd70020001ecb007 + type: USER + fullName: Stan schema: type: array items: @@ -7167,12 +7717,11 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Smart Alert Config Versions tags: - - Application Alert Configuration - x-ibm-ahub-byok: true + - Application Alert Configuration /api/events/settings/custom-payload-configurations: delete: description: Deletes a Global Custom Payload Configuration. @@ -7185,50 +7734,51 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureGlobalAlertPayload + - ApiKeyAuth: + - CanConfigureGlobalAlertPayload summary: Delete Custom Payload Configuration tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings get: description: Gets All Global Custom Payload Configurations. operationId: getCustomPayloadConfigurations parameters: - - in: query - name: context - schema: - type: string - default: ALL - description: The type of Smart Alert that the custom payload is associated - with. - enum: - - ALL - - APPLICATION - - WEBSITE - - SYNTHETIC - - MOBILE_APP - - INFRA - - LOG - - in: query - name: ownerType - schema: - type: string + - in: query + name: context + schema: + type: string + default: ALL + description: >- + The type of Smart Alert that the custom payload is associated + with. + enum: + - ALL + - APPLICATION + - WEBSITE + - SYNTHETIC + - MOBILE_APP + - INFRA + - LOG + - in: query + name: ownerType + schema: + type: string + nullable: true responses: '200': content: application/json: example: - - fields: - - type: dynamic - key: zone - value: - tagName: agent.zone - key: app - - type: staticString - key: global_custom_payload - value: 42+1 - lastUpdated: 1723212859513 + - fields: + - type: dynamic + key: zone + value: + tagName: agent.zone + key: app + - type: staticString + key: global_custom_payload + value: 42+1 + lastUpdated: 1723212859513 schema: $ref: '#/components/schemas/CustomPayloadWithVersion' description: OK @@ -7237,12 +7787,11 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureGlobalAlertPayload + - ApiKeyAuth: + - CanConfigureGlobalAlertPayload summary: Get All Global Custom Payload Configurations tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings put: description: Creates or Updates Global Custom Payload Configuration. operationId: upsertCustomPayloadConfiguration @@ -7251,14 +7800,14 @@ paths: application/json: example: fields: - - type: staticString - key: string - value: customValue - - type: dynamic - key: string - value: - tagName: agent.zone + - type: staticString key: string + value: customValue + - type: dynamic + key: string + value: + tagName: agent.zone + key: string schema: $ref: '#/components/schemas/CustomPayloadConfiguration' required: true @@ -7267,16 +7816,16 @@ paths: content: application/json: example: - - fields: - - type: staticString - key: string - value: customValue - - type: dynamic - key: string - value: - tagName: agent.zone - key: string - lastUpdated: 1723212859513 + - fields: + - type: staticString + key: string + value: customValue + - type: dynamic + key: string + value: + tagName: agent.zone + key: string + lastUpdated: 1723212859513 schema: type: array items: @@ -7291,16 +7840,16 @@ paths: '422': description: Unable to process request, request data is invalid. security: - - ApiKeyAuth: - - CanConfigureGlobalAlertPayload + - ApiKeyAuth: + - CanConfigureGlobalAlertPayload summary: Create/Update Global Custom Payload Configuration tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/custom-payload-configurations/catalog: get: - description: Custom payload tags used to filter, extract and aggregate specific - data like AP calls for alert notifications. The catalog defines available + description: >- + Custom payload tags used to filter, extract and aggregate specific data + like AP calls for alert notifications. The catalog defines available tags like application.name and their types, and other attributes. operationId: getCustomPayloadTagCatalog responses: @@ -7308,27 +7857,27 @@ paths: content: application/json: example: - - tagTree: - - label: Agent - description: null - icon: null - children: - - label: Tag - icon: lib_views_tag - tagName: agent.tag - queryable: true - type: TAG - scoreBoost: null - type: LEVEL - queryable: false - tags: - - name: azure.appservice.name - label: App Service Name - type: STRING - description: null - canApplyToSource: true - canApplyToDestination: true - idTag: false + - tagTree: + - label: Agent + description: null + icon: null + children: + - label: Tag + icon: lib_views_tag + tagName: agent.tag + queryable: true + type: TAG + scoreBoost: null + type: LEVEL + queryable: false + tags: + - name: azure.appservice.name + label: App Service Name + type: STRING + description: null + canApplyToSource: true + canApplyToDestination: true + idTag: false schema: $ref: '#/components/schemas/TagCatalog' description: OK @@ -7337,12 +7886,11 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureGlobalAlertPayload + - ApiKeyAuth: + - CanConfigureGlobalAlertPayload summary: Get Tag Catalog for Custom Payload tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/custom-payload-configurations/v2: put: description: Creates or Updates Global Custom Payload Configuration. @@ -7376,17 +7924,17 @@ paths: content: application/json: example: - - fields: - - type: staticString - key: string - value: customValue - - type: dynamic - key: string - value: - tagName: agent.zone - key: string - lastUpdated: 1723212859513 - version: 1 + - fields: + - type: staticString + key: string + value: customValue + - type: dynamic + key: string + value: + tagName: agent.zone + key: string + lastUpdated: 1723212859513 + version: 1 schema: type: array items: @@ -7403,128 +7951,134 @@ paths: '422': description: Unable to process request, request data is invalid. security: - - ApiKeyAuth: - - CanConfigureGlobalAlertPayload + - ApiKeyAuth: + - CanConfigureGlobalAlertPayload summary: Create/Update Global Custom Payload Configuration tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/built-in: get: - description: Get all built-in event specifications. Can be filtered by event - IDs or plugin IDs. + description: >- + Get all built-in event specifications. Can be filtered by event IDs or + plugin IDs. operationId: getBuiltInEventSpecifications parameters: - - in: query - name: ids - schema: - type: array - items: - type: string - uniqueItems: true - - in: query - name: plugins - schema: - type: array - items: - type: string - uniqueItems: true + - in: query + name: ids + schema: + type: array + items: + type: string + uniqueItems: true + - in: query + name: plugins + schema: + type: array + items: + type: string + uniqueItems: true responses: '200': content: application/json: example: - - id: 5J-4V_gLWm-pofGW8BEoFU7C_6s - shortPluginId: otelHost - name: CPU spends significant time waiting for input/output - description: Assesses whether the system is spending a significant - amount of time waiting for input/output operations. - hyperParams: - - id: CsSGNuJ9MCsYvN5tXoWOPIWGiyM - name: Sliding Window - description: Sliding window - defaultValue: 60000 - minValue: 60000 - maxValue: 72000000 - valueFormat: MILLIS - - id: dfLU7K_vx1Qd8FrR4M1XAmiSM0w - name: Maximum wait percentage - description: Specifies the maximum allowable CPU wait percentage. - Metric values that exceed this threshold are deemed violations. - defaultValue: 0.25 - minValue: 0 - maxValue: 1 - valueFormat: PERCENTAGE - - id: eq_Y3yLA37aralhMCV1AYuEVVoA - name: Allowed CPU Wait violations - description: Specifies the number of permitted CPU Wait violations - within the given time window. - defaultValue: 9 - minValue: 0 - maxValue: 9223372036854776000 - valueFormat: NUMBER - ruleInputs: - - inputKind: METRIC - inputName: cpu.wait - severity: 5 - triggering: false - enabled: true - hidden: false - lastUpdated: 1729198411351 - - id: kLC5kTFUUM4HiMWEkqlggo6dF-s - shortPluginId: ibmCloudEventStream - name: Event Stream has more than the recommended number of connected - Kafka clients - description: Checks whether the number of connected Kafka clients - exceeds the recommended maximum - hyperParams: - - id: qkxsXUDoELI6cHEoWSXQ4FR8-8M - name: Kafka Max Connectd Clients Percent Severe - description: Kafka max connected clients percent critical threshold - defaultValue: 0.95 - minValue: 0 - maxValue: 1 - valueFormat: PERCENTAGE - - id: x00McJfR0Y2twIIE8Hf3oxoUEoE - name: Kafka Max Connectd Clients Percent Warning - description: Kafka max connected clients percent warning threshold - defaultValue: 0.9 - minValue: 0 - maxValue: 1 - valueFormat: PERCENTAGE - ruleInputs: - - inputKind: METRIC - inputName: kafka_recommended_max_connected_clients_percent - severity: 5 - triggering: false - enabled: true - hidden: false - lastUpdated: 1729198411681 + - id: 5J-4V_gLWm-pofGW8BEoFU7C_6s + shortPluginId: otelHost + name: CPU spends significant time waiting for input/output + description: >- + Assesses whether the system is spending a significant amount + of time waiting for input/output operations. + hyperParams: + - id: CsSGNuJ9MCsYvN5tXoWOPIWGiyM + name: Sliding Window + description: Sliding window + defaultValue: 60000 + minValue: 60000 + maxValue: 72000000 + valueFormat: MILLIS + - id: dfLU7K_vx1Qd8FrR4M1XAmiSM0w + name: Maximum wait percentage + description: >- + Specifies the maximum allowable CPU wait percentage. + Metric values that exceed this threshold are deemed + violations. + defaultValue: 0.25 + minValue: 0 + maxValue: 1 + valueFormat: PERCENTAGE + - id: eq_Y3yLA37aralhMCV1AYuEVVoA + name: Allowed CPU Wait violations + description: >- + Specifies the number of permitted CPU Wait violations + within the given time window. + defaultValue: 9 + minValue: 0 + maxValue: 9223372036854776000 + valueFormat: NUMBER + ruleInputs: + - inputKind: METRIC + inputName: cpu.wait + severity: 5 + triggering: false + enabled: true + hidden: false + lastUpdated: 1729198411351 + - id: kLC5kTFUUM4HiMWEkqlggo6dF-s + shortPluginId: ibmCloudEventStream + name: >- + Event Stream has more than the recommended number of + connected Kafka clients + description: >- + Checks whether the number of connected Kafka clients exceeds + the recommended maximum + hyperParams: + - id: qkxsXUDoELI6cHEoWSXQ4FR8-8M + name: Kafka Max Connectd Clients Percent Severe + description: Kafka max connected clients percent critical threshold + defaultValue: 0.95 + minValue: 0 + maxValue: 1 + valueFormat: PERCENTAGE + - id: x00McJfR0Y2twIIE8Hf3oxoUEoE + name: Kafka Max Connectd Clients Percent Warning + description: Kafka max connected clients percent warning threshold + defaultValue: 0.9 + minValue: 0 + maxValue: 1 + valueFormat: PERCENTAGE + ruleInputs: + - inputKind: METRIC + inputName: kafka_recommended_max_connected_clients_percent + severity: 5 + triggering: false + enabled: true + hidden: false + lastUpdated: 1729198411681 schema: type: array items: - $ref: '#/components/schemas/BuiltInEventSpecificationWithLastUpdated' + $ref: >- + #/components/schemas/BuiltInEventSpecificationWithLastUpdated description: OK '401': description: Unauthorized access - requires user authentication. '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: All built-in event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/built-in/{eventSpecificationId}: delete: operationId: deleteBuiltInEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -7533,20 +8087,19 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Delete built-in event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings get: operationId: getBuiltInEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string responses: '200': content: @@ -7561,21 +8114,20 @@ paths: '404': description: Built-in event specification not found security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Built-in event specifications tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/built-in/{eventSpecificationId}/disable: post: operationId: disableBuiltInEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string requestBody: content: application/json: @@ -7596,21 +8148,20 @@ paths: '404': description: Built-in event specification not found security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Disable built-in event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/built-in/{eventSpecificationId}/enable: post: operationId: enableBuiltInEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string requestBody: content: application/json: @@ -7631,12 +8182,11 @@ paths: '404': description: Built-in event specification not found security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Enable built-in event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/custom: get: description: ' This API helps in getting all the custom event specifications.' @@ -7646,31 +8196,31 @@ paths: content: application/json: example: - - id: Yojfl6Yn9SXaFhJG - name: DP_Domain_MemoryUsage - entityType: ibmDataPowerDomain - query: null - triggering: true - description: Average Memory Usage for the DP Domain >= 0% - expirationTime: 60000 - enabled: true - rules: - - ruleType: threshold - metricName: currentMemUsage - metricPattern: null - rollup: 0 - window: 600000 - aggregation: avg - conditionOperator: '>=' - conditionValue: 0.0 - severity: 5 - ruleLogicalOperator: AND - lastUpdated: 1670404707763 - validVersion: 1 - actions: null - migrated: false - applicationAlertConfigId: null - deleted: false + - id: Yojfl6Yn9SXaFhJG + name: DP_Domain_MemoryUsage + entityType: ibmDataPowerDomain + query: null + triggering: true + description: Average Memory Usage for the DP Domain >= 0% + expirationTime: 60000 + enabled: true + rules: + - ruleType: threshold + metricName: currentMemUsage + metricPattern: null + rollup: 0 + window: 600000 + aggregation: avg + conditionOperator: '>=' + conditionValue: 0 + severity: 5 + ruleLogicalOperator: AND + lastUpdated: 1670404707763 + validVersion: 1 + actions: null + migrated: false + applicationAlertConfigId: null + deleted: false schema: type: array items: @@ -7681,12 +8231,11 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: All custom event specifications tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: operationId: postCustomEventSpecification requestBody: @@ -7709,24 +8258,25 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Create new custom event specification tags: - - Event Settings + - Event Settings x-description: postCustomEventSpecification - x-ibm-ahub-byok: true /api/events/settings/event-specifications/custom/systemRules: get: - description: This API helps to get all the system rules for custom event specifications. + description: >- + This API helps to get all the system rules for custom event + specifications. operationId: getSystemRules responses: '200': content: application/json: example: - - id: entity.offline - name: Offline event detection (System Rule) + - id: entity.offline + name: Offline event detection (System Rule) schema: type: array items: @@ -7737,21 +8287,20 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: All system rules for custom event specifications tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/custom/{eventSpecificationId}: delete: operationId: deleteCustomEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -7760,25 +8309,23 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Delete custom event specification tags: - - Event Settings + - Event Settings x-description: deleteCustomEventSpecification - x-ibm-ahub-byok: true get: - description: This API helps to get the Custom Event specification for the given - ID. + description: This API helps to get the Custom Event specification for the given ID. operationId: getCustomEventSpecification parameters: - - description: eventSpecificationId - example: Yojfl6Yn9SXaFhJG - in: path - name: eventSpecificationId - required: true - schema: - type: string + - description: eventSpecificationId + example: Yojfl6Yn9SXaFhJG + in: path + name: eventSpecificationId + required: true + schema: + type: string responses: '200': content: @@ -7793,17 +8340,17 @@ paths: expirationTime: 60000 enabled: true rules: - - ruleType: threshold - severity: 5 - metricName: currentMemUsage - rollup: 0 - window: 600000 - metricPattern: null - aggregation: avg - conditionOperator: '>=' - conditionValue: 0.0 - metricLabel: Current Memory Usage - metricFormat: PERCENTAGE + - ruleType: threshold + severity: 5 + metricName: currentMemUsage + rollup: 0 + window: 600000 + metricPattern: null + aggregation: avg + conditionOperator: '>=' + conditionValue: 0 + metricLabel: Current Memory Usage + metricFormat: PERCENTAGE ruleLogicalOperator: AND lastUpdated: 1670404707763 validVersion: 1 @@ -7821,24 +8368,23 @@ paths: '404': description: Custom Event does not exist security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Custom event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings put: operationId: putCustomEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string - - in: query - name: allowRestore - schema: - type: boolean + - in: path + name: eventSpecificationId + required: true + schema: + type: string + - in: query + name: allowRestore + schema: + type: boolean requestBody: content: application/json: @@ -7853,8 +8399,9 @@ paths: $ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated' description: OK '400': - description: 'Invalid request: unsupported entity type, incorrect query, - or event is deleted or migrated.' + description: >- + Invalid request: unsupported entity type, incorrect query, or event + is deleted or migrated. '401': description: Unauthorized access - requires user authentication. '403': @@ -7862,22 +8409,21 @@ paths: '500': description: Custom event cannot be updated. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Create or update custom event specification tags: - - Event Settings + - Event Settings x-description: putCustomEventSpecification - x-ibm-ahub-byok: true /api/events/settings/event-specifications/custom/{eventSpecificationId}/disable: post: operationId: disableCustomEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string requestBody: content: application/json: @@ -7900,21 +8446,20 @@ paths: '404': description: Custom Event does not exist security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Disable custom event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/custom/{eventSpecificationId}/enable: post: operationId: enableCustomEventSpecification parameters: - - in: path - name: eventSpecificationId - required: true - schema: - type: string + - in: path + name: eventSpecificationId + required: true + schema: + type: string requestBody: content: application/json: @@ -7937,15 +8482,15 @@ paths: '404': description: Custom Event does not exist security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Enable custom event specification tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/event-specifications/infos: get: - description: This API helps to get the summary of all build-in and custom event + description: >- + This API helps to get the summary of all build-in and custom event specifications operationId: getEventSpecificationInfos responses: @@ -7953,17 +8498,18 @@ paths: content: application/json: example: - - id: yBGNFSh-pcKzZVBFnxoBu_36Yw4 - name: Frequent TCP errors - description: Checks whether the host has an unusual high number of - TCP errors. - entityType: host - type: BUILT_IN - severity: 5 - triggering: false - invalid: false - enabled: true - migrated: false + - id: yBGNFSh-pcKzZVBFnxoBu_36Yw4 + name: Frequent TCP errors + description: >- + Checks whether the host has an unusual high number of TCP + errors. + entityType: host + type: BUILT_IN + severity: 5 + triggering: false + invalid: false + enabled: true + migrated: false schema: type: array items: @@ -7974,12 +8520,11 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: Summary of all built-in and custom event specifications tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: description: Summary of all built-in and custom event specifications by IDs operationId: getEventSpecificationInfosByIds @@ -8005,104 +8550,105 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureCustomAlerts + - ApiKeyAuth: + - CanConfigureCustomAlerts summary: All built-in and custom event specifications tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/global-alert-configs/applications: get: - description: |- - Gets all Global Smart Alert Configuration. Configurations are sorted by creation date in descending order. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + description: >- + Gets all Global Smart Alert Configuration. Configurations are sorted by + creation date in descending order. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: findActiveGlobalApplicationAlertConfigs parameters: - - description: The ID of a specific global application. - example: j02SxMRTSf-NCBXf5IdsjQ - in: query - name: applicationId - required: true - schema: - type: string - - description: A list of Global Smart Alert Configuration IDs. This allows fetching - of a specific set of Configurations. This query can be repeated to use multiple - IDs. - example: IYS1XOEcTNiT1eOD8pxgXg - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: The ID of a specific global application. + example: j02SxMRTSf-NCBXf5IdsjQ + in: query + name: applicationId + required: true + schema: + type: string + - description: >- + A list of Global Smart Alert Configuration IDs. This allows fetching + of a specific set of Configurations. This query can be repeated to + use multiple IDs. + example: IYS1XOEcTNiT1eOD8pxgXg + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - name: Slow calls than usual - description: Calls are slower or equal to 2 ms based on latency (90th). - boundaryScope: INBOUND - applications: - j02SxMRTSf-NCBXf5IdsjQ: - applicationId: j02SxMRTSf-NCBXf5IdsjQ - inclusive: true - services: { - } - applicationIds: - - j02SxMRTSf-NCBXf5IdsjQ - severity: 5 - triggering: false - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - includeInternal: false - includeSynthetic: false - rule: - alertType: slowness - aggregation: P90 - metricName: latency - threshold: - type: staticThreshold - operator: '>=' - value: 2.0 - lastUpdated: 0 - alertChannelIds: [ - ] - granularity: 600000 - timeThreshold: - type: violationsInSequence - timeWindow: 600000 - evaluationType: PER_AP - customPayloadFields: [ - ] - id: vlFnxhVTS3KVb-wsN26PeQ - created: 1707305626330 - initialCreated: 1707305626330 - readOnly: false - enabled: true - builtIn: false + - name: Slow calls than usual + description: Calls are slower or equal to 2 ms based on latency (90th). + boundaryScope: INBOUND + applications: + j02SxMRTSf-NCBXf5IdsjQ: + applicationId: j02SxMRTSf-NCBXf5IdsjQ + inclusive: true + services: {} + applicationIds: + - j02SxMRTSf-NCBXf5IdsjQ + severity: 5 + triggering: false + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + includeInternal: false + includeSynthetic: false + rule: + alertType: slowness + aggregation: P90 + metricName: latency + threshold: + type: staticThreshold + operator: '>=' + value: 2 + lastUpdated: 0 + alertChannelIds: [] + granularity: 600000 + timeThreshold: + type: violationsInSequence + timeWindow: 600000 + evaluationType: PER_AP + customPayloadFields: [] + id: vlFnxhVTS3KVb-wsN26PeQ + created: 1707305626330 + initialCreated: 1707305626330 + readOnly: false + enabled: true + builtIn: false schema: type: array items: - $ref: '#/components/schemas/GlobalApplicationAlertConfigWithMetadata' + $ref: >- + #/components/schemas/GlobalApplicationAlertConfigWithMetadata description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all Global Smart Alert Configs tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration post: - description: |- + description: >- Creates a new Global Smart Alert Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: createGlobalApplicationAlertConfig requestBody: content: @@ -8115,17 +8661,15 @@ paths: j02SxMRTSf-NCBXf5IdsjQ: applicationId: j02SxMRTSf-NCBXf5IdsjQ inclusive: true - services: { - } + services: {} applicationIds: - - j02SxMRTSf-NCBXf5IdsjQ + - j02SxMRTSf-NCBXf5IdsjQ severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] includeInternal: false includeSynthetic: false rule: @@ -8135,17 +8679,15 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 2.0 + value: 2 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/GlobalApplicationsAlertConfig' required: true @@ -8161,17 +8703,15 @@ paths: j02SxMRTSf-NCBXf5IdsjQ: applicationId: j02SxMRTSf-NCBXf5IdsjQ inclusive: true - services: { - } + services: {} applicationIds: - - j02SxMRTSf-NCBXf5IdsjQ + - j02SxMRTSf-NCBXf5IdsjQ severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] includeInternal: false includeSynthetic: false rule: @@ -8181,17 +8721,15 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 2.0 + value: 2 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] id: vlFnxhVTS3KVb-wsN26PeQ created: 1707305626330 initialCreated: 1707305626330 @@ -8208,18 +8746,20 @@ paths: '422': description: Unprocessable request - missing/invalid data. security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Create Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/bulk/delete: put: - description: "Deletes multiple Global Smart Alert Configurations in a single\ - \ request. Only processes non-deleted configs that the user has access to.\ - \ Built-in configs cannot be deleted. \nFor more information on Global Alert\ - \ Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration." + description: >- + Deletes multiple Global Smart Alert Configurations in a single request. + Only processes non-deleted configs that the user has access to. Built-in + configs cannot be deleted. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: bulkDeleteGlobalApplicationAlertConfigs requestBody: content: @@ -8236,19 +8776,23 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Bulk Delete Global Smart Alert Configs tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/bulk/disable: put: - description: "Disables multiple Global Smart Alert Configurations in a single\ - \ request. Only processes configs that are currently enabled and the user\ - \ has access to. \nFor more information on Global Alert Configuration please\ - \ access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration." + description: >- + Disables multiple Global Smart Alert Configurations in a single request. + Only processes configs that are currently enabled and the user has + access to. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: bulkDisableGlobalApplicationAlertConfigs requestBody: content: @@ -8265,19 +8809,23 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Bulk Disable Global Smart Alert Configs tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/bulk/enable: put: - description: "Enables multiple Global Smart Alert Configurations in a single\ - \ request. Only processes configs that are currently disabled and the user\ - \ has access to. \nFor more information on Global Alert Configuration please\ - \ access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration." + description: >- + Enables multiple Global Smart Alert Configurations in a single request. + Only processes configs that are currently disabled and the user has + access to. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: bulkEnableGlobalApplicationAlertConfigs requestBody: content: @@ -8294,27 +8842,30 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Bulk Enable Global Smart Alert Configs tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/{id}: delete: - description: |- + description: >- Deletes a Global Smart Alert Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: deleteGlobalApplicationAlertConfig parameters: - - description: ID of a specific Global Smart Alert Configuration to delete. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Global Smart Alert Configuration to delete. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -8323,34 +8874,37 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Delete Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration get: - description: |- - Gets a specific Global Smart Alert Configuration. This may return a deleted Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + description: >- + Gets a specific Global Smart Alert Configuration. This may return a + deleted Configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: findGlobalApplicationAlertConfig parameters: - - description: ID of a specific Global Smart Alert Configuration to retrieve. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string - - description: 'A Unix timestamp representing a specific time the Configuration - was active. If no timestamp is provided, the latest active version will - be retrieved. ' - example: 1707305626330 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: ID of a specific Global Smart Alert Configuration to retrieve. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string + - description: >- + A Unix timestamp representing a specific time the Configuration was + active. If no timestamp is provided, the latest active version will + be retrieved. + example: 1707305626330 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: @@ -8363,17 +8917,15 @@ paths: j02SxMRTSf-NCBXf5IdsjQ: applicationId: j02SxMRTSf-NCBXf5IdsjQ inclusive: true - services: { - } + services: {} applicationIds: - - j02SxMRTSf-NCBXf5IdsjQ + - j02SxMRTSf-NCBXf5IdsjQ severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] includeInternal: false includeSynthetic: false rule: @@ -8383,17 +8935,15 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 2.0 + value: 2 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] id: vlFnxhVTS3KVb-wsN26PeQ created: 1707305626330 initialCreated: 1707305626330 @@ -8408,25 +8958,26 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration post: - description: |- + description: >- Updates an existing Global Smart Alert Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: updateGlobalApplicationAlertConfig parameters: - - description: ID of a specific Global Smart Alert Configuration to update. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Global Smart Alert Configuration to update. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -8438,17 +8989,15 @@ paths: j02SxMRTSf-NCBXf5IdsjQ: applicationId: j02SxMRTSf-NCBXf5IdsjQ inclusive: true - services: { - } + services: {} applicationIds: - - j02SxMRTSf-NCBXf5IdsjQ + - j02SxMRTSf-NCBXf5IdsjQ severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] includeInternal: false includeSynthetic: false rule: @@ -8458,17 +9007,15 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 2.0 + value: 2 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/GlobalApplicationsAlertConfig' required: true @@ -8484,17 +9031,15 @@ paths: j02SxMRTSf-NCBXf5IdsjQ: applicationId: j02SxMRTSf-NCBXf5IdsjQ inclusive: true - services: { - } + services: {} applicationIds: - - j02SxMRTSf-NCBXf5IdsjQ + - j02SxMRTSf-NCBXf5IdsjQ severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] includeInternal: false includeSynthetic: false rule: @@ -8504,17 +9049,15 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 2.0 + value: 2 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 evaluationType: PER_AP - customPayloadFields: [ - ] + customPayloadFields: [] id: vlFnxhVTS3KVb-wsN26PeQ created: 1707305626330 initialCreated: 1707305626330 @@ -8537,26 +9080,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Update Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/{id}/disable: put: - description: |- + description: >- Disables a Global Smart Alert Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: disableGlobalApplicationAlertConfig parameters: - - description: ID of a specific Global Smart Alert Configuration to disable. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Global Smart Alert Configuration to disable. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -8571,26 +9115,27 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Disable Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/{id}/enable: put: - description: |- + description: >- Enables a Global Smart Alert Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: enableGlobalApplicationAlertConfig parameters: - - description: ID of a specific Global Smart Alert Configuration to enable. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Global Smart Alert Configuration to enable. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -8605,35 +9150,37 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Enable Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/{id}/restore/{created}: put: - description: |- + description: >- Restores a deleted Global Smart Alert Configuration. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: restoreGlobalApplicationAlertConfig parameters: - - description: ID of a specific Global Smart Alert Configuration to restore. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string - - description: Unix timestamp representing the creation time of a specific Global - Smart Alert Configuration. - example: 1707305626330 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: ID of a specific Global Smart Alert Configuration to restore. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string + - description: >- + Unix timestamp representing the creation time of a specific Global + Smart Alert Configuration. + example: 1707305626330 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -8648,41 +9195,44 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalApplicationSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalApplicationSmartAlerts summary: Restore Global Smart Alert Config tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/applications/{id}/versions: get: - description: |- - Gets all versions of a Global Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order. - For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. + description: >- + Gets all versions of a Global Smart Alert Configuration. This may return + deleted Configurations. Configurations are sorted by creation date in + descending order. + + For more information on Global Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration. operationId: findGlobalApplicationAlertConfigVersions parameters: - - description: ID of a specific Global Smart Alert Configuration to retrieve. - example: vlFnxhVTS3KVb-wsN26PeQ - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Global Smart Alert Configuration to retrieve. + example: vlFnxhVTS3KVb-wsN26PeQ + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: vlFnxhVTS3KVb-wsN26PeQ - created: 1707305626330 - enabled: true - deleted: false - changeSummary: - changeType: CREATE - author: - id: 5ee8a3e8cd70020001ecb007 - type: USER - fullName: Stan + - id: vlFnxhVTS3KVb-wsN26PeQ + created: 1707305626330 + enabled: true + deleted: false + changeSummary: + changeType: CREATE + author: + id: 5ee8a3e8cd70020001ecb007 + type: USER + fullName: Stan schema: type: array items: @@ -8693,42 +9243,40 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Global Smart Alert Config Versions tags: - - Global Application Alert Configuration - x-ibm-ahub-byok: true + - Global Application Alert Configuration /api/events/settings/global-alert-configs/logs: get: description: Configs are sorted descending by their created date. operationId: findActiveLogAlertConfigs parameters: - - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true - responses: - '200': - content: - application/json: + - in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true + responses: + '200': + content: + application/json: schema: type: array items: $ref: '#/components/schemas/LogAlertConfigWithMetadata' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: All Log Alert Configs tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration post: operationId: createLogAlertConfig requestBody: @@ -8747,21 +9295,28 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Create Log Alert Config tags: - - Log Alert Configuration + - Log Alert Configuration x-description: createLogAlertConfig - x-ibm-ahub-byok: true /api/events/settings/global-alert-configs/logs/bulk/delete: put: - description: Delete multiple log alert configurations at once. Maximum 1000 - IDs per request. + description: >- + Delete multiple log alert configurations at once. Maximum 1000 IDs per + request. operationId: bulkDeleteLogAlertConfigs requestBody: content: application/json: + examples: + Log Alert Config IDs: + description: Array of log alert configuration IDs + value: + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: array items: @@ -8771,24 +9326,33 @@ paths: '204': description: Successful - no content to return. '400': - description: Invalid request - empty list or exceeds maximum size + description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Bulk Delete Log Alert Configs tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/logs/bulk/disable: put: - description: Disable multiple log alert configurations at once. Maximum 1000 - IDs per request. + description: >- + Disable multiple log alert configurations at once. Maximum 1000 IDs per + request. operationId: bulkDisableLogAlertConfigs requestBody: content: application/json: + examples: + Log Alert Config IDs: + description: Array of log alert configuration IDs + value: + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: array items: @@ -8798,24 +9362,33 @@ paths: '204': description: Successful - no content to return. '400': - description: Invalid request - empty list or exceeds maximum size + description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Bulk Disable Log Alert Configs tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/logs/bulk/enable: put: - description: Enable multiple log alert configurations at once. Maximum 1000 - IDs per request. + description: >- + Enable multiple log alert configurations at once. Maximum 1000 IDs per + request. operationId: bulkEnableLogAlertConfigs requestBody: content: application/json: + examples: + Log Alert Config IDs: + description: Array of log alert configuration IDs + value: + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: array items: @@ -8825,25 +9398,26 @@ paths: '204': description: Successful - no content to return. '400': - description: Invalid request - empty list or exceeds maximum size + description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Bulk Enable Log Alert Configs tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/logs/{id}: delete: operationId: deleteLogAlertConfig parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -8852,27 +9426,25 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Delete Log Alert Config tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration get: - description: Find a Log Alert Config by ID. This will deliver deleted configs - too. + description: Find a Log Alert Config by ID. This will deliver deleted configs too. operationId: findLogAlertConfig parameters: - - in: path - name: id - required: true - schema: - type: string - - in: query - name: validOn - schema: - type: integer - format: int64 + - in: path + name: id + required: true + schema: + type: string + - in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: @@ -8883,20 +9455,19 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Log Alert Config tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration post: operationId: updateLogAlertConfig parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -8915,22 +9486,21 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Update Log Alert Config tags: - - Log Alert Configuration + - Log Alert Configuration x-description: updateLogAlertConfig - x-ibm-ahub-byok: true /api/events/settings/global-alert-configs/logs/{id}/disable: put: operationId: disableLogAlertConfig parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -8945,21 +9515,20 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Disable Log Alert Config tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/logs/{id}/enable: put: operationId: enableLogAlertConfig parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -8974,27 +9543,26 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Enable Log Alert Config tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/logs/{id}/restore/{created}: put: operationId: restoreLogAlertConfig parameters: - - in: path - name: id - required: true - schema: - type: string - - in: path - name: created - required: true - schema: - type: integer - format: int64 + - in: path + name: id + required: true + schema: + type: string + - in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -9009,23 +9577,23 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalLogSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalLogSmartAlerts summary: Restore Log Alert Config tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/logs/{id}/versions: get: - description: Find all versions of a Log Alert Config by ID. This will deliver - deleted configs too. Configs are sorted descending by their created date. + description: >- + Find all versions of a Log Alert Config by ID. This will deliver deleted + configs too. Configs are sorted descending by their created date. operationId: findLogAlertConfigVersions parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -9038,104 +9606,103 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get versions of Log Alert Config tags: - - Log Alert Configuration - x-ibm-ahub-byok: true + - Log Alert Configuration /api/events/settings/global-alert-configs/service-levels: get: description: Configs are sorted descending by their created date. operationId: findActiveServiceLevelsAlertConfigs parameters: - - description: SLO Configuration ID - example: SLOEANnWh9tQOa2h88kGxK6wQ - in: query - name: sloId - schema: - type: string - - description: Apdex Configuration ID - example: APDXEANnWh9tQOa2h88kGxK6wQ - in: query - name: apdexId - schema: - type: string - - description: Alert Type filter - either 'SLO' or 'APDEX' - example: SLO - in: query - name: alertType - schema: - type: string - - description: List of Service Levels Alert Configuration IDs - example: ln3IGogYS-S7CPqcOQYTNA - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: SLO Configuration ID + example: SLOEANnWh9tQOa2h88kGxK6wQ + in: query + name: sloId + schema: + type: string + nullable: true + - description: Apdex Configuration ID + example: APDXEANnWh9tQOa2h88kGxK6wQ + in: query + name: apdexId + schema: + type: string + nullable: true + - description: Alert Type filter - either 'SLO' or 'APDEX' + example: SLO + in: query + name: alertType + schema: + type: string + nullable: true + - description: List of Service Levels Alert Configuration IDs + example: ln3IGogYS-S7CPqcOQYTNA + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - name: Error Budget Remaining is low - description: Error Budget Remaining is less than or equal to 5%. - severity: 5 - triggering: true - rule: - alertType: ERROR_BUDGET - metric: BURNED_PERCENTAGE - threshold: - type: staticThreshold - operator: '>=' - value: 0.05 - lastUpdated: 1716454787342 - sloIds: - - SLOEANnWh9tQOa2h88kGxK6wQ - alertChannelIds: [ - ] - timeThreshold: - expiry: null - timeWindow: 600000 - customPayloadFields: - - type: staticString - key: foo - value: bar - id: ln3IGogYS-S7CPqcOQYTNA - created: 1717668384754 - initialCreated: 1717668384754 - readOnly: false - enabled: true + - name: Error Budget Remaining is low + description: Error Budget Remaining is less than or equal to 5%. + severity: 5 + triggering: true + rule: + alertType: ERROR_BUDGET + metric: BURNED_PERCENTAGE + threshold: + type: staticThreshold + operator: '>=' + value: 0.05 + lastUpdated: 1716454787342 + sloIds: + - SLOEANnWh9tQOa2h88kGxK6wQ + alertChannelIds: [] + timeThreshold: + expiry: null + timeWindow: 600000 + customPayloadFields: + - type: staticString + key: foo + value: bar + id: ln3IGogYS-S7CPqcOQYTNA + created: 1717668384754 + initialCreated: 1717668384754 + readOnly: false + enabled: true schema: type: array items: $ref: '#/components/schemas/ServiceLevelseAlertConfigWithMetadata' description: Fetched list of the Service Level Alert Configurations Successfully security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: All Service levels Alert Configs tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration post: operationId: createServiceLevelsAlertConfig requestBody: content: application/json: example: - alertChannelIds: [ - ] + alertChannelIds: [] customPayloadFields: - - key: foo - id: avvh9tbxpfRE65t - type: staticString - value: bar + - key: foo + id: avvh9tbxpfRE65t + type: staticString + value: bar description: Error Budget Remaining is less than or equal to 5%. name: Error Budget Remaining is low rule: @@ -9143,7 +9710,7 @@ paths: metric: BURNED_PERCENTAGE severity: 5 sloIds: - - SLOEANnWh9tQOa2h88kGxK6wQ + - SLOEANnWh9tQOa2h88kGxK6wQ threshold: type: staticThreshold value: 0.05 @@ -9174,16 +9741,15 @@ paths: value: 0.05 lastUpdated: 1716454787342 sloIds: - - SLOEANnWh9tQOa2h88kGxK6wQ - alertChannelIds: [ - ] + - SLOEANnWh9tQOa2h88kGxK6wQ + alertChannelIds: [] timeThreshold: expiry: null timeWindow: 600000 customPayloadFields: - - type: staticString - key: foo - value: bar + - type: staticString + key: foo + value: bar id: ln3IGogYS-S7CPqcOQYTNA created: 1717668384754 initialCreated: 1717668384754 @@ -9197,25 +9763,26 @@ paths: application/json: example: errors: - - Website SLOs do not support triggering -> true + - Website SLOs do not support triggering -> true schema: type: array items: type: string - description: Service levels Alert Config with Website SLOs do not support + description: >- + Service levels Alert Config with Website SLOs do not support triggering security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Create Service levels Alert Config tags: - - Service Levels Alert Configuration + - Service Levels Alert Configuration x-description: createServiceLevelsAlertConfig - x-ibm-ahub-byok: true /api/events/settings/global-alert-configs/service-levels/bulk/delete: put: - description: Delete multiple Service Levels Smart Alert configurations in a - single operation. Only configs that are not already deleted will be updated. + description: >- + Delete multiple Service Levels Smart Alert configurations in a single + operation. Only configs that are not already deleted will be updated. operationId: bulkDeleteServiceLevelsAlertConfigs requestBody: content: @@ -9229,21 +9796,22 @@ paths: '204': description: Service Levels Alert Configurations Deleted Successfully '403': - description: Forbidden - User does not have permission to configure Service + description: >- + Forbidden - User does not have permission to configure Service Levels Smart Alerts '422': - description: Unprocessable Entity - Invalid request + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Bulk Delete Service Levels Smart Alert Configs tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/service-levels/bulk/disable: put: - description: Disable multiple Service Levels Smart Alert configurations in a - single operation. Only configs that are currently enabled will be updated. + description: >- + Disable multiple Service Levels Smart Alert configurations in a single + operation. Only configs that are currently enabled will be updated. operationId: bulkDisableServiceLevelsAlertConfigs requestBody: content: @@ -9257,21 +9825,22 @@ paths: '204': description: Service Levels Alert Configurations Disabled Successfully '403': - description: Forbidden - User does not have permission to configure Service + description: >- + Forbidden - User does not have permission to configure Service Levels Smart Alerts '422': - description: Unprocessable Entity - Invalid request + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Bulk Disable Service Levels Smart Alert Configs tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/service-levels/bulk/enable: put: - description: Enable multiple Service Levels Smart Alert configurations in a - single operation. Only configs that are currently disabled will be updated. + description: >- + Enable multiple Service Levels Smart Alert configurations in a single + operation. Only configs that are currently disabled will be updated. operationId: bulkEnableServiceLevelsAlertConfigs requestBody: content: @@ -9285,65 +9854,66 @@ paths: '204': description: Service Levels Alert Configurations Enabled Successfully '403': - description: Forbidden - User does not have permission to configure Service + description: >- + Forbidden - User does not have permission to configure Service Levels Smart Alerts '422': - description: Unprocessable Entity - Invalid request + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Bulk Enable Service Levels Smart Alert Configs tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/service-levels/{id}: delete: operationId: deleteServiceLevelsAlertConfig parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string responses: '204': description: Service Levels Alert Configuration Deleted Successfully '404': content: application/json: - example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not - found"]}' + example: >- + {"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not + found"]} schema: type: string description: Service levels Alert Config with given ID not found security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Delete Service levels Alert Config tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration get: - description: Find a Service levels Alert Config by ID. This will deliver deleted + description: >- + Find a Service levels Alert Config by ID. This will deliver deleted configs too. operationId: findServiceLevelsAlertConfig parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string - - description: Service Levels Alert Version Creation Date - example: 1706617456952 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string + - description: Service Levels Alert Version Creation Date + example: 1706617456952 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: @@ -9362,19 +9932,18 @@ paths: value: 0.05 lastUpdated: 1716454787342 sloIds: - - SLOEANnWh9tQOa2h88kGxK6wQ - alertChannelIds: [ - ] + - SLOEANnWh9tQOa2h88kGxK6wQ + alertChannelIds: [] timeThreshold: expiry: null timeWindow: 600000 customPayloadFields: - - type: staticString - key: foo - value: bar + - type: staticString + key: foo + value: bar rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 id: ln3IGogYS-S7CPqcOQYTNA created: 1717668384754 initialCreated: 1717668384754 @@ -9386,39 +9955,38 @@ paths: '404': content: application/json: - example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not - found"]}' + example: >- + {"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not + found"]} schema: type: string description: Service levels Alert Config with given ID not found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Service levels Alert Config tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration post: operationId: updateServiceLevelsAlertConfig parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: example: - alertChannelIds: [ - ] + alertChannelIds: [] customPayloadFields: - - key: foo - id: avvh9tbxpfRE65t - type: staticString - value: bar + - key: foo + id: avvh9tbxpfRE65t + type: staticString + value: bar description: Error Budget Remaining is less than or equal to 5%. name: Error Budget Remaining is low rule: @@ -9426,7 +9994,7 @@ paths: metric: BURNED_PERCENTAGE severity: 5 sloIds: - - SLOEANnWh9tQOa2h88kGxK6wQ + - SLOEANnWh9tQOa2h88kGxK6wQ threshold: type: staticThreshold value: 0.05 @@ -9457,16 +10025,15 @@ paths: value: 0.05 lastUpdated: 1716454787342 sloIds: - - SLOEANnWh9tQOa2h88kGxK6wQ - alertChannelIds: [ - ] + - SLOEANnWh9tQOa2h88kGxK6wQ + alertChannelIds: [] timeThreshold: expiry: null timeWindow: 600000 customPayloadFields: - - type: staticString - key: foo - value: bar + - type: staticString + key: foo + value: bar id: ln3IGogYS-S7CPqcOQYTNA created: 1717668384754 initialCreated: 1717668384754 @@ -9482,32 +10049,32 @@ paths: application/json: example: errors: - - Website SLOs do not support triggering -> true + - Website SLOs do not support triggering -> true schema: type: array items: type: string - description: Service levels Alert Config with Website SLOs do not support + description: >- + Service levels Alert Config with Website SLOs do not support triggering security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Update Service levels Alert Config tags: - - Service Levels Alert Configuration + - Service Levels Alert Configuration x-description: updateServiceLevelsAlertConfig - x-ibm-ahub-byok: true /api/events/settings/global-alert-configs/service-levels/{id}/disable: put: operationId: disableServiceLevelsAlertConfig parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -9520,29 +10087,29 @@ paths: '404': content: application/json: - example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not - found"]}' + example: >- + {"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not + found"]} schema: type: string description: Service levels Alert Config with given ID not found security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Disable Service levels Alert Config tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/service-levels/{id}/enable: put: operationId: enableServiceLevelsAlertConfig parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -9555,37 +10122,37 @@ paths: '404': content: application/json: - example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not - found"]}' + example: >- + {"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not + found"]} schema: type: string description: Service levels Alert Config with given ID not found security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Enable Service levels Alert Config tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/service-levels/{id}/restore/{created}: put: operationId: restoreServiceLevelsAlertConfig parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string - - description: Service Levels Alert Version Creation Date - example: 1706617456952 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string + - description: Service Levels Alert Version Creation Date + example: 1706617456952 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -9598,183 +10165,193 @@ paths: '404': content: application/json: - example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not - found"]}' + example: >- + {"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not + found"]} schema: type: string description: Service levels Alert Config with given ID not found security: - - ApiKeyAuth: - - canConfigureServiceLevelSmartAlerts + - ApiKeyAuth: + - canConfigureServiceLevelSmartAlerts summary: Restore Service levels Alert Config tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/service-levels/{id}/versions: get: - description: Find all versions of a Service levels Alert Config by ID. This - will deliver deleted configs too. Configs are sorted descending by their created - date. + description: >- + Find all versions of a Service levels Alert Config by ID. This will + deliver deleted configs too. Configs are sorted descending by their + created date. operationId: findServiceLevelsAlertConfigVersions parameters: - - description: Service Levels Alert Configuration ID - example: ln3IGogYS-S7CPqcOQYTNA - in: path - name: id - required: true - schema: - type: string + - description: Service Levels Alert Configuration ID + example: ln3IGogYS-S7CPqcOQYTNA + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: ln3IGogYS-S7CPqcOQYTNA - created: 1717507017767 - enabled: false - deleted: false - changeSummary: - changeType: DISABLE - author: - id: SCzqyU_LTtmO9CCnvvVOAg - type: API - fullName: userToken - - id: ln3IGogYS-S7CPqcOQYTNA - created: 1717506979607 - enabled: true - deleted: false - changeSummary: - changeType: CREATE - author: - id: SCzqyU_LTtmO9CCnvvVOAg - type: API - fullName: userToken + - id: ln3IGogYS-S7CPqcOQYTNA + created: 1717507017767 + enabled: false + deleted: false + changeSummary: + changeType: DISABLE + author: + id: SCzqyU_LTtmO9CCnvvVOAg + type: API + fullName: userToken + - id: ln3IGogYS-S7CPqcOQYTNA + created: 1717506979607 + enabled: true + deleted: false + changeSummary: + changeType: CREATE + author: + id: SCzqyU_LTtmO9CCnvvVOAg + type: API + fullName: userToken schema: type: array items: $ref: '#/components/schemas/ConfigVersion' - description: Fetched list of Service Level Alert Configuration Versions + description: >- + Fetched list of Service Level Alert Configuration Versions Successfully '404': content: application/json: - example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not - found"]}' + example: >- + {"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not + found"]} schema: type: string description: Service levels Alert Config with given ID not found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get versions of Service levels Alert Config tags: - - Service Levels Alert Configuration - x-ibm-ahub-byok: true + - Service Levels Alert Configuration /api/events/settings/global-alert-configs/synthetics: get: - description: |- - Gets all the Synthetic Smart Alert Configuration pertaining to a specific synthetic test. Configurations are sorted by creation date in descending order. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + description: >- + Gets all the Synthetic Smart Alert Configuration pertaining to a + specific synthetic test. Configurations are sorted by creation date in + descending order. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: findActiveSyntheticAlertConfigs parameters: - - description: 'The ID of a specific Synthetic Test. ' - example: ic25Vt1T5dgKzi0K7812 - in: query - name: syntheticTestId - schema: - type: string - - description: A list of Smart Alert Configuration IDs. This allows fetching - of a specific set of Configurations. This query can be repeated to use multiple - IDs. - example: smRTFp08juKWtn8I - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: 'The ID of a specific Synthetic Test. ' + example: ic25Vt1T5dgKzi0K7812 + in: query + name: syntheticTestId + schema: + type: string + nullable: true + - description: >- + A list of Smart Alert Configuration IDs. This allows fetching of a + specific set of Configurations. This query can be repeated to use + multiple IDs. + example: smRTFp08juKWtn8I + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 - name: Tests in EU are failing - description: Tests in EU failed for 1 consecutive time - syntheticTestIds: - - ic25Vt1T5dgKzi0K7812 - - 2gBxQz3oKtXgFXzRoQ6O - severity: 5 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - - type: TAG_FILTER - name: synthetic.serviceId - stringValue: '12' - numberValue: null - booleanValue: null - key: null - value: '12' - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: synthetic.locationLabel - stringValue: US-west1 - numberValue: null - booleanValue: null - key: null - value: '123' - operator: EQUALS - entity: NOT_APPLICABLE - rule: - alertType: failure - metricName: status - aggregation: SUM - alertChannelIds: [ - ] - timeThreshold: - type: violationsInSequence - violationsCount: 1 - customPayloadFields: [ - ] - id: 2K1YQIeaSQKIcIkHPH7D3g - created: 1707486254161 - initialCreated: 1706531043586 - readOnly: false - enabled: true + - rbacTags: + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 + name: Tests in EU are failing + description: Tests in EU failed for 1 consecutive time + syntheticTestIds: + - ic25Vt1T5dgKzi0K7812 + - 2gBxQz3oKtXgFXzRoQ6O + severity: 5 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: synthetic.serviceId + stringValue: '12' + numberValue: null + booleanValue: null + key: null + value: '12' + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: synthetic.locationLabel + stringValue: US-west1 + numberValue: null + booleanValue: null + key: null + value: '123' + operator: EQUALS + entity: NOT_APPLICABLE + rule: + alertType: failure + metricName: status + aggregation: SUM + alertChannelIds: [] + timeThreshold: + type: violationsInSequence + violationsCount: 1 + customPayloadFields: [] + id: 2K1YQIeaSQKIcIkHPH7D3g + created: 1707486254161 + initialCreated: 1706531043586 + readOnly: false + enabled: true schema: type: array items: $ref: '#/components/schemas/SyntheticAlertConfigWithMetadata' description: Success. Returns empty result if syntheticTestId is invalid. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all Synthetic Smart Alert Configs tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration post: - description: |- + description: >- Creates a new Synthetic Smart Alert Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: createSyntheticAlertConfig requestBody: content: application/json: example: - name: 2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel} - description: Alert created without test but with AppId - Synthetic test + name: >- + 2 consecutive failures of ${synthetic.testName} at + locations${synthetic.locationLabel} + description: >- + Alert created without test but with AppId - Synthetic test failed for 2 consecutive times syntheticTestIds: - - ic25Vt1T5dgKzi0K7812 - - 2gBxQz3oKtXgFXzRoQ6O + - ic25Vt1T5dgKzi0K7812 + - 2gBxQz3oKtXgFXzRoQ6O severity: 5 tagFilterExpression: type: TAG_FILTER @@ -9791,12 +10368,11 @@ paths: metricName: status aggregation: SUM alertChannelIds: - - 0o1ISHPfR8-N4iUK + - 0o1ISHPfR8-N4iUK timeThreshold: type: violationsInSequence violationsCount: 2 - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/SyntheticAlertConfig' required: true @@ -9805,12 +10381,15 @@ paths: content: application/json: example: - name: 2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel} - description: Alert created without test but with AppId - Synthetic - test failed for 2 consecutive times + name: >- + 2 consecutive failures of ${synthetic.testName} at + locations${synthetic.locationLabel} + description: >- + Alert created without test but with AppId - Synthetic test + failed for 2 consecutive times syntheticTestIds: - - ic25Vt1T5dgKzi0K7812 - - 2gBxQz3oKtXgFXzRoQ6O + - ic25Vt1T5dgKzi0K7812 + - 2gBxQz3oKtXgFXzRoQ6O severity: 5 tagFilterExpression: type: TAG_FILTER @@ -9827,12 +10406,11 @@ paths: metricName: status aggregation: SUM alertChannelIds: - - 0o1ISHPfR8-N4iUK + - 0o1ISHPfR8-N4iUK timeThreshold: type: violationsInSequence violationsCount: 2 - customPayloadFields: [ - ] + customPayloadFields: [] id: qgEwvI0vRfe3Al_D7T7LSA created: 1707149760053 initialCreated: 1707145201046 @@ -9848,21 +10426,29 @@ paths: '422': description: Unprocessable request - missing/invalid data. security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Create Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/bulk/delete: put: - description: |- + description: >- Deletes multiple Synthetic Smart Alert Configurations. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: bulkDeleteSyntheticAlertConfigs requestBody: content: application/json: + examples: + Synthetic Alert Config IDs: + description: Array of synthetic alert configuration IDs + value: + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: array items: @@ -9875,22 +10461,32 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Bulk Delete Synthetic Smart Alert Configs tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/bulk/disable: put: - description: |- + description: >- Disables multiple Synthetic Smart Alert Configurations. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: bulkDisableSyntheticAlertConfigs requestBody: content: application/json: + examples: + Synthetic Alert Config IDs: + description: Array of synthetic alert configuration IDs + value: + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: array items: @@ -9903,22 +10499,32 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Bulk Disable Synthetic Smart Alert Configs tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/bulk/enable: put: - description: |- + description: >- Enables multiple Synthetic Smart Alert Configurations. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: bulkEnableSyntheticAlertConfigs requestBody: content: application/json: + examples: + Synthetic Alert Config IDs: + description: Array of synthetic alert configuration IDs + value: + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: array items: @@ -9931,27 +10537,30 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Bulk Enable Synthetic Smart Alert Configs tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/{id}: delete: - description: |- + description: >- Deletes a Synthetic Smart Alert Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: deleteSyntheticAlertConfig parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to delete. - example: 2K1YQIeaSQKIcIkHPH7D3g - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Synthetic Smart Alert Configuration to delete. + example: 2K1YQIeaSQKIcIkHPH7D3g + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -9960,45 +10569,51 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Delete Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration get: - description: |- - Gets a specific Synthetic Smart Alert Configuration. This may return a deleted Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + description: >- + Gets a specific Synthetic Smart Alert Configuration. This may return a + deleted Configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: findSyntheticAlertConfig parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to retrieve. - example: qgEwvI0vRfe3Al_D7T7LSA - in: path - name: id - required: true - schema: - type: string - - description: 'A Unix timestamp representing a specific time the Configuration - was active. If no timestamp is provided, the latest active version will - be retrieved. ' - example: 1707149760053 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: ID of a specific Synthetic Smart Alert Configuration to retrieve. + example: qgEwvI0vRfe3Al_D7T7LSA + in: path + name: id + required: true + schema: + type: string + - description: >- + A Unix timestamp representing a specific time the Configuration was + active. If no timestamp is provided, the latest active version will + be retrieved. + example: 1707149760053 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: application/json: example: - name: 2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel} - description: Alert created without test but with AppId - Synthetic - test failed for 2 consecutive times + name: >- + 2 consecutive failures of ${synthetic.testName} at + locations${synthetic.locationLabel} + description: >- + Alert created without test but with AppId - Synthetic test + failed for 2 consecutive times syntheticTestIds: - - ic25Vt1T5dgKzi0K7812 - - 2gBxQz3oKtXgFXzRoQ6O + - ic25Vt1T5dgKzi0K7812 + - 2gBxQz3oKtXgFXzRoQ6O severity: 5 tagFilterExpression: type: TAG_FILTER @@ -10015,15 +10630,14 @@ paths: metricName: status aggregation: SUM alertChannelIds: - - 0o1ISHPfR8-N4iUK + - 0o1ISHPfR8-N4iUK timeThreshold: type: violationsInSequence violationsCount: 2 - customPayloadFields: [ - ] + customPayloadFields: [] rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 id: qgEwvI0vRfe3Al_D7T7LSA created: 1707149760053 initialCreated: 1707145201046 @@ -10037,35 +10651,39 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration post: - description: |- + description: >- Updates an existing Synthetic Smart Alert Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: updateSyntheticAlertConfig parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to update. - example: qgEwvI0vRfe3Al_D7T7LSA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Synthetic Smart Alert Configuration to update. + example: qgEwvI0vRfe3Al_D7T7LSA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: example: - name: 2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel} - description: Alert created without test but with AppId - Synthetic test + name: >- + 2 consecutive failures of ${synthetic.testName} at + locations${synthetic.locationLabel} + description: >- + Alert created without test but with AppId - Synthetic test failed for 2 consecutive times syntheticTestIds: - - ic25Vt1T5dgKzi0K7812 - - 2gBxQz3oKtXgFXzRoQ6O + - ic25Vt1T5dgKzi0K7812 + - 2gBxQz3oKtXgFXzRoQ6O severity: 5 tagFilterExpression: type: TAG_FILTER @@ -10082,12 +10700,11 @@ paths: metricName: status aggregation: SUM alertChannelIds: - - 0o1ISHPfR8-N4iUK + - 0o1ISHPfR8-N4iUK timeThreshold: type: violationsInSequence violationsCount: 2 - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/SyntheticAlertConfig' required: true @@ -10096,12 +10713,15 @@ paths: content: application/json: example: - name: 2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel} - description: Alert created without test but with AppId - Synthetic - test failed for 2 consecutive times + name: >- + 2 consecutive failures of ${synthetic.testName} at + locations${synthetic.locationLabel} + description: >- + Alert created without test but with AppId - Synthetic test + failed for 2 consecutive times syntheticTestIds: - - ic25Vt1T5dgKzi0K7812 - - 2gBxQz3oKtXgFXzRoQ6O + - ic25Vt1T5dgKzi0K7812 + - 2gBxQz3oKtXgFXzRoQ6O severity: 5 tagFilterExpression: type: TAG_FILTER @@ -10118,12 +10738,11 @@ paths: metricName: status aggregation: SUM alertChannelIds: - - 0o1ISHPfR8-N4iUK + - 0o1ISHPfR8-N4iUK timeThreshold: type: violationsInSequence violationsCount: 2 - customPayloadFields: [ - ] + customPayloadFields: [] id: qgEwvI0vRfe3Al_D7T7LSA created: 1707149760053 initialCreated: 1707145201046 @@ -10143,26 +10762,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Update Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/{id}/disable: put: - description: |- + description: >- Disables a Synthetic Smart Alert Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: disableSyntheticAlertConfig parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to disable. - example: 2K1YQIeaSQKIcIkHPH7D3g - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Synthetic Smart Alert Configuration to disable. + example: 2K1YQIeaSQKIcIkHPH7D3g + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -10177,26 +10797,27 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Disable Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/{id}/enable: put: - description: |- + description: >- Enables a Synthetic Smart Alert Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: enableSyntheticAlertConfig parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to enable. - example: 2K1YQIeaSQKIcIkHPH7D3g - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Synthetic Smart Alert Configuration to enable. + example: 2K1YQIeaSQKIcIkHPH7D3g + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -10211,35 +10832,37 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Enable Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/{id}/restore/{created}: put: - description: |- + description: >- Restores a deleted Synthetic Smart Alert Configuration. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: restoreSyntheticAlertConfig parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to restore. - example: 2K1YQIeaSQKIcIkHPH7D3g - in: path - name: id - required: true - schema: - type: string - - description: Unix timestamp representing the creation time of a specific Synthetic - Smart Alert Configuration. - example: 1707726529124 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: ID of a specific Synthetic Smart Alert Configuration to restore. + example: 2K1YQIeaSQKIcIkHPH7D3g + in: path + name: id + required: true + schema: + type: string + - description: >- + Unix timestamp representing the creation time of a specific + Synthetic Smart Alert Configuration. + example: 1707726529124 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -10254,51 +10877,54 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalSyntheticSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalSyntheticSmartAlerts summary: Restore Synthetic Smart Alert Config tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/global-alert-configs/synthetics/{id}/versions: get: - description: |- - Gets all versions of a Synthetic Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order. - For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. + description: >- + Gets all versions of a Synthetic Smart Alert Configuration. This may + return deleted Configurations. Configurations are sorted by creation + date in descending order. + + For more information on Synthetic Alert Configuration please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration. operationId: findSyntheticAlertConfigVersions parameters: - - description: ID of a specific Synthetic Smart Alert Configuration to retrieve. - example: qgEwvI0vRfe3Al_D7T7LSA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Synthetic Smart Alert Configuration to retrieve. + example: qgEwvI0vRfe3Al_D7T7LSA + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: qgEwvI0vRfe3Al_D7T7LSA - created: 1707149760053 - enabled: true - deleted: false - changeSummary: - changeType: UPDATE - author: - id: 6244073003b38f0001209ec5 - type: USER - fullName: John Doe - - id: qgEwvI0vRfe3Al_D7T7LSA - created: 1707145201046 - enabled: true - deleted: false - changeSummary: - changeType: CREATE - author: - id: 6244073003b38f0001209ec5 - type: USER - fullName: John Doe + - id: qgEwvI0vRfe3Al_D7T7LSA + created: 1707149760053 + enabled: true + deleted: false + changeSummary: + changeType: UPDATE + author: + id: 6244073003b38f0001209ec5 + type: USER + fullName: John Doe + - id: qgEwvI0vRfe3Al_D7T7LSA + created: 1707145201046 + enabled: true + deleted: false + changeSummary: + changeType: CREATE + author: + id: 6244073003b38f0001209ec5 + type: USER + fullName: John Doe schema: type: array items: @@ -10309,86 +10935,54 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Synthetic Smart Alert Config Versions tags: - - Synthetic Alert Configuration - x-ibm-ahub-byok: true + - Synthetic Alert Configuration /api/events/settings/infra-alert-configs: get: description: Configs are sorted descending by their created date. operationId: findActiveInfraAlertConfigs parameters: - - description: List of IDs of Infra Smart Alert configurations - example: - - 4kxgJAXdSDiu6swQaKXrJw - - ZLo28grvQaiMqIaikJK1RQ - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: List of IDs of Infra Smart Alert configurations + example: + - 4kxgJAXdSDiu6swQaKXrJw + - ZLo28grvQaiMqIaikJK1RQ + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - name: high-mean-memory-usage - description: Something is going wrong in your infrastructure. - severity: 5 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - - type: TAG_FILTER - name: kubernetes.cluster.name - stringValue: 200_PoP_Cluster - numberValue: null - booleanValue: null - key: null - value: 200_PoP_Cluster - operator: EQUALS - entity: NOT_APPLICABLE - groupBy: - - kubernetes.cluster.name - - kubernetes.namespace.name - - kubernetes.pod.name - rule: - alertType: genericRule - metricName: memory.usage - entityType: crio - aggregation: MEAN - crossSeriesAggregation: MEAN - regex: false - threshold: - type: staticThreshold - operator: '>=' - value: 1 - lastUpdated: 1724720573744 - forecastingConfig: null - alertChannelIds: - - VjS1NvcXpOARmTvA - - CrLI3QeIZKygaNLH - granularity: 60000 - timeThreshold: - type: violationsInSequence - timeWindow: 180000 - id: 4kxgJAXdSDiu6swQaKXrJw - created: 1724720587414 - initialCreated: 1714766649532 - readOnly: false - enabled: false - customPayloadFields: - - type: staticString - key: testKey - value: team-ar - rules: - - thresholdOperator: '>=' + - name: high-mean-memory-usage + description: Something is going wrong in your infrastructure. + severity: 5 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: kubernetes.cluster.name + stringValue: 200_PoP_Cluster + numberValue: null + booleanValue: null + key: null + value: 200_PoP_Cluster + operator: EQUALS + entity: NOT_APPLICABLE + groupBy: + - kubernetes.cluster.name + - kubernetes.namespace.name + - kubernetes.pod.name rule: alertType: genericRule metricName: memory.usage @@ -10396,25 +10990,55 @@ paths: aggregation: MEAN crossSeriesAggregation: MEAN regex: false - thresholds: - WARNING: - type: staticThreshold - value: 1 - CRITICAL: - type: staticThreshold - value: 4 + threshold: + type: staticThreshold + operator: '>=' + value: 1 + lastUpdated: 1724720573744 + forecastingConfig: null + alertChannelIds: + - VjS1NvcXpOARmTvA + - CrLI3QeIZKygaNLH + granularity: 60000 + timeThreshold: + type: violationsInSequence + timeWindow: 180000 + id: 4kxgJAXdSDiu6swQaKXrJw + created: 1724720587414 + initialCreated: 1714766649532 + readOnly: false + enabled: false + customPayloadFields: + - type: staticString + key: testKey + value: team-ar + rules: + - thresholdOperator: '>=' + rule: + alertType: genericRule + metricName: memory.usage + entityType: crio + aggregation: MEAN + crossSeriesAggregation: MEAN + regex: false + thresholds: + WARNING: + type: staticThreshold + value: 1 + CRITICAL: + type: staticThreshold + value: 4 schema: type: array items: $ref: '#/components/schemas/InfraAlertConfigWithMetadata' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: All Infra Alert Configs tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration post: operationId: createInfraAlertConfig requestBody: @@ -10435,19 +11059,19 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: kubernetes.cluster.name - stringValue: 200_PoP_Cluster - numberValue: null - booleanValue: null - key: null - value: 200_PoP_Cluster - operator: EQUALS - entity: NOT_APPLICABLE + - type: TAG_FILTER + name: kubernetes.cluster.name + stringValue: 200_PoP_Cluster + numberValue: null + booleanValue: null + key: null + value: 200_PoP_Cluster + operator: EQUALS + entity: NOT_APPLICABLE groupBy: - - kubernetes.cluster.name - - kubernetes.namespace.name - - kubernetes.pod.name + - kubernetes.cluster.name + - kubernetes.namespace.name + - kubernetes.pod.name rule: alertType: genericRule metricName: memory.usage @@ -10462,8 +11086,8 @@ paths: lastUpdated: 1724720573744 forecastingConfig: null alertChannelIds: - - VjS1NvcXpOARmTvA - - CrLI3QeIZKygaNLH + - VjS1NvcXpOARmTvA + - CrLI3QeIZKygaNLH granularity: 60000 timeThreshold: type: violationsInSequence @@ -10474,25 +11098,25 @@ paths: readOnly: false enabled: false customPayloadFields: - - type: staticString - key: testKey - value: team-ar + - type: staticString + key: testKey + value: team-ar rules: - - thresholdOperator: '>=' - rule: - alertType: genericRule - metricName: memory.usage - entityType: crio - aggregation: MEAN - crossSeriesAggregation: MEAN - regex: false - thresholds: - WARNING: - type: staticThreshold - value: 1 - CRITICAL: - type: staticThreshold - value: 4 + - thresholdOperator: '>=' + rule: + alertType: genericRule + metricName: memory.usage + entityType: crio + aggregation: MEAN + crossSeriesAggregation: MEAN + regex: false + thresholds: + WARNING: + type: staticThreshold + value: 1 + CRITICAL: + type: staticThreshold + value: 4 schema: $ref: '#/components/schemas/InfraAlertConfigWithMetadata' description: OK @@ -10501,15 +11125,15 @@ paths: '422': description: Unprocessable request - missing/invalid data. security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Create Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/bulk/delete: put: - description: Delete multiple Infra Smart Alert configurations in a single operation. + description: >- + Delete multiple Infra Smart Alert configurations in a single operation. Only configs that are not already deleted will be updated. operationId: bulkDeleteInfraAlertConfigs requestBody: @@ -10526,17 +11150,17 @@ paths: '403': description: Insufficient permissions or limited in access. '422': - description: Unprocessable request - missing/invalid data. + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Bulk Delete Infra Smart Alert Configs tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/bulk/disable: put: - description: Disable multiple Infra Smart Alert configurations in a single operation. + description: >- + Disable multiple Infra Smart Alert configurations in a single operation. Only configs that are currently enabled will be updated. operationId: bulkDisableInfraAlertConfigs requestBody: @@ -10553,17 +11177,17 @@ paths: '403': description: Insufficient permissions or limited in access. '422': - description: Unprocessable request - missing/invalid data. + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Bulk Disable Infra Smart Alert Configs tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/bulk/enable: put: - description: Enable multiple Infra Smart Alert configurations in a single operation. + description: >- + Enable multiple Infra Smart Alert configurations in a single operation. Only configs that are currently disabled will be updated. operationId: bulkEnableInfraAlertConfigs requestBody: @@ -10580,25 +11204,24 @@ paths: '403': description: Insufficient permissions or limited in access. '422': - description: Unprocessable request - missing/invalid data. + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Bulk Enable Infra Smart Alert Configs tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/{id}: delete: operationId: deleteInfraAlertConfig parameters: - - description: ID of the Infra Smart Alert configuration to delete - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string + - description: ID of the Infra Smart Alert configuration to delete + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -10607,32 +11230,32 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Delete Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration get: - description: Find a Infra Alert Config by ID. This will deliver deleted configs - too. + description: Find a Infra Alert Config by ID. This will deliver deleted configs too. operationId: findInfraAlertConfig parameters: - - description: ID of the Infra Smart Alert configuration - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string - - description: 'A Unix timestamp representing a specific time the config was - active. If no timestamp is provided, the latest active version will be retrieved. ' - example: 1722877985000 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: ID of the Infra Smart Alert configuration + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string + - description: >- + A Unix timestamp representing a specific time the config was active. + If no timestamp is provided, the latest active version will be + retrieved. + example: 1722877985000 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: @@ -10645,19 +11268,19 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: kubernetes.cluster.name - stringValue: 200_PoP_Cluster - numberValue: null - booleanValue: null - key: null - value: 200_PoP_Cluster - operator: EQUALS - entity: NOT_APPLICABLE + - type: TAG_FILTER + name: kubernetes.cluster.name + stringValue: 200_PoP_Cluster + numberValue: null + booleanValue: null + key: null + value: 200_PoP_Cluster + operator: EQUALS + entity: NOT_APPLICABLE groupBy: - - kubernetes.cluster.name - - kubernetes.namespace.name - - kubernetes.pod.name + - kubernetes.cluster.name + - kubernetes.namespace.name + - kubernetes.pod.name rule: alertType: genericRule metricName: memory.usage @@ -10672,8 +11295,8 @@ paths: lastUpdated: 1724720573744 forecastingConfig: null alertChannelIds: - - VjS1NvcXpOARmTvA - - CrLI3QeIZKygaNLH + - VjS1NvcXpOARmTvA + - CrLI3QeIZKygaNLH granularity: 60000 timeThreshold: type: violationsInSequence @@ -10684,47 +11307,46 @@ paths: readOnly: false enabled: false customPayloadFields: - - type: staticString - key: testKey - value: team-ar + - type: staticString + key: testKey + value: team-ar rules: - - thresholdOperator: '>=' - rule: - alertType: genericRule - metricName: memory.usage - entityType: crio - aggregation: MEAN - crossSeriesAggregation: MEAN - regex: false - thresholds: - WARNING: - type: staticThreshold - value: 1 - CRITICAL: - type: staticThreshold - value: 4 + - thresholdOperator: '>=' + rule: + alertType: genericRule + metricName: memory.usage + entityType: crio + aggregation: MEAN + crossSeriesAggregation: MEAN + regex: false + thresholds: + WARNING: + type: staticThreshold + value: 1 + CRITICAL: + type: staticThreshold + value: 4 schema: $ref: '#/components/schemas/InfraAlertConfigWithMetadata' description: OK '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration post: operationId: updateInfraAlertConfig parameters: - - description: ID of the Infra Smart Alert configuration to update - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string + - description: ID of the Infra Smart Alert configuration to update + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -10743,19 +11365,19 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: kubernetes.cluster.name - stringValue: 200_PoP_Cluster - numberValue: null - booleanValue: null - key: null - value: 200_PoP_Cluster - operator: EQUALS - entity: NOT_APPLICABLE + - type: TAG_FILTER + name: kubernetes.cluster.name + stringValue: 200_PoP_Cluster + numberValue: null + booleanValue: null + key: null + value: 200_PoP_Cluster + operator: EQUALS + entity: NOT_APPLICABLE groupBy: - - kubernetes.cluster.name - - kubernetes.namespace.name - - kubernetes.pod.name + - kubernetes.cluster.name + - kubernetes.namespace.name + - kubernetes.pod.name rule: alertType: genericRule metricName: memory.usage @@ -10770,8 +11392,8 @@ paths: lastUpdated: 1724720573744 forecastingConfig: null alertChannelIds: - - VjS1NvcXpOARmTvA - - CrLI3QeIZKygaNLH + - VjS1NvcXpOARmTvA + - CrLI3QeIZKygaNLH granularity: 60000 timeThreshold: type: violationsInSequence @@ -10782,25 +11404,25 @@ paths: readOnly: false enabled: false customPayloadFields: - - type: staticString - key: testKey - value: team-ar + - type: staticString + key: testKey + value: team-ar rules: - - thresholdOperator: '>=' - rule: - alertType: genericRule - metricName: memory.usage - entityType: crio - aggregation: MEAN - crossSeriesAggregation: MEAN - regex: false - thresholds: - WARNING: - type: staticThreshold - value: 1 - CRITICAL: - type: staticThreshold - value: 4 + - thresholdOperator: '>=' + rule: + alertType: genericRule + metricName: memory.usage + entityType: crio + aggregation: MEAN + crossSeriesAggregation: MEAN + regex: false + thresholds: + WARNING: + type: staticThreshold + value: 1 + CRITICAL: + type: staticThreshold + value: 4 schema: $ref: '#/components/schemas/InfraAlertConfigWithMetadata' description: OK @@ -10813,23 +11435,22 @@ paths: '422': description: Unprocessable request - missing/invalid data. security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Update Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/{id}/disable: put: operationId: disableInfraAlertConfig parameters: - - description: ID of the Infra Smart Alert configuration to disable - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string + - description: ID of the Infra Smart Alert configuration to disable + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -10844,23 +11465,22 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Disable Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/{id}/enable: put: operationId: enableInfraAlertConfig parameters: - - description: ID of the Infra Smart Alert configuration to enable - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string + - description: ID of the Infra Smart Alert configuration to enable + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -10875,31 +11495,30 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Enable Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/{id}/restore/{created}: put: operationId: restoreInfraAlertConfig parameters: - - description: ID of the Infra Smart Alert configuration to restore - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string - - description: A Unix Timestamp of when the alert was created - example: 1722877985000 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: ID of the Infra Smart Alert configuration to restore + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string + - description: A Unix Timestamp of when the alert was created + example: 1722877985000 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -10914,40 +11533,41 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureGlobalInfraSmartAlerts + - ApiKeyAuth: + - CanConfigureGlobalInfraSmartAlerts summary: Restore Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/infra-alert-configs/{id}/versions: get: - description: Find all versions of a Infra Alert Config by ID. This will deliver - deleted configs too. Configs are sorted descending by their created date. + description: >- + Find all versions of a Infra Alert Config by ID. This will deliver + deleted configs too. Configs are sorted descending by their created + date. operationId: findInfraAlertConfigVersions parameters: - - description: ID of the Infra Smart Alert configuration - example: 4kxgJAXdSDiu6swQaKXrJw - in: path - name: id - required: true - schema: - type: string + - description: ID of the Infra Smart Alert configuration + example: 4kxgJAXdSDiu6swQaKXrJw + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: 4kxgJAXdSDiu6swQaKXrJw - created: 1724720587414 - enabled: false - deleted: false - changeSummary: - changeType: DISABLE - author: - id: 5ee8a3e8cd70020001ecb007 - type: USER - fullName: Stan + - id: 4kxgJAXdSDiu6swQaKXrJw + created: 1724720587414 + enabled: false + deleted: false + changeSummary: + changeType: DISABLE + author: + id: 5ee8a3e8cd70020001ecb007 + type: USER + fullName: Stan schema: type: array items: @@ -10956,24 +11576,24 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get versions of Infra Alert Config tags: - - Infrastructure Alert Configuration - x-ibm-ahub-byok: true + - Infrastructure Alert Configuration /api/events/settings/manual-close: post: - description: Manually close a set of events. A close notification will be sent - out and the event state will be updated accordingly for each event + description: >- + Manually close a set of events. A close notification will be sent out + and the event state will be updated accordingly for each event operationId: multiCloseEvent requestBody: content: application/json: example: eventIds: - - DPmhOKanQ3KmQCCElqOBeg - - PRYfcm_7QRid9IRRhW3Y4w + - DPmhOKanQ3KmQCCElqOBeg + - PRYfcm_7QRid9IRRhW3Y4w username: user123 reasonForClosing: Routine maintenance completed closeTimestamp: 1691505637000 @@ -10987,10 +11607,9 @@ paths: application/json: example: successfulRequests: - - DPmhOKanQ3KmQCCElqOBeg - - PRYfcm_7QRid9IRRhW3Y4w - failedRequests: [ - ] + - DPmhOKanQ3KmQCCElqOBeg + - PRYfcm_7QRid9IRRhW3Y4w + failedRequests: [] schema: $ref: '#/components/schemas/Json' description: The multi close operation was successful @@ -11003,24 +11622,24 @@ paths: '501': description: The multi close feature is not enabled. security: - - ApiKeyAuth: - - CanManuallyCloseIssue + - ApiKeyAuth: + - CanManuallyCloseIssue summary: Manually closing multiple events tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/manual-close/{eventId}: post: - description: Manually close an event (issue or incident). A close notification - will be sent out and the event state will be updated accordingly. + description: >- + Manually close an event (issue or incident). A close notification will + be sent out and the event state will be updated accordingly. operationId: manuallyCloseEvent parameters: - - example: exampleEventId - in: path - name: eventId - required: true - schema: - type: string + - example: exampleEventId + in: path + name: eventId + required: true + schema: + type: string requestBody: content: application/json: @@ -11111,118 +11730,119 @@ paths: '404': description: The event id refers to an event that is not open. '422': - description: Validation failed. The request body contains invalid or missing + description: >- + Validation failed. The request body contains invalid or missing required fields (e.g., blank username or reasonForClosing). security: - - ApiKeyAuth: - - CanManuallyCloseIssue + - ApiKeyAuth: + - CanManuallyCloseIssue summary: Manually close an event. tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs: get: - description: Gets all the Mobile Smart Alert Configuration pertaining to a specific - mobile app.Configurations are sorted by creation date in descending order. + description: >- + Gets all the Mobile Smart Alert Configuration pertaining to a specific + mobile app.Configurations are sorted by creation date in descending + order. operationId: findActiveMobileAppAlertConfigs parameters: - - description: The ID of a specific Mobile Application. - example: tk2OLeusR3aQJD5h-rBh2A - in: query - name: mobileAppId - required: true - schema: - type: string - - description: A list of Smart Alert Configuration IDs. This allows Mobile Application - Smart Alert Configuration of a specific set of Configurations. This query - can be repeated to use multiple IDs. - example: smRTFp08juKWtn8I - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: The ID of a specific Mobile Application. + example: tk2OLeusR3aQJD5h-rBh2A + in: query + name: mobileAppId + required: true + schema: + type: string + nullable: true + - description: >- + A list of Smart Alert Configuration IDs. This allows Mobile + Application Smart Alert Configuration of a specific set of + Configurations. This query can be repeated to use multiple IDs. + example: smRTFp08juKWtn8I + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - name: 'HTTP Status Code(s): 5XX' - description: Occurrences of HTTP Status Code 5XX (Server Error) is - above the expectation. - mobileAppId: tk2OLeusR3aQJD5h-rBh2A - severity: 5 - triggering: false - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - rule: - alertType: statusCode - metricName: httpxxx - operator: STARTS_WITH - value: '5' - aggregation: SUM - threshold: - type: staticThreshold - operator: '>=' - value: 5.0 - lastUpdated: 0 - alertChannelIds: [ - ] - granularity: 600000 - timeThreshold: - type: violationsInSequence - timeWindow: 600000 - customPayloadFields: [ - ] - rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 - id: qOW5jlR5TQafXKWDIceRkA - created: 1707224011842 - initialCreated: 1707224011842 - readOnly: false - enabled: true - completeTagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: - - type: TAG_FILTER - name: mobileBeacon.mobileApp.id - stringValue: tk2OLeusR3aQJD5h-rBh2A - numberValue: null - booleanValue: null - key: null - value: tk2OLeusR3aQJD5h-rBh2A - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: mobileBeacon.http.status - stringValue: '5' - numberValue: null - booleanValue: null - key: null - value: '5' + - name: 'HTTP Status Code(s): 5XX' + description: >- + Occurrences of HTTP Status Code 5XX (Server Error) is above + the expectation. + mobileAppId: tk2OLeusR3aQJD5h-rBh2A + severity: 5 + triggering: false + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + rule: + alertType: statusCode + metricName: httpxxx operator: STARTS_WITH - entity: NOT_APPLICABLE + value: '5' + aggregation: SUM + threshold: + type: staticThreshold + operator: '>=' + value: 5 + lastUpdated: 0 + alertChannelIds: [] + granularity: 600000 + timeThreshold: + type: violationsInSequence + timeWindow: 600000 + customPayloadFields: [] + rbacTags: + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 + id: qOW5jlR5TQafXKWDIceRkA + created: 1707224011842 + initialCreated: 1707224011842 + readOnly: false + enabled: true + completeTagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: mobileBeacon.mobileApp.id + stringValue: tk2OLeusR3aQJD5h-rBh2A + numberValue: null + booleanValue: null + key: null + value: tk2OLeusR3aQJD5h-rBh2A + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.http.status + stringValue: '5' + numberValue: null + booleanValue: null + key: null + value: '5' + operator: STARTS_WITH + entity: NOT_APPLICABLE schema: type: array items: $ref: '#/components/schemas/MobileAppAlertConfigWithRBACTag' description: OK security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Get all Mobile Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: description: 'Creates a new Mobile Smart Alert Configuration. ' operationId: createMobileAppAlertConfig @@ -11231,16 +11851,16 @@ paths: application/json: example: name: 'HTTP Status Code(s): 5XX' - description: Occurrences of HTTP Status Code 5XX (Server Error) is above - the expectation. + description: >- + Occurrences of HTTP Status Code 5XX (Server Error) is above the + expectation. mobileAppId: tk2OLeusR3aQJD5h-rBh2A severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: statusCode metricName: httpxxx @@ -11250,16 +11870,14 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 5.0 + value: 5 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/MobileAppAlertConfig' required: true @@ -11269,16 +11887,16 @@ paths: application/json: example: name: 'HTTP Status Code(s): 5XX' - description: Occurrences of HTTP Status Code 5XX (Server Error) is - above the expectation. + description: >- + Occurrences of HTTP Status Code 5XX (Server Error) is above + the expectation. mobileAppId: tk2OLeusR3aQJD5h-rBh2A severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: statusCode metricName: httpxxx @@ -11288,16 +11906,14 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 5.0 + value: 5 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 - customPayloadFields: [ - ] + customPayloadFields: [] id: qOW5jlR5TQafXKWDIceRkA created: 1707224011842 initialCreated: 1707224011842 @@ -11307,24 +11923,24 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: mobileBeacon.mobileApp.id - stringValue: tk2OLeusR3aQJD5h-rBh2A - numberValue: null - booleanValue: null - key: null - value: tk2OLeusR3aQJD5h-rBh2A - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: mobileBeacon.http.status - stringValue: '5' - numberValue: null - booleanValue: null - key: null - value: '5' - operator: STARTS_WITH - entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.mobileApp.id + stringValue: tk2OLeusR3aQJD5h-rBh2A + numberValue: null + booleanValue: null + key: null + value: tk2OLeusR3aQJD5h-rBh2A + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.http.status + stringValue: '5' + numberValue: null + booleanValue: null + key: null + value: '5' + operator: STARTS_WITH + entity: NOT_APPLICABLE schema: $ref: '#/components/schemas/WithMetaData' description: OK @@ -11335,16 +11951,14 @@ paths: '422': description: Unprocessable request - missing/invalid data. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Create Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/bulk/delete: put: - description: Deletes multiple Mobile Smart Alert Configurations in a single - request. + description: Deletes multiple Mobile Smart Alert Configurations in a single request. operationId: bulkDeleteMobileAppAlertConfigs requestBody: content: @@ -11362,17 +11976,17 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Bulk delete Mobile Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/bulk/disable: put: - description: Disables multiple Mobile Smart Alert Configurations in a single - request. + description: Disables multiple Mobile Smart Alert Configurations in a single request. operationId: bulkDisableMobileAppAlertConfigs requestBody: content: @@ -11390,17 +12004,17 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Bulk disable Mobile Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/bulk/enable: put: - description: Enables multiple Mobile Smart Alert Configurations in a single - request. + description: Enables multiple Mobile Smart Alert Configurations in a single request. operationId: bulkEnableMobileAppAlertConfigs requestBody: content: @@ -11418,25 +12032,26 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Bulk enable Mobile Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/{id}: delete: description: Deletes a Mobile Smart Alert Configuration operationId: deleteMobileAppAlertConfig parameters: - - description: ID of a specific Mobile Smart Alert Configuration to delete. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Mobile Smart Alert Configuration to delete. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -11445,49 +12060,50 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Delete Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings get: - description: Gets a specific Mobile Smart Alert Configuration. This may return - a deleted Configuration. + description: >- + Gets a specific Mobile Smart Alert Configuration. This may return a + deleted Configuration. operationId: findMobileAppAlertConfig parameters: - - description: ID of a specific Mobile Smart Alert Configuration to retrieve - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string - - description: 'A Unix timestamp representing a specific time the Configuration - was active. If no timestamp is provided, the latest active version will - be retrieved. ' - example: 1722877985000 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: ID of a specific Mobile Smart Alert Configuration to retrieve + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string + - description: >- + A Unix timestamp representing a specific time the Configuration was + active. If no timestamp is provided, the latest active version will + be retrieved. + example: 1722877985000 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: application/json: example: name: 'HTTP Status Code(s): 5XX' - description: Occurrences of HTTP Status Code 5XX (Server Error) is - above the expectation. + description: >- + Occurrences of HTTP Status Code 5XX (Server Error) is above + the expectation. mobileAppId: tk2OLeusR3aQJD5h-rBh2A severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: statusCode metricName: httpxxx @@ -11497,19 +12113,17 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 5.0 + value: 5 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 - customPayloadFields: [ - ] + customPayloadFields: [] rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 id: qOW5jlR5TQafXKWDIceRkA created: 1707224011842 initialCreated: 1707224011842 @@ -11519,24 +12133,24 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: mobileBeacon.mobileApp.id - stringValue: tk2OLeusR3aQJD5h-rBh2A - numberValue: null - booleanValue: null - key: null - value: tk2OLeusR3aQJD5h-rBh2A - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: mobileBeacon.http.status - stringValue: '5' - numberValue: null - booleanValue: null - key: null - value: '5' - operator: STARTS_WITH - entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.mobileApp.id + stringValue: tk2OLeusR3aQJD5h-rBh2A + numberValue: null + booleanValue: null + key: null + value: tk2OLeusR3aQJD5h-rBh2A + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.http.status + stringValue: '5' + numberValue: null + booleanValue: null + key: null + value: '5' + operator: STARTS_WITH + entity: NOT_APPLICABLE schema: $ref: '#/components/schemas/MobileAppAlertConfigWithRBACTag' description: OK @@ -11545,38 +12159,37 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Get Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: description: 'Updates an existing Mobile Smart Alert Configuration. ' operationId: updateMobileAppAlertConfig parameters: - - description: ID of a specific Mobile Smart Alert Configuration to update. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Mobile Smart Alert Configuration to update. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: example: name: 'HTTP Status Code(s): 5XX' - description: Occurrences of HTTP Status Code 5XX (Server Error) is above - the expectation. + description: >- + Occurrences of HTTP Status Code 5XX (Server Error) is above the + expectation. mobileAppId: tk2OLeusR3aQJD5h-rBh2A severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: statusCode metricName: httpxxx @@ -11586,16 +12199,14 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 5.0 + value: 5 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 - customPayloadFields: [ - ] + customPayloadFields: [] schema: $ref: '#/components/schemas/MobileAppAlertConfig' required: true @@ -11605,16 +12216,16 @@ paths: application/json: example: name: 'HTTP Status Code(s): 5XX' - description: Occurrences of HTTP Status Code 5XX (Server Error) is - above the expectation. + description: >- + Occurrences of HTTP Status Code 5XX (Server Error) is above + the expectation. mobileAppId: tk2OLeusR3aQJD5h-rBh2A severity: 5 triggering: false tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: statusCode metricName: httpxxx @@ -11624,16 +12235,14 @@ paths: threshold: type: staticThreshold operator: '>=' - value: 5.0 + value: 5 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 - customPayloadFields: [ - ] + customPayloadFields: [] id: qOW5jlR5TQafXKWDIceRkA created: 1707224011842 initialCreated: 1707224011842 @@ -11643,24 +12252,24 @@ paths: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: mobileBeacon.mobileApp.id - stringValue: tk2OLeusR3aQJD5h-rBh2A - numberValue: null - booleanValue: null - key: null - value: tk2OLeusR3aQJD5h-rBh2A - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: mobileBeacon.http.status - stringValue: '5' - numberValue: null - booleanValue: null - key: null - value: '5' - operator: STARTS_WITH - entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.mobileApp.id + stringValue: tk2OLeusR3aQJD5h-rBh2A + numberValue: null + booleanValue: null + key: null + value: tk2OLeusR3aQJD5h-rBh2A + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: mobileBeacon.http.status + stringValue: '5' + numberValue: null + booleanValue: null + key: null + value: '5' + operator: STARTS_WITH + entity: NOT_APPLICABLE schema: $ref: '#/components/schemas/WithMetaData' description: OK @@ -11677,24 +12286,23 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Update Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/{id}/disable: put: description: Disables a Mobile Smart Alert Configuration. operationId: disableMobileAppAlertConfig parameters: - - description: ID of a specific Mobile Smart Alert Configuration to disable. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Mobile Smart Alert Configuration to disable. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -11709,24 +12317,23 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Disable Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/{id}/enable: put: description: Enables a Mobile Smart Alert Configuration. operationId: enableMobileAppAlertConfig parameters: - - description: ID of a specific Mobile Smart Alert Configuration to enable. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Mobile Smart Alert Configuration to enable. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -11741,33 +12348,33 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Enable Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/{id}/restore/{created}: put: description: Restores a Mobile Smart Alert Configuration. operationId: restoreMobileAppAlertConfig parameters: - - description: ID of a specific Mobile Smart Alert Configuration to restore. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string - - description: Unix timestamp representing the creation time of a specific Mobile - Smart Alert Configuration. - example: 1707726529124 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: ID of a specific Mobile Smart Alert Configuration to restore. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string + - description: >- + Unix timestamp representing the creation time of a specific Mobile + Smart Alert Configuration. + example: 1707726529124 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -11782,26 +12389,26 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Restore Mobile Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/{id}/update-baseline: post: - description: Recalculates and updates the historic baseline (static seasonal - threshold) of a Configuration. The `LastUpdated` field of the Configuration - is changed to the current time. + description: >- + Recalculates and updates the historic baseline (static seasonal + threshold) of a Configuration. The `LastUpdated` field of the + Configuration is changed to the current time. operationId: updateMobileAppHistoricBaseline parameters: - - description: ID of a specific Mobile Smart Alert Configuration to recalculate. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Mobile Smart Alert Configuration to recalculate. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -11810,7 +12417,8 @@ paths: nullable: true responses: '200': - description: Mobile Smart Alert Configuration baseline successfully recalculated + description: >- + Mobile Smart Alert Configuration baseline successfully recalculated and updated. '204': description: Baseline recalculation completed with no changes needed. @@ -11823,41 +12431,41 @@ paths: '428': description: Baseline calculation failed due to insufficient data. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Recalculate Mobile Smart Alert Config Baseline tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/mobile-app-alert-configs/{id}/versions: get: - description: Gets all versions of a Mobile Smart Alert Configuration. This may - return deleted Configurations. Configurations are sorted by creation date - in descending order. + description: >- + Gets all versions of a Mobile Smart Alert Configuration. This may return + deleted Configurations. Configurations are sorted by creation date in + descending order. operationId: findMobileAppAlertConfigVersions parameters: - - description: ID of a specific Mobile Smart Alert Configuration to retrieve. - example: qOW5jlR5TQafXKWDIceRkA - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Mobile Smart Alert Configuration to retrieve. + example: qOW5jlR5TQafXKWDIceRkA + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: qOW5jlR5TQafXKWDIceRkA - created: 1706686318650 - enabled: true - deleted: false - changeSummary: - changeType: CREATE - author: - id: 5ee8a3e8cd70020001ecb007 - type: USER - fullName: Stan + - id: qOW5jlR5TQafXKWDIceRkA + created: 1706686318650 + enabled: true + deleted: false + changeSummary: + changeType: CREATE + author: + id: 5ee8a3e8cd70020001ecb007 + type: USER + fullName: Stan schema: type: array items: @@ -11868,16 +12476,14 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureMobileAppSmartAlerts + - ApiKeyAuth: + - CanConfigureMobileAppSmartAlerts summary: Get Mobile Smart Alert Config Versions tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/shortcode/current-prefix: get: - description: Returns the current shortcode prefix and enabled state used for - events. + description: Returns the current shortcode prefix and enabled state used for events. operationId: getCurrentPrefix responses: '200': @@ -11894,18 +12500,17 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: [ - ] + - ApiKeyAuth: [] summary: Get current shortcode prefix. tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings put: - description: Updates the shortcode prefix and enabled state used for events. - The prefix will be applied to all new incidents created after this update. - For example, setting the prefix to 'PROD-' with enabled=true will result in - incident codes like 'PROD-1', 'PROD-2', etc. The enabled field allows explicit - control over whether the shortcode feature is active. + description: >- + Updates the shortcode prefix and enabled state used for events. The + prefix will be applied to all new incidents created after this update. + For example, setting the prefix to 'PROD-' with enabled=true will result + in incident codes like 'PROD-1', 'PROD-2', etc. The enabled field allows + explicit control over whether the shortcode feature is active. operationId: updatePrefix requestBody: content: @@ -11945,112 +12550,109 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: [ - ] + - ApiKeyAuth: [] summary: Update shortcode prefix. tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs: get: - description: Gets all the Website Smart Alert Configuration pertaining to a - specific website. Configurations are sorted by creation date in descending - order. + description: >- + Gets all the Website Smart Alert Configuration pertaining to a specific + website. Configurations are sorted by creation date in descending order. operationId: findActiveWebsiteAlertConfigs parameters: - - description: The ID of a specific Website - example: XIZGGVT1TX2O-0OFeT2Yig - in: query - name: websiteId - required: true - schema: - type: string - - description: A list of Smart Alert Configuration IDs. This allows fetching - of a specific set of Configurations. This query can be repeated to use multiple - IDs. - example: smRTFp08juKWtn8I - in: query - name: alertIds - schema: - type: array - items: - type: string - maxItems: 1000 - minItems: 0 - uniqueItems: true + - description: The ID of a specific Website + example: XIZGGVT1TX2O-0OFeT2Yig + in: query + name: websiteId + required: true + schema: + type: string + nullable: true + - description: >- + A list of Smart Alert Configuration IDs. This allows fetching of a + specific set of Configurations. This query can be repeated to use + multiple IDs. + example: smRTFp08juKWtn8I + in: query + name: alertIds + schema: + type: array + items: + type: string + maxItems: 1000 + minItems: 0 + uniqueItems: true responses: '200': content: application/json: example: - - name: onLoad Time (90th) is too high - description: The onLoad Time (90th) is above the expectation. - websiteId: XIZGGVT1TX2O-0OFeT2Yig - severity: 5 - triggering: false - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - rule: - alertType: slowness - metricName: onLoadTime - aggregation: P90 - threshold: - type: historicBaseline - operator: '>=' - seasonality: DAILY - baseline: - - - 0 - - 239.164 - - 6.1026 - - - 600000 - - 240.0013 - - 7.4109 - - - 85200000 - - 241.3653 - - 3 - - - 85800000 - - 239.4759 - - 3.9012 - deviationFactor: 3.0 - lastUpdated: 0 - alertChannelIds: [ - ] - granularity: 600000 - timeThreshold: - type: violationsInSequence - timeWindow: 600000 - customPayloadFields: - - type: staticString - key: '1' - value: '2' - - type: dynamic - key: '2' - value: - tagName: beacon.website.name - key: null - id: G-h5p0znTHan2m2U3c-Z1Q - created: 1707726529124 - initialCreated: 1707726529124 - readOnly: false - enabled: true - rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - name: onLoad Time (90th) is too high + description: The onLoad Time (90th) is above the expectation. + websiteId: XIZGGVT1TX2O-0OFeT2Yig + severity: 5 + triggering: false + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + rule: + alertType: slowness + metricName: onLoadTime + aggregation: P90 + threshold: + type: historicBaseline + operator: '>=' + seasonality: DAILY + baseline: + - - 0 + - 239.164 + - 6.1026 + - - 600000 + - 240.0013 + - 7.4109 + - - 85200000 + - 241.3653 + - 3 + - - 85800000 + - 239.4759 + - 3.9012 + deviationFactor: 3 + lastUpdated: 0 + alertChannelIds: [] + granularity: 600000 + timeThreshold: + type: violationsInSequence + timeWindow: 600000 + customPayloadFields: + - type: staticString + key: '1' + value: '2' + - type: dynamic + key: '2' + value: + tagName: beacon.website.name + key: null + id: G-h5p0znTHan2m2U3c-Z1Q + created: 1707726529124 + initialCreated: 1707726529124 + readOnly: false + enabled: true + rbacTags: + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 schema: type: array items: $ref: '#/components/schemas/WebsiteAlertConfigWithRBACTag' description: OK security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Get all Website Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: description: Creates a new Website Smart Alert Configuration. operationId: createWebsiteAlertConfig @@ -12066,8 +12668,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: slowness metricName: onLoadTime @@ -12077,35 +12678,34 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 239.164 - - 6.1026 - - - 600000 - - 240.0013 - - 7.4109 - - - 85200000 - - 241.3653 - - 3 - - - 85800000 - - 239.4759 - - 3.9012 - deviationFactor: 3.0 + - - 0 + - 239.164 + - 6.1026 + - - 600000 + - 240.0013 + - 7.4109 + - - 85200000 + - 241.3653 + - 3 + - - 85800000 + - 239.4759 + - 3.9012 + deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 customPayloadFields: - - type: staticString - key: '1' - value: '2' - - type: dynamic - key: '2' - value: - tagName: beacon.website.name - key: null + - type: staticString + key: '1' + value: '2' + - type: dynamic + key: '2' + value: + tagName: beacon.website.name + key: null schema: $ref: '#/components/schemas/WebsiteAlertConfig' required: true @@ -12122,8 +12722,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: slowness metricName: onLoadTime @@ -12133,35 +12732,34 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 239.164 - - 6.1026 - - - 600000 - - 240.0013 - - 7.4109 - - - 85200000 - - 241.3653 - - 3 - - - 85800000 - - 239.4759 - - 3.9012 - deviationFactor: 3.0 + - - 0 + - 239.164 + - 6.1026 + - - 600000 + - 240.0013 + - 7.4109 + - - 85200000 + - 241.3653 + - 3 + - - 85800000 + - 239.4759 + - 3.9012 + deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 customPayloadFields: - - type: staticString - key: '1' - value: '2' - - type: dynamic - key: '2' - value: - tagName: beacon.website.name - key: null + - type: staticString + key: '1' + value: '2' + - type: dynamic + key: '2' + value: + tagName: beacon.website.name + key: null id: G-h5p0znTHan2m2U3c-Z1Q created: 1707726529124 initialCreated: 1707726529124 @@ -12179,25 +12777,25 @@ paths: '428': description: Baseline calculation failed due to insufficient data. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Create Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/bulk/delete: put: - description: Deletes multiple website alert configurations. Creates new revisions - for all specified alerts with deleted=true. All revisions share the same timestamp. - Maximum 1000 IDs per request. + description: >- + Deletes multiple website alert configurations. Creates new revisions for + all specified alerts with deleted=true. All revisions share the same + timestamp. Maximum 1000 IDs per request. operationId: bulkDeleteWebsiteAlertConfigs requestBody: content: application/json: example: - - alert-id-1 - - alert-id-2 - - alert-id-3 + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: string required: true @@ -12208,26 +12806,28 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Bulk Delete Website Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/bulk/disable: put: - description: Disables multiple website alert configurations. Creates new revisions - for all specified alerts with enabled=false. All revisions share the same - timestamp. Maximum 1000 IDs per request. + description: >- + Disables multiple website alert configurations. Creates new revisions + for all specified alerts with enabled=false. All revisions share the + same timestamp. Maximum 1000 IDs per request. operationId: bulkDisableWebsiteAlertConfigs requestBody: content: application/json: example: - - alert-id-1 - - alert-id-2 - - alert-id-3 + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: string required: true @@ -12238,26 +12838,28 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Bulk Disable Website Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/bulk/enable: put: - description: Enables multiple website alert configurations. Creates new revisions - for all specified alerts with enabled=true. All revisions share the same timestamp. - Maximum 1000 IDs per request. + description: >- + Enables multiple website alert configurations. Creates new revisions for + all specified alerts with enabled=true. All revisions share the same + timestamp. Maximum 1000 IDs per request. operationId: bulkEnableWebsiteAlertConfigs requestBody: content: application/json: example: - - alert-id-1 - - alert-id-2 - - alert-id-3 + - alert-id-1 + - alert-id-2 + - alert-id-3 schema: type: string required: true @@ -12268,25 +12870,26 @@ paths: description: Bad request. '403': description: Insufficient permissions or limited in access. + '422': + description: A non-empty ids set containing 1 to 1000 items is required security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Bulk Enable Website Smart Alert Configs tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/{id}: delete: description: Deletes a Website Smart Alert Configuration. operationId: deleteWebsiteAlertConfig parameters: - - description: ID of a specific Website Smart Alert Configuration to delete. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Website Smart Alert Configuration to delete. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -12295,32 +12898,34 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Delete Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings get: - description: Gets a specific Website Smart Alert Configuration. This may return - a deleted Configuration. + description: >- + Gets a specific Website Smart Alert Configuration. This may return a + deleted Configuration. operationId: findWebsiteAlertConfig parameters: - - description: ID of a specific Website Smart Alert Configuration to retrieve. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string - - description: 'A Unix timestamp representing a specific time the config was - active. If no timestamp is provided, the latest active version will be retrieved. ' - example: 1722877985000 - in: query - name: validOn - schema: - type: integer - format: int64 + - description: ID of a specific Website Smart Alert Configuration to retrieve. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string + - description: >- + A Unix timestamp representing a specific time the config was active. + If no timestamp is provided, the latest active version will be + retrieved. + example: 1722877985000 + in: query + name: validOn + schema: + type: integer + format: int64 responses: '200': content: @@ -12334,8 +12939,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: slowness metricName: onLoadTime @@ -12345,43 +12949,42 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 239.164 - - 6.1026 - - - 600000 - - 240.0013 - - 7.4109 - - - 85200000 - - 241.3653 - - 3 - - - 85800000 - - 239.4759 - - 3.9012 - deviationFactor: 3.0 + - - 0 + - 239.164 + - 6.1026 + - - 600000 + - 240.0013 + - 7.4109 + - - 85200000 + - 241.3653 + - 3 + - - 85800000 + - 239.4759 + - 3.9012 + deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 customPayloadFields: - - type: staticString - key: '1' - value: '2' - - type: dynamic - key: '2' - value: - tagName: beacon.website.name - key: null + - type: staticString + key: '1' + value: '2' + - type: dynamic + key: '2' + value: + tagName: beacon.website.name + key: null id: G-h5p0znTHan2m2U3c-Z1Q created: 1707726529124 initialCreated: 1707726529124 readOnly: false enabled: true rbacTags: - - id: 0xHKaxfaS161Al6Qc23g4w - displayName: team 1 + - id: 0xHKaxfaS161Al6Qc23g4w + displayName: team 1 schema: $ref: '#/components/schemas/WebsiteAlertConfigWithRBACTag' description: OK @@ -12390,23 +12993,22 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Get Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings post: description: Updates an existing Website Smart Alert Configuration. operationId: updateWebsiteAlertConfig parameters: - - description: ID of a specific Website Smart Alert Configuration to update. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Website Smart Alert Configuration to update. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -12419,8 +13021,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: slowness metricName: onLoadTime @@ -12430,35 +13031,34 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 239.164 - - 6.1026 - - - 600000 - - 240.0013 - - 7.4109 - - - 85200000 - - 241.3653 - - 3 - - - 85800000 - - 239.4759 - - 3.9012 - deviationFactor: 3.0 + - - 0 + - 239.164 + - 6.1026 + - - 600000 + - 240.0013 + - 7.4109 + - - 85200000 + - 241.3653 + - 3 + - - 85800000 + - 239.4759 + - 3.9012 + deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 customPayloadFields: - - type: staticString - key: '1' - value: '2' - - type: dynamic - key: '2' - value: - tagName: beacon.website.name - key: null + - type: staticString + key: '1' + value: '2' + - type: dynamic + key: '2' + value: + tagName: beacon.website.name + key: null schema: $ref: '#/components/schemas/WebsiteAlertConfig' required: true @@ -12475,8 +13075,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] rule: alertType: slowness metricName: onLoadTime @@ -12486,35 +13085,34 @@ paths: operator: '>=' seasonality: DAILY baseline: - - - 0 - - 239.164 - - 6.1026 - - - 600000 - - 240.0013 - - 7.4109 - - - 85200000 - - 241.3653 - - 3 - - - 85800000 - - 239.4759 - - 3.9012 - deviationFactor: 3.0 + - - 0 + - 239.164 + - 6.1026 + - - 600000 + - 240.0013 + - 7.4109 + - - 85200000 + - 241.3653 + - 3 + - - 85800000 + - 239.4759 + - 3.9012 + deviationFactor: 3 lastUpdated: 0 - alertChannelIds: [ - ] + alertChannelIds: [] granularity: 600000 timeThreshold: type: violationsInSequence timeWindow: 600000 customPayloadFields: - - type: staticString - key: '1' - value: '2' - - type: dynamic - key: '2' - value: - tagName: beacon.website.name - key: null + - type: staticString + key: '1' + value: '2' + - type: dynamic + key: '2' + value: + tagName: beacon.website.name + key: null id: G-h5p0znTHan2m2U3c-Z1Q created: 1707726529124 initialCreated: 1707726529124 @@ -12538,24 +13136,23 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Update Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/{id}/disable: put: description: Disables a Website Smart Alert Configuration. operationId: disableWebsiteAlertConfig parameters: - - description: ID of a specific Website Smart Alert Configuration to disable. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Website Smart Alert Configuration to disable. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -12570,24 +13167,23 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Disable Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/{id}/enable: put: description: Enables a website alert configuration. operationId: enableWebsiteAlertConfig parameters: - - description: ID of a specific Website Smart Alert Configuration to enable. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Website Smart Alert Configuration to enable. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -12602,33 +13198,33 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Enable Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/{id}/restore/{created}: put: description: Restores a deleted Website Smart Alert Configuration. operationId: restoreWebsiteAlertConfig parameters: - - description: ID of a specific Website Smart Alert Configuration to restore. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string - - description: Unix timestamp representing the creation time of a specific Website - Smart Alert Configuration. - example: 1707726529124 - in: path - name: created - required: true - schema: - type: integer - format: int64 + - description: ID of a specific Website Smart Alert Configuration to restore. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string + - description: >- + Unix timestamp representing the creation time of a specific Website + Smart Alert Configuration. + example: 1707726529124 + in: path + name: created + required: true + schema: + type: integer + format: int64 requestBody: content: application/json: @@ -12643,26 +13239,26 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Restore Website Smart Alert Config tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/{id}/update-baseline: post: - description: Recalculates and updates the historic baseline (static seasonal - threshold) of a Configuration. The `LastUpdated` field of the Configuration - is changed to the current time. + description: >- + Recalculates and updates the historic baseline (static seasonal + threshold) of a Configuration. The `LastUpdated` field of the + Configuration is changed to the current time. operationId: updateWebsiteHistoricBaseline parameters: - - description: ID of a specific Website Smart Alert Configuration to recalculate. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Website Smart Alert Configuration to recalculate. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -12671,7 +13267,8 @@ paths: nullable: true responses: '200': - description: Website Smart Alert Configuration baseline successfully recalculated + description: >- + Website Smart Alert Configuration baseline successfully recalculated and updated. '204': description: Baseline recalculation completed with no changes needed. @@ -12684,41 +13281,41 @@ paths: '428': description: Baseline calculation failed due to insufficient data. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: Recalculate Website Smart Alert Config Baseline tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/settings/website-alert-configs/{id}/versions: get: - description: Gets all versions of a Website Smart Alert Configuration. This - may return deleted Configurations. Configurations are sorted by creation date - in descending order. + description: >- + Gets all versions of a Website Smart Alert Configuration. This may + return deleted Configurations. Configurations are sorted by creation + date in descending order. operationId: findWebsiteAlertConfigVersions parameters: - - description: ID of a specific Website Smart Alert Configuration to retrieve. - example: G-h5p0znTHan2m2U3c-Z1Q - in: path - name: id - required: true - schema: - type: string + - description: ID of a specific Website Smart Alert Configuration to retrieve. + example: G-h5p0znTHan2m2U3c-Z1Q + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: G-h5p0znTHan2m2U3c-Z1Q - created: 1706709825308 - enabled: true - deleted: false - changeSummary: - changeType: CREATE - author: - id: 5ee8a3e8cd70020001ecb007 - type: USER - fullName: Stan + - id: G-h5p0znTHan2m2U3c-Z1Q + created: 1706709825308 + enabled: true + deleted: false + changeSummary: + changeType: CREATE + author: + id: 5ee8a3e8cd70020001ecb007 + type: USER + fullName: Stan schema: type: array items: @@ -12729,24 +13326,29 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureWebsiteSmartAlerts + - ApiKeyAuth: + - CanConfigureWebsiteSmartAlerts summary: 'Get Website Smart Alert Config Versions. ' tags: - - Event Settings - x-ibm-ahub-byok: true + - Event Settings /api/events/{eventId}: get: description: Gets a specific event. operationId: getEvent parameters: - - description: ID of a specific Event to retrieve. - example: LZOGo1lXR4WeCB2ftgtGGQ - in: path - name: eventId - required: true - schema: - type: string + - description: ID of a specific Event to retrieve. + example: LZOGo1lXR4WeCB2ftgtGGQ + in: path + name: eventId + required: true + schema: + type: string + - description: Option to include event metadata + example: true + in: query + name: includeMetadata + schema: + type: boolean responses: '200': content: @@ -12758,14 +13360,18 @@ paths: type: change state: closed problem: Pulled - detail: Successfully pulled image "registry.redhat.io/redhat/redhat-marketplace-index:v4.14" - in 830.603468ms (830.624088ms including waiting) + detail: >- + Successfully pulled image + "registry.redhat.io/redhat/redhat-marketplace-index:v4.14" in + 830.603468ms (830.624088ms including waiting) severity: -2 entityName: Kubernetes Pod entityLabel: openshift-marketplace/redhat-marketplace-qbn8f (pod) entityType: INFRASTRUCTURE - fixSuggestion: Successfully pulled image "registry.redhat.io/redhat/redhat-marketplace-index:v4.14" - in 830.603468ms (830.624088ms including waiting) + fixSuggestion: >- + Successfully pulled image + "registry.redhat.io/redhat/redhat-marketplace-index:v4.14" in + 830.603468ms (830.624088ms including waiting) snapshotId: xLziJivLyeepxBf0UnNR1ff-9MI schema: $ref: '#/components/schemas/EventResult' @@ -12773,39 +13379,534 @@ paths: '404': description: The requested event does not exist. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Event tags: - - Events - x-ibm-ahub-byok: true + - Events + /api/filters: + get: + operationId: get + responses: + default: + content: + application/json: {} + description: default response + post: + operationId: post + responses: + default: + content: + application/json: {} + description: default response + /api/filters/{id}: + delete: + operationId: delete + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + default: + content: + application/json: {} + description: default response + put: + operationId: put + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + default: + content: + application/json: {} + description: default response + /api/fleet/configuration-assignments: + get: + description: This end point lists all fleet configuration assignments + operationId: listFleetConfigAssignments + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/FleetConfigurationAssignment' + description: OK + security: + - ApiKeyAuth: + - Default + summary: List fleet configuration assignments + tags: + - Fleet Management + post: + description: >- + This end point creates a configuration assignment for a fleet management + group. + operationId: createFleetConfigAssignment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationAssignment' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationAssignment' + description: OK + security: + - ApiKeyAuth: + - Default + summary: Create a configuration assignment + tags: + - Fleet Management + /api/fleet/configuration-assignments/{id}: + delete: + description: This end point deletes a fleet configuration assignment + operationId: deleteFleetConfigAssignment + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationAssignmentResponse' + description: Configuration Deleted + security: + - ApiKeyAuth: + - Default + summary: Delete a fleet configuration assignment + tags: + - Fleet Management + get: + description: This endpoint gets a fleet configuration assignment by ID + operationId: getFleetConfigAssignment + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationAssignment' + description: OK + security: + - ApiKeyAuth: + - Default + summary: Get a fleet configuration assignment + tags: + - Fleet Management + put: + description: This end points updates the details of a fleet configuration assignment + operationId: updateFleetConfigAssignment + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationAssignment' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationAssignmentResponse' + description: OK + security: + - ApiKeyAuth: + - Default + summary: Update a fleet configuration assignment + tags: + - Fleet Management + /api/fleet/configurations: + get: + description: This end point lists fleet configurations by type + operationId: listCustomCollectorBase + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/FleetConfiguration' + description: OK + security: + - ApiKeyAuth: + - Default + summary: List fleet configurations + tags: + - Fleet Management + post: + description: This end point creates a fleet configuration + operationId: createFleetConfiguration + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfiguration' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationResponse' + description: OK + security: + - ApiKeyAuth: + - Default + summary: Creates a fleet configuration + tags: + - Fleet Management + /api/fleet/configurations/{id}: + delete: + description: This end point deletes a custom collector base configuration + operationId: deleteCustomCollectorBase + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationResponse' + description: Configuration Deleted + security: + - ApiKeyAuth: + - Default + summary: Delete a custom collector base configuration + tags: + - Fleet Management + get: + description: This endpoint gets a fleet configuration by ID + operationId: getCustomCollectorBase + parameters: + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfiguration' + description: OK + security: + - ApiKeyAuth: + - Default + summary: Get fleet configuration details + tags: + - Fleet Management + put: + description: >- + This end points updates the details of a custom collector base + configuration + operationId: updateCustomCollectorBase + parameters: + - in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFleetConfigurationRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FleetConfigurationResponse' + description: OK + security: + - ApiKeyAuth: + - Default + summary: Update a custom collector base configuration + tags: + - Fleet Management + /api/genai-monitoring/analyze/tasks/{rootId}: + get: + operationId: getTaskFlowsByRootId + parameters: + - in: path + name: rootId + required: true + schema: + type: string + minLength: 1 + responses: + '200': + description: Task hierarchy retrieved successfully + '404': + description: No task data found for the root ID + '500': + description: Failed to retrieve task hierarchy + security: + - ApiKeyAuth: + - Default + summary: Get task flow hierarchy by root ID (built in genai-analytics-reader) + tags: + - Application Analyze + /api/genai-monitoring/evaluations: + get: + operationId: getEvaluations + parameters: + - in: query + name: clientId + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EvaluationListResponse' + description: Evaluations retrieved successfully + '500': + description: Failed to retrieve evaluations + security: + - ApiKeyAuth: + - Default + summary: Get all evaluations + tags: + - LLM Evaluation + post: + operationId: createEvaluation + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateEvaluationRequest' + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CreateEvaluationResponse' + description: Evaluation created successfully + '400': + description: Invalid request + '500': + description: Failed to create evaluation + security: + - ApiKeyAuth: + - CanConfigureGenAiEvaluations + summary: Create a new evaluation definition + tags: + - LLM Evaluation + /api/genai-monitoring/evaluations/gateway-status: + get: + operationId: getGatewayStatus + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/GatewayStatusResponse' + description: Gateway status retrieved successfully + '500': + description: Failed to check gateway status + security: + - ApiKeyAuth: + - Default + summary: Check gateway status for evaluation capability + tags: + - LLM Evaluation + /api/genai-monitoring/evaluations/runs: + get: + operationId: getEvaluationRuns + parameters: + - in: query + name: windowSize + schema: + type: integer + format: int64 + description: 'Time window size in milliseconds (default: 30 days)' + - in: query + name: to + schema: + type: integer + format: int64 + description: 'End time in milliseconds since epoch (default: current time)' + responses: + '200': + content: + application/json: + schema: + type: string + description: Evaluation runs retrieved successfully + '404': + description: Evaluation runs not found + '500': + description: Failed to retrieve evaluation runs + security: + - ApiKeyAuth: + - Default + summary: Get all evaluation runs + tags: + - LLM Evaluation + /api/genai-monitoring/evaluations/{evaluationId}: + delete: + operationId: deleteEvaluation + parameters: + - in: path + name: evaluationId + required: true + schema: + type: string + responses: + '200': + description: Evaluation deleted successfully + '404': + description: Evaluation not found + '500': + description: Failed to delete evaluation + security: + - ApiKeyAuth: + - CanConfigureGenAiEvaluations + summary: Delete an evaluation + tags: + - LLM Evaluation + get: + operationId: getEvaluation + parameters: + - in: path + name: evaluationId + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/EvaluationDetailResponse' + description: Evaluation retrieved successfully + '404': + description: Evaluation not found + '500': + description: Failed to retrieve evaluation + security: + - ApiKeyAuth: + - Default + summary: Get evaluation details by ID + tags: + - LLM Evaluation + put: + operationId: updateEvaluation + parameters: + - in: path + name: evaluationId + required: true + schema: + type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateEvaluationRequest' + responses: + '200': + description: Evaluation updated successfully + '404': + description: Evaluation not found + '500': + description: Failed to update evaluation + security: + - ApiKeyAuth: + - CanConfigureGenAiEvaluations + summary: Update an evaluation + tags: + - LLM Evaluation + /api/genai-monitoring/evaluations/{evaluationId}/run: + post: + operationId: runEvaluation + parameters: + - in: path + name: evaluationId + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RunEvaluationResponse' + description: Evaluation run initiated successfully + '400': + description: Invalid request or capability not enabled + '404': + description: Evaluation not found + '500': + description: Failed to run evaluation + security: + - ApiKeyAuth: + - CanConfigureGenAiEvaluations + summary: Run an evaluation + tags: + - LLM Evaluation /api/host-agent: get: operationId: searchHostAgents parameters: - - in: query - name: query - schema: - type: string - - in: query - name: to - schema: - type: integer - format: int64 - - in: query - name: windowSize - schema: - type: integer - format: int64 - - in: query - name: size - schema: - type: integer - format: int32 - - in: query - name: offline - schema: - type: boolean + - in: query + name: query + schema: + type: string + - in: query + name: to + schema: + type: integer + format: int64 + - in: query + name: windowSize + schema: + type: integer + format: int64 + - in: query + name: size + schema: + type: integer + format: int32 + - in: query + name: offline + schema: + type: boolean responses: '200': content: @@ -12828,39 +13929,38 @@ paths: $ref: '#/components/schemas/SnapshotResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Query host agent snapshots tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent /api/host-agent/configuration: post: operationId: updateConfigurationByQuery parameters: - - in: query - name: query - schema: - type: string - - in: query - name: to - schema: - type: integer - format: int64 - - in: query - name: windowSize - schema: - type: integer - format: int64 - - in: query - name: size - schema: - type: integer - format: int32 - - in: query - name: offline - schema: - type: boolean + - in: query + name: query + schema: + type: string + - in: query + name: to + schema: + type: integer + format: int64 + - in: query + name: windowSize + schema: + type: integer + format: int64 + - in: query + name: size + schema: + type: integer + format: int32 + - in: query + name: offline + schema: + type: boolean requestBody: content: application/json: @@ -12870,34 +13970,32 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgents + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgents summary: Update agent configuration by query tags: - - Host Agent + - Host Agent x-description: updateConfigurationByQuery - x-ibm-ahub-byok: true /api/host-agent/mode: post: operationId: updateModeByQuery parameters: - - in: query - name: query - required: true - schema: - type: string - minLength: 1 - - in: query - name: size - schema: - type: integer - format: int32 + - in: query + name: query + required: true + schema: + type: string + minLength: 1 + - in: query + name: size + schema: + type: integer + format: int32 requestBody: content: application/json: @@ -12907,82 +14005,76 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgentRunMode + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgentRunMode summary: Update agent run mode by query tags: - - Host Agent + - Host Agent x-description: updateModeByQuery - x-ibm-ahub-byok: true /api/host-agent/{hostId}/clr-logs: get: operationId: getAgentClrLogs parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 - - in: query - name: download - schema: - type: boolean + - in: path + name: hostId + required: true + schema: + type: string + minLength: 1 + - in: query + name: download + schema: + type: boolean responses: default: content: - application/octet-stream: { - } + application/octet-stream: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgents + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgents summary: Agent CLR download logs tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent /api/host-agent/{hostId}/configuration: get: operationId: getAgentConfigurationByHost parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 + - in: path + name: hostId + required: true + schema: + type: string + minLength: 1 responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canDownloadAgentConfiguration + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canDownloadAgentConfiguration summary: Get effective Agent configuration tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent post: operationId: updateConfigurationByHost parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 + - in: path + name: hostId + required: true + schema: + type: string + minLength: 1 requestBody: content: application/json: @@ -12992,66 +14084,62 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgents + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgents summary: Update agent configuration by host tags: - - Host Agent + - Host Agent x-description: updateConfigurationByHost - x-ibm-ahub-byok: true /api/host-agent/{hostId}/logs: get: operationId: getAgentLogs parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 - - in: query - name: download - schema: - type: boolean - - in: query - name: file - required: true - schema: - type: array - items: + - in: path + name: hostId + required: true + schema: type: string - uniqueItems: true + minLength: 1 + - in: query + name: download + schema: + type: boolean + - in: query + name: file + required: true + schema: + type: array + items: + type: string + uniqueItems: true responses: default: content: - application/octet-stream: { - } + application/octet-stream: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgents + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgents summary: Agent download logs tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent /api/host-agent/{hostId}/mode: post: operationId: updateModeByHost parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 + - in: path + name: hostId + required: true + schema: + type: string + minLength: 1 requestBody: content: application/json: @@ -13061,95 +14149,89 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgentRunMode + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgentRunMode summary: Update agent run mode by host tags: - - Host Agent + - Host Agent x-description: updateModeByHost - x-ibm-ahub-byok: true /api/host-agent/{hostId}/support-info: get: operationId: getAgentSupportInformation parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 - - in: query - name: supportInfoId - required: true - schema: - type: string - minLength: 1 + - in: path + name: hostId + required: true + schema: + type: string + minLength: 1 + - in: query + name: supportInfoId + required: true + schema: + type: string + minLength: 1 responses: default: content: - application/octet-stream: { - } + application/octet-stream: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgents + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgents summary: Agent download support information tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent /api/host-agent/{hostId}/update: post: operationId: updateAgent parameters: - - in: path - name: hostId - required: true - schema: - type: string - minLength: 1 + - in: path + name: hostId + required: true + schema: + type: string + minLength: 1 responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - - ApiKeyAuth: - - canConfigureAgents + - ApiKeyAuth: + - Default + - ApiKeyAuth: + - canConfigureAgents summary: Agent update tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent /api/host-agent/{id}: get: operationId: getAgentSnapshot parameters: - - in: path - name: id - required: true - schema: - type: string - minLength: 1 - - in: query - name: to - schema: - type: integer - format: int64 - - in: query - name: windowSize - schema: - type: integer - format: int64 + - in: path + name: id + required: true + schema: + type: string + minLength: 1 + - in: query + name: to + schema: + type: integer + format: int64 + - in: query + name: windowSize + schema: + type: integer + format: int64 responses: '200': content: @@ -13238,25 +14320,28 @@ paths: $ref: '#/components/schemas/SnapshotItem' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get host agent snapshot details tags: - - Host Agent - x-ibm-ahub-byok: true + - Host Agent /api/infrastructure-monitoring/analyze/entities: post: - description: |- - This endpoint retrieves entities for a given entity type along with the requested metrics. - For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + description: >- + This endpoint retrieves entities for a given entity type along with the + requested metrics. + + For more information on Infrastructure Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. operationId: getEntities requestBody: content: application/json: examples: This example retrieves first 20 hosts by name with metrics for cpu and memory used.: - description: This example retrieves first 20 hosts by name with metrics - for cpu and memory used. + description: >- + This example retrieves first 20 hosts by name with metrics for + cpu and memory used. value: timeFrame: to: 1764687385227 @@ -13264,22 +14349,22 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] pagination: retrievalSize: 20 type: host metrics: - - metric: cpu.used - aggregation: MEAN - - metric: memory.used - aggregation: MEAN + - metric: cpu.used + aggregation: MEAN + - metric: memory.used + aggregation: MEAN order: by: label direction: ASC This example retrieves the next 20 hosts by name with metrics for cpu and memory used.: - description: This example retrieves the next 20 hosts by name with - metrics for cpu and memory used. + description: >- + This example retrieves the next 20 hosts by name with metrics + for cpu and memory used. value: timeFrame: to: 1764687385227 @@ -13287,8 +14372,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] pagination: retrievalSize: 20 totalHits: 101 @@ -13297,10 +14381,10 @@ paths: offset: 20 type: host metrics: - - metric: cpu.used - aggregation: MEAN - - metric: memory.used - aggregation: MEAN + - metric: cpu.used + aggregation: MEAN + - metric: memory.used + aggregation: MEAN order: by: label direction: ASC @@ -13315,28 +14399,32 @@ paths: $ref: '#/components/schemas/InfrastructureEntitiesResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get infrastructure entities tags: - - Infrastructure Analyze - x-ibm-ahub-byok: true + - Infrastructure Analyze /api/infrastructure-monitoring/analyze/entity-groups: post: - description: |- - This endpoint groups entities for a given entity type and aggregates metrics for these groups. - For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + description: >- + This endpoint groups entities for a given entity type and aggregates + metrics for these groups. Optional group sampling can be enabled to + reduce BeeInstana load by fetching metrics for only 50% of groups, + providing faster response times with representative data. + + For more information on Infrastructure Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. operationId: getEntityGroups requestBody: content: application/json: examples: - ? This example retrieves JVM entities grouped with the same host name - ordered by label, aggregating memory used and blocked threads (both - using a one hour granularity and a one minute granularity). - : description: This example retrieves JVM entities grouped with the - same host name ordered by label, aggregating memory used and blocked - threads (both using a one hour granularity and a one minute granularity). + This example retrieves JVM entities grouped with the same host name ordered by label, aggregating memory used and blocked threads (both using a one hour granularity and a one minute granularity).: + description: >- + This example retrieves JVM entities grouped with the same host + name ordered by label, aggregating memory used and blocked + threads (both using a one hour granularity and a one minute + granularity). value: timeFrame: to: 1674075565075 @@ -13344,26 +14432,25 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] pagination: retrievalSize: 20 groupBy: - - host.name + - host.name type: jvmRuntimePlatform metrics: - - metric: memory.used - granularity: 3600000 - aggregation: MEAN - - metric: memory.used - granularity: 600000 - aggregation: MEAN - - metric: threads.blocked - granularity: 3600000 - aggregation: MEAN - - metric: threads.blocked - granularity: 600000 - aggregation: MEAN + - metric: memory.used + granularity: 3600000 + aggregation: MEAN + - metric: memory.used + granularity: 600000 + aggregation: MEAN + - metric: threads.blocked + granularity: 3600000 + aggregation: MEAN + - metric: threads.blocked + granularity: 600000 + aggregation: MEAN order: by: label direction: ASC @@ -13378,17 +14465,18 @@ paths: $ref: '#/components/schemas/InfrastructureGroupsResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get grouped infrastructure entities with aggregated metrics tags: - - Infrastructure Analyze - x-ibm-ahub-byok: true + - Infrastructure Analyze /api/infrastructure-monitoring/analyze/entity-types: post: - description: |- + description: >- This endpoint retrieves available entity types. - For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + + For more information on Infrastructure Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. operationId: getAvailablePlugins requestBody: content: @@ -13400,8 +14488,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] timeFrame: to: 1673969562715 windowSize: 3600000 @@ -13416,31 +14503,30 @@ paths: $ref: '#/components/schemas/AvailablePlugins' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get available entity types tags: - - Infrastructure Analyze - x-ibm-ahub-byok: true + - Infrastructure Analyze /api/infrastructure-monitoring/analyze/metrics: post: - description: |- + description: >- This endpoint retrieves available metrics for an entity type. - For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. + + For more information on Infrastructure Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze. operationId: getAvailableMetrics requestBody: content: application/json: examples: This example retrieves all available metrics for JVM entities.: - description: This example retrieves all available metrics for JVM - entities. + description: This example retrieves all available metrics for JVM entities. value: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] timeFrame: to: 1673969562715 windowSize: 3600000 @@ -13457,34 +14543,33 @@ paths: $ref: '#/components/schemas/AvailableMetrics' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get available metrics tags: - - Infrastructure Analyze - x-ibm-ahub-byok: true + - Infrastructure Analyze /api/infrastructure-monitoring/catalog/metrics/{plugin}: get: operationId: getInfrastructureCatalogMetrics parameters: - - in: path - name: plugin - required: true - schema: - type: string - - in: query - name: filter - schema: - type: string - - in: query - name: label - schema: - type: string - - in: query - name: limit - schema: - type: integer - format: int32 + - in: path + name: plugin + required: true + schema: + type: string + - in: query + name: filter + schema: + type: string + - in: query + name: label + schema: + type: string + - in: query + name: limit + schema: + type: integer + format: int32 responses: '200': content: @@ -13495,26 +14580,26 @@ paths: $ref: '#/components/schemas/MetricInstance' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get metric catalog tags: - - Infrastructure Catalog + - Infrastructure Catalog x-description: getInfrastructureCatalogMetrics - x-ibm-ahub-byok: true /api/infrastructure-monitoring/catalog/payloads/{pluginId}: get: - description: 'This endpoint retrieves the list of keys that can be used to retrieve - payloads for a plugin. ' + description: >- + This endpoint retrieves the list of keys that can be used to retrieve + payloads for a plugin. operationId: getAvailablePayloadKeysByPluginId parameters: - - description: plugin id - example: db2Database - in: path - name: pluginId - required: true - schema: - type: string + - description: plugin id + example: db2Database + in: path + name: pluginId + required: true + schema: + type: string responses: '200': content: @@ -13530,13 +14615,12 @@ paths: parameters: payloadKey: $response.body#/[*] security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get payload keys for plugin tags: - - Infrastructure Catalog + - Infrastructure Catalog x-description: getAvailablePayloadKeysByPluginId - x-ibm-ahub-byok: true /api/infrastructure-monitoring/catalog/plugins: get: operationId: getInfrastructureCatalogPlugins @@ -13550,17 +14634,15 @@ paths: $ref: '#/components/schemas/PluginResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get plugin catalog tags: - - Infrastructure Catalog + - Infrastructure Catalog x-description: getInfrastructureCatalogPlugins - x-ibm-ahub-byok: true /api/infrastructure-monitoring/catalog/plugins-with-custom-metrics: get: - description: This endpoint retrieves a list of all plugins that have custom - metrics + description: This endpoint retrieves a list of all plugins that have custom metrics operationId: getInfrastructureCatalogPluginsWithCustomMetrics responses: '200': @@ -13572,13 +14654,12 @@ paths: $ref: '#/components/schemas/PluginResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all plugins with custom metrics catalog tags: - - Infrastructure Catalog + - Infrastructure Catalog x-description: getInfrastructureCatalogPluginsWithCustomMetrics - x-ibm-ahub-byok: true /api/infrastructure-monitoring/catalog/search: get: operationId: getInfrastructureCatalogSearchFields @@ -13592,13 +14673,12 @@ paths: $ref: '#/components/schemas/SearchFieldResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: get search field catalog tags: - - Infrastructure Catalog + - Infrastructure Catalog x-description: getInfrastructureCatalogSearchFields - x-ibm-ahub-byok: true /api/infrastructure-monitoring/catalog/tags: get: description: This endpoint retrieves the tag catalog. @@ -13611,24 +14691,23 @@ paths: $ref: '#/components/schemas/TagCatalog' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get available tags tags: - - Infrastructure Catalog - x-ibm-ahub-byok: true + - Infrastructure Catalog /api/infrastructure-monitoring/catalog/tags/{plugin}: get: description: This endpoint retrieves the tag catalog filtered by plugin. operationId: getTagCatalog parameters: - - description: plugin - example: host - in: path - name: plugin - required: true - schema: - type: string + - description: plugin + example: host + in: path + name: plugin + required: true + schema: + type: string responses: '200': content: @@ -13637,72 +14716,84 @@ paths: $ref: '#/components/schemas/TagCatalog' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get available tags for a particular plugin tags: - - Infrastructure Catalog - x-ibm-ahub-byok: true + - Infrastructure Catalog /api/infrastructure-monitoring/graph/related-hosts/{snapshotId}: get: description: Gets the Related Hosts operationId: getRelatedHosts parameters: - - description: Snapshot ID running on the host - in: path - name: snapshotId - required: true - schema: - type: string - - description: Size of time window in milliseconds - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Timestamp since Unix Epoch in milliseconds of the end of the - time window - in: query - name: to - schema: - type: integer - format: int64 + - description: Snapshot ID running on the host + in: path + name: snapshotId + required: true + schema: + type: string + - description: Size of time window in milliseconds + in: query + name: windowSize + schema: + type: integer + format: int64 + nullable: true + - description: >- + Timestamp since Unix Epoch in milliseconds of the end of the time + window + in: query + name: to + schema: + type: integer + format: int64 + nullable: true responses: '200': content: application/json: example: - - ZoKkksp277FMLSXIghPKdjZcvfE + - ZoKkksp277FMLSXIghPKdjZcvfE schema: type: array items: type: string description: Returns the snapshot ID of the hosts security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Related hosts tags: - - Infrastructure Topology - x-ibm-ahub-byok: true + - Infrastructure Topology /api/infrastructure-monitoring/metrics: post: - description: |2- + description: >- + + For more information on Infrastructure Metrics please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-metrics. - For more information on Infrastructure Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-metrics. **Request Validation Rules:** + - At least one metric name must be defined in the 'metrics' field - - Either 'snapshotIds' or 'query' must be provided (both cannot be empty) - - When using 'query' without 'snapshotIds', the query cannot be empty or a wildcard ('*') unless a 'plugin' is specified - - The rollup value must be valid for the given time window (see API documentation for valid rollups) - - The ratio of windowSize to rollup must not exceed 600 data points (windowSize / rollup <= 600) + + - Either 'snapshotIds' or 'query' must be provided (both cannot be + empty) + + - When using 'query' without 'snapshotIds', the query cannot be empty or + a wildcard ('*') unless a 'plugin' is specified + + - The rollup value must be valid for the given time window (see API + documentation for valid rollups) + + - The ratio of windowSize to rollup must not exceed 600 data points + (windowSize / rollup <= 600) operationId: getInfrastructureMetrics parameters: - - in: query - name: offline - schema: - type: boolean + - in: query + name: offline + schema: + type: boolean requestBody: content: application/json: @@ -13724,42 +14815,48 @@ paths: description: Invalid query value: errors: - - Invalid metric query, query should not be empty or wildcard(*) + - >- + Invalid metric query, query should not be empty or + wildcard(*) Invalid rollup: description: Invalid rollup value: errors: - - The given windowSize (from:1234567890000, to:1234567900000) - is not valid in combination with the rollup (60 sec). Please - see the API documentation for valid rollups. + - >- + The given windowSize (from:1234567890000, + to:1234567900000) is not valid in combination with the + rollup (60 sec). Please see the API documentation for + valid rollups. Missing snapshots or query: description: Missing snapshots or query value: errors: - - At least snapshots or query needs to be not empty! + - At least snapshots or query needs to be not empty! No metrics specified: description: No metrics specified value: errors: - - At least one metric name needs to be defined + - At least one metric name needs to be defined Too many data points: description: Too many data points value: errors: - - The rollup in relation to the windowSize provides too many values + - >- + The rollup in relation to the windowSize provides too + many values description: 'Bad Request - Invalid request parameters. Possible error messages:' security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get infrastructure metrics tags: - - Infrastructure Metrics + - Infrastructure Metrics x-description: getInfrastructureMetrics - x-ibm-ahub-byok: true /api/infrastructure-monitoring/monitoring-state: get: - description: This API endpoint retrieves the current monitoring state of the - system, providing details about the number of monitored hosts and serverless + description: >- + This API endpoint retrieves the current monitoring state of the system, + providing details about the number of monitored hosts and serverless entities. It responds with a JSON object containing this information. operationId: getMonitoringState responses: @@ -13774,154 +14871,154 @@ paths: $ref: '#/components/schemas/MonitoringState' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Monitored host count tags: - - Infrastructure Resources - x-ibm-ahub-byok: true + - Infrastructure Resources /api/infrastructure-monitoring/payloads/{snapshotId}/{payloadKey}: get: - description: This endpoint retrieves the payload for a snapshot. Please note - that this endpoint is only available for instances of db2. + description: >- + This endpoint retrieves the payload for a snapshot. Please note that + this endpoint is only available for instances of db2. operationId: getPluginPayload parameters: - - description: Snapshot id. - in: path - name: snapshotId - required: true - schema: - type: string - - description: Payload key. Use [getAvailablePayloadKeysByPluginId](/openapi/#operation/getAvailablePayloadKeysByPluginId) - to retrieve the list of possible keys. - example: topqueries - in: path - name: payloadKey - required: true - schema: - type: string - - description: End of timeframe expressed as the Unix epoch time in milliseconds. - example: 1689018652000 - in: query - name: to - schema: - type: integer - format: int64 - - description: Window size in milliseconds. - example: 3600000 - in: query - name: windowSize - schema: - type: integer - format: int64 + - description: Snapshot id. + in: path + name: snapshotId + required: true + schema: + type: string + - description: >- + Payload key. Use + [getAvailablePayloadKeysByPluginId](/openapi/#operation/getAvailablePayloadKeysByPluginId) + to retrieve the list of possible keys. + example: topqueries + in: path + name: payloadKey + required: true + schema: + type: string + - description: End of timeframe expressed as the Unix epoch time in milliseconds. + example: 1689018652000 + in: query + name: to + schema: + type: integer + format: int64 + - description: Window size in milliseconds. + example: 3600000 + in: query + name: windowSize + schema: + type: integer + format: int64 responses: '200': content: application/json: example: raw_payload: - - DEFERRED_VALUE: '64' - DEFERRED_VALUE_FLAGS: NONE - VALUE: '64' - NAME: app_ctl_heap_sz - VALUE_FLAGS: NONE + - DEFERRED_VALUE: '64' + DEFERRED_VALUE_FLAGS: NONE + VALUE: '64' + NAME: app_ctl_heap_sz + VALUE_FLAGS: NONE timestamp: 1707833086000 description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get a payload for a snapshot tags: - - Infrastructure Resources + - Infrastructure Resources x-description: getPluginPayload - x-ibm-ahub-byok: true /api/infrastructure-monitoring/snapshots: get: operationId: getSnapshots parameters: - - description: query to use to filter snapshot retrieval - example: entity.zone:myZone* - in: query - name: query - schema: - type: string - - description: end of timeframe expressed as the Unix epoch time in milliseconds - example: 1689018652000 - in: query - name: to - schema: - type: integer - format: int64 - - description: windowSize in milliseconds - example: 3600000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: maximum number of snapshots to retrieve - example: 100 - in: query - name: size - schema: - type: integer - format: int32 - - description: entity type - example: host - in: query - name: plugin - schema: - type: string - - description: retrieve snapshots which were online during the timeframe, otherwise, - return only snapshot which were online at the end of the timeframe - example: false - in: query - name: offline - schema: - type: boolean + - description: query to use to filter snapshot retrieval + example: entity.zone:myZone* + in: query + name: query + schema: + type: string + - description: end of timeframe expressed as the Unix epoch time in milliseconds + example: 1689018652000 + in: query + name: to + schema: + type: integer + format: int64 + - description: windowSize in milliseconds + example: 3600000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: maximum number of snapshots to retrieve + example: 100 + in: query + name: size + schema: + type: integer + format: int32 + - description: entity type + example: host + in: query + name: plugin + schema: + type: string + - description: >- + retrieve snapshots which were online during the timeframe, + otherwise, return only snapshot which were online at the end of the + timeframe + example: false + in: query + name: offline + schema: + type: boolean responses: '200': content: application/json: example: items: - - snapshotId: ZoKkksp277FMLSXIghPKdjZcvfE - plugin: host - from: 1706785156000 - to: null - tags: [ - ] - label: ip-10-255-200-30.instana.io - host: EC2-i-03afb0ac5188f57f3 - - snapshotId: ONRQyD-iztZX6QS9QnjKbFFy-oI - plugin: host - from: 1706756437000 - to: null - tags: [ - ] - label: ip-10-255-218-45.instana.io - host: EC2-i-091cba86bac58cc77 - - snapshotId: 0GvRrdko-0Ds9OWPzJVEm0j0vTA - plugin: host - from: 1706785131000 - to: null - tags: [ - ] - label: ip-10-255-203-60.instana.io - host: EC2-i-0d2743935b9596c85 + - snapshotId: ZoKkksp277FMLSXIghPKdjZcvfE + plugin: host + from: 1706785156000 + to: null + tags: [] + label: ip-10-255-200-30.instana.io + host: EC2-i-03afb0ac5188f57f3 + - snapshotId: ONRQyD-iztZX6QS9QnjKbFFy-oI + plugin: host + from: 1706756437000 + to: null + tags: [] + label: ip-10-255-218-45.instana.io + host: EC2-i-091cba86bac58cc77 + - snapshotId: 0GvRrdko-0Ds9OWPzJVEm0j0vTA + plugin: host + from: 1706785131000 + to: null + tags: [] + label: ip-10-255-203-60.instana.io + host: EC2-i-0d2743935b9596c85 schema: $ref: '#/components/schemas/SnapshotResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Search snapshots tags: - - Infrastructure Resources + - Infrastructure Resources x-description: getSnapshots - x-ibm-ahub-byok: true post: - description: This endpoint retrieves detail information for one or more snapshots. + description: >- + This endpoint retrieves detail information for one or more snapshots. timeFrame defaults to the last 10 minutes if not specified. operationId: postSnapshots requestBody: @@ -13929,12 +15026,13 @@ paths: application/json: examples: This example retrieves the detail information for two snapshots.: - description: This example retrieves the detail information for two + description: >- + This example retrieves the detail information for two snapshots. value: snapshotIds: - - AB3DeFGHIJkLm9OpQrstUVwxY_z - - ZY4XwVUTSRqPo8MlKjihGFedC_a + - AB3DeFGHIJkLm9OpQrstUVwxY_z + - ZY4XwVUTSRqPo8MlKjihGFedC_a timeFrame: to: 1689018652000 windowSize: 3600000 @@ -13949,37 +15047,36 @@ paths: $ref: '#/components/schemas/PostSnapshotsResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get snapshot details for multiple snapshots tags: - - Infrastructure Resources - x-ibm-ahub-byok: true + - Infrastructure Resources /api/infrastructure-monitoring/snapshots/{id}: get: description: Get all snapshot information operationId: getSnapshot parameters: - - description: snapshot id - in: path - name: id - required: true - schema: - type: string - - description: end of timeframe expressed as the Unix epoch time in milliseconds - example: 1689018652000 - in: query - name: to - schema: - type: integer - format: int64 - - description: windowSize in milliseconds - example: 3600000 - in: query - name: windowSize - schema: - type: integer - format: int64 + - description: snapshot id + in: path + name: id + required: true + schema: + type: string + - description: end of timeframe expressed as the Unix epoch time in milliseconds + example: 1689018652000 + in: query + name: to + schema: + type: integer + format: int64 + - description: windowSize in milliseconds + example: 3600000 + in: query + name: windowSize + schema: + type: integer + format: int64 responses: '200': content: @@ -13988,8 +15085,7 @@ paths: snapshotId: ZoKkksp277FMLSXIghPKdjZcvfE plugin: host from: 1706785156000 - tags: [ - ] + tags: [] label: ip-10-255-200-30.instana.io entityId: host: EC2-i-03afb0ac5188f57f3 @@ -13999,17 +15095,20 @@ paths: interfaces: eth0: addresses: - - subnet: 10.255.200.0 - fqdn: - - 10-255-200-30.instana-agent-headless.instana-agent.svc.cluster.local - - 10-255-200-30.instana-agent.instana-agent.svc.cluster.local - - 10-255-200-30.prometheus-prometheus-node-exporter.prometheus.svc.cluster.local - ip: 10.255.200.30 + - subnet: 10.255.200.0 + fqdn: + - >- + 10-255-200-30.instana-agent-headless.instana-agent.svc.cluster.local + - >- + 10-255-200-30.instana-agent.instana-agent.svc.cluster.local + - >- + 10-255-200-30.prometheus-prometheus-node-exporter.prometheus.svc.cluster.local + ip: 10.255.200.30 mac: 06:00:E9:32:99:C5 eth1: addresses: - - subnet: 10.255.200.0 - ip: 10.255.205.14 + - subnet: 10.255.200.0 + ip: 10.255.205.14 mac: 06:93:A2:5B:97:D9 cpu.model: AMD EPYC 7R13 Processor fqdn: ip-10-255-200-30.instana.io @@ -14022,18 +15121,21 @@ paths: /dev/nvme0n1p1: options: rw,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota mounts: - - /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/configuration/instana-agent/11 - - /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/configuration/instana-agent/14 - - /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/additional-backend-2/instana-agent/12 - - /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/additional-backend-3/instana-agent/13 - - / + - >- + /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/configuration/instana-agent/11 + - >- + /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/configuration/instana-agent/14 + - >- + /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/additional-backend-2/instana-agent/12 + - >- + /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/additional-backend-3/instana-agent/13 + - / systype: xfs icapacity: 28180816 mount: / capacity: 83873772 os.version: 5.10.186-179.751.amzn2.x86_64 - tags: [ - ] + tags: [] cpu.count: 8 hostname: ip-10-255-200-30 machineId: ec2f95ff87a4a46d4672835afb9e2bb5 @@ -14043,76 +15145,89 @@ paths: $ref: '#/components/schemas/SnapshotItem' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get snapshot details tags: - - Infrastructure Resources - x-ibm-ahub-byok: true + - Infrastructure Resources /api/infrastructure-monitoring/software/versions: get: - description: |- - Retrieve information about the software that are sensed by the agent remotely, natively, or both. This includes runtime and package manager information. + description: >- + Retrieve information about the software that are sensed by the agent + remotely, natively, or both. This includes runtime and package manager + information. - The `plugin`, `name`, `version`, `discoveryType`, `softwareType` and `vendor` parameters are optional filters that can be used to reduce the result data set. - The `snapshotId` in `usedBy` is either of host or container, if available + + The `plugin`, `name`, `version`, `discoveryType`, `softwareType` and + `vendor` parameters are optional filters that can be used to reduce the + result data set. + + The `snapshotId` in `usedBy` is either of host or container, if + available operationId: softwareVersions parameters: - - description: Timeframe expressed as the Unix epoch time in milliseconds - in: query - name: time - schema: - type: integer - format: int64 - - description: Filter on discoveryType - example: NATIVE_SENSOR - in: query - name: discoveryType - schema: - type: string - enum: - - NATIVE_SENSOR - - REMOTE_SENSOR - - PACKAGE_MANAGER - - OTHER - - description: Filter on softwareType - example: DEPENDENCY - in: query - name: softwareType - schema: - type: string - enum: - - DEPENDENCY - - RUNTIME - - DATABASE - - MESSAGING - - PLATFORM - - PACKAGE - - OS - - CACHE - - API_GATEWAY - - OTHER - - APPLICATION_FRAMEWORK - - description: Filter on this software name - in: query - name: name - schema: - type: string - - description: Filter on this plugin - in: query - name: plugin - schema: - type: string - - description: Filter on this version - in: query - name: version - schema: - type: string - - description: Filter on this vendor - in: query - name: vendor - schema: - type: string + - description: Timeframe expressed as the Unix epoch time in milliseconds + in: query + name: time + schema: + type: integer + format: int64 + nullable: true + - description: Filter on discoveryType + example: NATIVE_SENSOR + in: query + name: discoveryType + schema: + type: string + enum: + - NATIVE_SENSOR + - REMOTE_SENSOR + - PACKAGE_MANAGER + - OTHER + nullable: true + - description: Filter on softwareType + example: DEPENDENCY + in: query + name: softwareType + schema: + type: string + enum: + - DEPENDENCY + - RUNTIME + - DATABASE + - MESSAGING + - PLATFORM + - PACKAGE + - OS + - CACHE + - API_GATEWAY + - OTHER + - APPLICATION_FRAMEWORK + nullable: true + - description: Filter on this software name + in: query + name: name + schema: + type: string + nullable: true + - description: Filter on this plugin + in: query + name: plugin + schema: + type: string + nullable: true + - description: Filter on this version + in: query + name: version + schema: + type: string + nullable: true + - description: Filter on this vendor + in: query + name: vendor + schema: + type: string + nullable: true responses: '200': content: @@ -14160,48 +15275,47 @@ paths: $ref: '#/components/schemas/SoftwareVersion' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get installed software tags: - - Infrastructure Resources - x-ibm-ahub-byok: true + - Infrastructure Resources /api/infrastructure-monitoring/topology: get: operationId: getTopology parameters: - - description: Include snapshot data in nodes - in: query - name: includeData - schema: - type: boolean + - description: Include snapshot data in nodes + in: query + name: includeData + schema: + type: boolean responses: '200': content: application/json: example: nodes: - - id: nYlAch5BEuXdyzQ1Q1V3QvW9jpY - plugin: kubernetesPod - label: openshift-console/downloads-6b8f4d6dfc-zv2tx (pod) - entityId: - host: '' - pluginId: com.instana.forge.infrastructure.paas.kubernetes.derivedentity.pod.KubernetesPod - steadyId: b3e550f4-5754-4388-bd44-025ecd9f057e + - id: nYlAch5BEuXdyzQ1Q1V3QvW9jpY + plugin: kubernetesPod + label: openshift-console/downloads-6b8f4d6dfc-zv2tx (pod) + entityId: + host: '' + pluginId: >- + com.instana.forge.infrastructure.paas.kubernetes.derivedentity.pod.KubernetesPod + steadyId: b3e550f4-5754-4388-bd44-025ecd9f057e edges: - - source: i5wh2JGMSHMiSt_TH2sHo1rNLaQ - destination: k67B5nn-7mpx6i0oCEiIWvP46ko - relation: in + - source: i5wh2JGMSHMiSt_TH2sHo1rNLaQ + destination: k67B5nn-7mpx6i0oCEiIWvP46ko + relation: in schema: $ref: '#/components/schemas/Topology' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Gets the infrastructure topology tags: - - Infrastructure Topology - x-ibm-ahub-byok: true + - Infrastructure Topology /api/instana/health: get: description: Get basic health of application. @@ -14212,19 +15326,17 @@ paths: application/json: example: health: GREEN - messages: [ - ] + messages: [] schema: $ref: '#/components/schemas/HealthState' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Basic health traffic light tags: - - Health + - Health x-description: getHealthState - x-ibm-ahub-byok: true /api/instana/usage/api: get: operationId: getAllUsage @@ -14238,34 +15350,33 @@ paths: $ref: '#/components/schemas/UsageResult' description: OK security: - - ApiKeyAuth: - - CanViewAccountAndBillingInformation + - ApiKeyAuth: + - CanViewAccountAndBillingInformation summary: API usage by customer tags: - - Usage - x-ibm-ahub-byok: true + - Usage /api/instana/usage/api/{day}/{month}/{year}: get: operationId: getUsagePerDay parameters: - - in: path - name: day - required: true - schema: - type: integer - format: int32 - - in: path - name: month - required: true - schema: - type: integer - format: int32 - - in: path - name: year - required: true - schema: - type: integer - format: int32 + - in: path + name: day + required: true + schema: + type: integer + format: int32 + - in: path + name: month + required: true + schema: + type: integer + format: int32 + - in: path + name: year + required: true + schema: + type: integer + format: int32 responses: '200': content: @@ -14276,28 +15387,27 @@ paths: $ref: '#/components/schemas/UsageResult' description: OK security: - - ApiKeyAuth: - - CanViewAccountAndBillingInformation + - ApiKeyAuth: + - CanViewAccountAndBillingInformation summary: API usage day / month / year tags: - - Usage - x-ibm-ahub-byok: true + - Usage /api/instana/usage/api/{month}/{year}: get: operationId: getUsagePerMonth parameters: - - in: path - name: month - required: true - schema: - type: integer - format: int32 - - in: path - name: year - required: true - schema: - type: integer - format: int32 + - in: path + name: month + required: true + schema: + type: integer + format: int32 + - in: path + name: year + required: true + schema: + type: integer + format: int32 responses: '200': content: @@ -14308,34 +15418,33 @@ paths: $ref: '#/components/schemas/UsageResult' description: OK security: - - ApiKeyAuth: - - CanViewAccountAndBillingInformation + - ApiKeyAuth: + - CanViewAccountAndBillingInformation summary: API usage month / year tags: - - Usage - x-ibm-ahub-byok: true + - Usage /api/instana/usage/hosts/{day}/{month}/{year}: get: operationId: getHostsPerDay parameters: - - in: path - name: day - required: true - schema: - type: integer - format: int32 - - in: path - name: month - required: true - schema: - type: integer - format: int32 - - in: path - name: year - required: true - schema: - type: integer - format: int32 + - in: path + name: day + required: true + schema: + type: integer + format: int32 + - in: path + name: month + required: true + schema: + type: integer + format: int32 + - in: path + name: year + required: true + schema: + type: integer + format: int32 responses: '200': content: @@ -14346,28 +15455,27 @@ paths: $ref: '#/components/schemas/UsageResult' description: OK security: - - ApiKeyAuth: - - CanViewAccountAndBillingInformation + - ApiKeyAuth: + - CanViewAccountAndBillingInformation summary: Host count day / month / year tags: - - Usage - x-ibm-ahub-byok: true + - Usage /api/instana/usage/hosts/{month}/{year}: get: operationId: getHostsPerMonth parameters: - - in: path - name: month - required: true - schema: - type: integer - format: int32 - - in: path - name: year - required: true - schema: - type: integer - format: int32 + - in: path + name: month + required: true + schema: + type: integer + format: int32 + - in: path + name: year + required: true + schema: + type: integer + format: int32 responses: '200': content: @@ -14378,12 +15486,11 @@ paths: $ref: '#/components/schemas/UsageResult' description: OK security: - - ApiKeyAuth: - - CanViewAccountAndBillingInformation + - ApiKeyAuth: + - CanViewAccountAndBillingInformation summary: Host count month / year tags: - - Usage - x-ibm-ahub-byok: true + - Usage /api/instana/version: get: description: Get lastest API version information. @@ -14400,72 +15507,75 @@ paths: $ref: '#/components/schemas/InstanaVersionInfo' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: API version information tags: - - Health + - Health x-description: getVersion - x-ibm-ahub-byok: true /api/internal/custom-dashboard: get: operationId: getInternalCustomDashboards parameters: - - description: query - example: BeeInstana - in: query - name: query - schema: - type: string - - description: pageSize - example: 2 - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: page - example: 1 - in: query - name: page - schema: - type: integer - format: int32 - - description: withTotalHits - example: false - in: query - name: withTotalHits - schema: - type: boolean + - description: query + example: BeeInstana + in: query + name: query + schema: + type: string + - description: pageSize + example: 2 + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: page + example: 1 + in: query + name: page + schema: + type: integer + format: int32 + - description: withTotalHits + example: false + in: query + name: withTotalHits + schema: + type: boolean responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - x-ibm-ahub-byok: true + - ApiKeyAuth: + - Default /api/internal/custom-dashboard/{dashboardId}: get: operationId: getInternalDashboard parameters: - - in: path - name: dashboardId - required: true - schema: - type: string + - in: path + name: dashboardId + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - Default - x-ibm-ahub-byok: true + - ApiKeyAuth: + - Default + /api/license: + get: + operationId: get_1 + responses: + default: + content: + application/json: {} + description: default response /api/llm/capabilities: get: description: Retrieve all available LLM capabilities. @@ -14475,94 +15585,97 @@ paths: content: application/json: example: - - id: INCIDENT_INVESTIGATION - label: Incident investigation - description: Provides the ability to investigate incidents using AI - assistance. - models: - - id: MISTRAL_MEDIUM_2505 - name: mistralai/mistral-medium-2505 - label: Mistral (medium) - description: Provides high-accuracy results coupled with cost effective - scalability - - id: MISTRAL_LARGE_INSTRUCT_2407 - name: mistralai/Mistral-Large-Instruct-2407 - label: Mistral (large) - description: Provides results with less deviations, but consumes - more tokens - - id: GRANITE_3_3_8B_INSTRUCT - name: ibm/granite-3-3-8b-instruct - label: Granite - description: Provides faster and more accurate results - defaultModel: mistralai/mistral-medium-2505 + - id: INCIDENT_INVESTIGATION + label: Incident investigation + description: >- + Provides the ability to investigate incidents using AI + assistance. + models: + - id: MISTRAL_MEDIUM_2505 + name: mistralai/mistral-medium-2505 + label: Mistral (medium) + description: >- + Provides high-accuracy results coupled with cost + effective scalability + - id: MISTRAL_LARGE_INSTRUCT_2407 + name: mistralai/Mistral-Large-Instruct-2407 + label: Mistral (large) + description: >- + Provides results with less deviations, but consumes more + tokens + - id: GRANITE_3_3_8B_INSTRUCT + name: ibm/granite-3-3-8b-instruct + label: Granite + description: Provides faster and more accurate results + defaultModel: mistralai/mistral-medium-2505 schema: type: array items: type: string enum: - - INCIDENT_INVESTIGATION - - INCIDENT_SUMMARIZATION - - AI_ASSISTANT - - MANUAL_ACTION_GENERATION - - SCRIPT_GENERATION - - KUBERNETES_ASSISTANT - - SLO_ASSISTANT - - GENAI_EVALUATION + - INCIDENT_INVESTIGATION + - INCIDENT_SUMMARIZATION + - AI_ASSISTANT + - MANUAL_ACTION_GENERATION + - SCRIPT_GENERATION + - KUBERNETES_ASSISTANT + - SLO_ASSISTANT + - GENAI_EVALUATION + - EUM_QUERY_ASSISTANT description: OK '401': description: Unauthorized access - requires user authentication. '500': description: Internal server error. security: - - ApiKeyAuth: [ - ] + - ApiKeyAuth: [] summary: Get all LLM capabilities tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management /api/llm/gateways: get: - description: Retrieve all LLM gateways. Optionally filter by enabled status - or capability. + description: >- + Retrieve all AI connections. Optionally filter by enabled status or + capability. operationId: getLLMEgressGateways parameters: - - description: Filter by enabled status (true/false) - in: query - name: enabled - schema: - type: boolean - - description: Filter by capability name - in: query - name: capability - schema: - type: string + - description: Filter by enabled status (true/false) + in: query + name: enabled + schema: + type: boolean + - description: Filter by capability name + in: query + name: capability + schema: + type: string responses: '200': content: application/json: example: - - id: a14700b0-401b-47eb-a751-deda0035fde3 - name: Example LLM egress Handler - description: This is a sample custom handler used for testing. - aiModel: watsonx-gpt-4 - supports: - capabilities: - - anomaly-detection - - remediation - metadata: - source: user - version: 1.0.0 - endpointUrl: https://example.com/handler - endpointApiKey: secret-api-key - watsonxKey: watsonx-123 - watsonxProject: project-xyz - watsonxUrl: https://watsonx.example.com - instanaAgents: - agents: - - agent-1 - - agent-2 - createdAt: 2024-05-01T10:00:00Z - modifiedAt: 2024-05-02T15:30:00Z + - id: a14700b0-401b-47eb-a751-deda0035fde3 + name: Example LLM egress Handler + description: This is a sample custom handler used for testing. + aiModel: watsonx-gpt-4 + supports: + capabilities: + - anomaly-detection + - remediation + metadata: + source: user + version: 1.0.0 + endpointUrl: https://example.com/handler + endpointApiKey: secret-api-key + watsonxKey: watsonx-123 + watsonxProject: project-xyz + watsonxUrl: https://watsonx.example.com + instanaAgents: + agents: + - agent-1 + - agent-2 + createdAt: '2024-05-01T10:00:00.000Z' + modifiedAt: '2024-05-02T15:30:00.000Z' schema: type: array items: @@ -14577,14 +15690,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: [ - ] - summary: Get all LLM gateways + - ApiKeyAuth: [] + summary: Get all AI connections tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management post: - description: Create a new LLM gateway + description: Create a new AI connection operationId: addLLMEgressGateway requestBody: content: @@ -14595,8 +15706,8 @@ paths: aiModel: watsonx-gpt-4 supports: capabilities: - - anomaly-detection - - remediation + - anomaly-detection + - remediation metadata: source: user version: 1.0.0 @@ -14607,8 +15718,8 @@ paths: watsonxUrl: https://watsonx.example.com instanaAgents: agents: - - agent-1 - - agent-2 + - agent-1 + - agent-2 schema: $ref: '#/components/schemas/LLMEgressGateway' required: true @@ -14623,8 +15734,8 @@ paths: aiModel: watsonx-gpt-4 supports: capabilities: - - anomaly-detection - - remediation + - anomaly-detection + - remediation metadata: source: user version: 1.0.0 @@ -14635,8 +15746,8 @@ paths: watsonxUrl: https://watsonx.example.com instanaAgents: agents: - - agent-1 - - agent-2 + - agent-1 + - agent-2 schema: $ref: '#/components/schemas/LLMEgressGateway' description: OK @@ -14647,15 +15758,14 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureLLM - summary: Create a new LLM gateway + - ApiKeyAuth: + - canConfigureLLM + summary: Create a new AI connection tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management /api/llm/gateways/test: post: - description: Test LLM gateway connection parameters + description: Test AI connection connection parameters operationId: testLLMGateway requestBody: content: @@ -14691,23 +15801,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureLLM - summary: Test LLM gateway connection parameters + - ApiKeyAuth: + - canConfigureLLM + summary: Test AI connection connection parameters tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management /api/llm/gateways/{id}: delete: - description: Delete a LLM egress gateway by ID. + description: Delete an AI connection by ID. operationId: deleteLLMEgressGateway parameters: - - description: LLM gateway ID - in: path - name: id - required: true - schema: - type: string + - description: AI connection ID + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -14720,22 +15829,21 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureLLM - summary: Delete a LLM egress gateway + - ApiKeyAuth: + - canConfigureLLM + summary: Delete an AI connection tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management get: - description: Retrieve a LLM gateway by ID. + description: Retrieve an AI connection by ID. operationId: getLLMEgressGatewayById parameters: - - description: LLM gateway ID - in: path - name: id - required: true - schema: - type: string + - description: AI connection ID + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -14747,8 +15855,8 @@ paths: aiModel: watsonx-gpt-4 supports: capabilities: - - anomaly-detection - - remediation + - anomaly-detection + - remediation metadata: source: user version: 1.0.0 @@ -14759,10 +15867,10 @@ paths: watsonxUrl: https://watsonx.example.com instanaAgents: agents: - - agent-1 - - agent-2 - createdAt: 2024-05-01T10:00:00Z - modifiedAt: 2024-05-02T15:30:00Z + - agent-1 + - agent-2 + createdAt: '2024-05-01T10:00:00.000Z' + modifiedAt: '2024-05-02T15:30:00.000Z' schema: $ref: '#/components/schemas/LLMEgressGateway' description: OK @@ -14775,22 +15883,21 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default - summary: Get a LLM gateway by ID + - ApiKeyAuth: + - Default + summary: Get an AI connection by ID tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management put: - description: Update an existing LLM gateway by ID. + description: Update an existing AI connection by ID. operationId: updateLLMEgressGateway parameters: - - description: LLM gateway ID - in: path - name: id - required: true - schema: - type: string + - description: AI connection ID + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -14800,8 +15907,8 @@ paths: aiModel: watsonx-gpt-4 supports: capabilities: - - anomaly-detection - - remediation + - anomaly-detection + - remediation metadata: source: user version: 1.0.0 @@ -14812,8 +15919,8 @@ paths: watsonxUrl: https://watsonx.example.com instanaAgents: agents: - - agent-1 - - agent-2 + - agent-1 + - agent-2 schema: $ref: '#/components/schemas/LLMEgressGateway' required: true @@ -14828,8 +15935,8 @@ paths: aiModel: watsonx-gpt-4 supports: capabilities: - - anomaly-detection - - remediation + - anomaly-detection + - remediation metadata: source: user version: 1.0.0 @@ -14840,8 +15947,8 @@ paths: watsonxUrl: https://watsonx.example.com instanaAgents: agents: - - agent-1 - - agent-2 + - agent-1 + - agent-2 schema: $ref: '#/components/schemas/LLMEgressGateway' description: OK @@ -14854,24 +15961,52 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureLLM - summary: Update an existing LLM gateway. + - ApiKeyAuth: + - canConfigureLLM + summary: Update an existing AI connection. tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management + /api/llm/gateways/{id}/disable: + put: + description: Disable an AI connection by ID. + operationId: disableLLMEgressGateway + parameters: + - description: AI connection ID + in: path + name: id + required: true + schema: + type: string + responses: + '204': + description: Successful - no content to return. + '401': + description: Unauthorized access - requires user authentication. + '403': + description: Insufficient permissions or limited in access. + '404': + description: Resource not found. + '500': + description: Internal server error. + security: + - ApiKeyAuth: + - canConfigureLLM + summary: Disable an AI connection + tags: + - AI Management /api/llm/gateways/{id}/enable: put: - description: Enable a LLM gateway by ID. Any other enabled gateway for the same + description: >- + Enable an AI connection by ID. Any other enabled connection for the same capability will be automatically disabled. operationId: enableLLMEgressGateway parameters: - - description: LLM gateway ID - in: path - name: id - required: true - schema: - type: string + - description: AI connection ID + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -14884,45 +16019,51 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureLLM - summary: Set the enabled status of a LLM gateway + - ApiKeyAuth: + - canConfigureLLM + summary: Enable an AI connection tags: - - AI Management - x-ibm-ahub-byok: true + - AI Management /api/logging/logs/getLogVolumeUsage: get: - description: | - Returns aggregated log volume usage data for a specified time range and optional grouping tag. - `fromTs` and `toTs` are required and must define a valid time range (i.e., `fromTs` <= `toTs`). + description: > + Returns aggregated log volume usage data for a specified time range and + optional grouping tag. + + `fromTs` and `toTs` are required and must define a valid time range + (i.e., `fromTs` <= `toTs`). + Refer to the query parameter description for valid `groupingTag` values. operationId: getLogVolumeUsage parameters: - - description: Start timestamp in seconds. Must be <= `toTs`. - example: 1682899200 - in: query - name: fromTs - required: true - schema: - type: integer - format: int64 - - description: End timestamp in seconds. Must be >= `fromTs`. - example: 1682899201 - in: query - name: toTs - required: true - schema: - type: integer - format: int64 - - description: | - Optional tag to group volume usage by. Valid groupingTag values are: - `kubernetes_cluster_name`, `kubernetes_daemonset_name`, `kubernetes_namespace_name`, - `kubernetes_deployment_name`, `host_name`, `zone`. - example: zone - in: query - name: groupingTag - schema: - type: string + - description: Start timestamp in seconds. Must be <= `toTs`. + example: 1682899200 + in: query + name: fromTs + required: true + schema: + type: integer + format: int64 + - description: End timestamp in seconds. Must be >= `fromTs`. + example: 1682899201 + in: query + name: toTs + required: true + schema: + type: integer + format: int64 + - description: > + Optional tag to group volume usage by. Valid groupingTag values are: + + `kubernetes_cluster_name`, `kubernetes_daemonset_name`, + `kubernetes_namespace_name`, + + `kubernetes_deployment_name`, `host_name`, `zone`. + example: zone + in: query + name: groupingTag + schema: + type: string responses: '200': content: @@ -14932,47 +16073,44 @@ paths: description: Full Data value: logVolumeUsageItems: - - numberOfMonth: 11 - logVolume: 278141339215 - retentionPeriods: - - retentionDays: 7 - logVolume: 7253402 - logVolumeGroups: - - label: '' - logVolume: 7253402 - - label: demo-us-cluster - logVolume: 0 - - label: demo-us-eks - logVolume: 0 - - retentionDays: 90 - logVolume: 13319384221 - logVolumeGroups: - - label: '' - logVolume: 13004387032 - - label: demo-us-cluster - logVolume: 265176702 - - label: demo-us-eks - logVolume: 22645862 - - label: k8s-demo-cluster - logVolume: 27142175 - - label: rci-robotshop - logVolume: 32450 + - numberOfMonth: 11 + logVolume: 278141339215 + retentionPeriods: + - retentionDays: 7 + logVolume: 7253402 + logVolumeGroups: + - label: '' + logVolume: 7253402 + - label: demo-us-cluster + logVolume: 0 + - label: demo-us-eks + logVolume: 0 + - retentionDays: 90 + logVolume: 13319384221 + logVolumeGroups: + - label: '' + logVolume: 13004387032 + - label: demo-us-cluster + logVolume: 265176702 + - label: demo-us-eks + logVolume: 22645862 + - label: k8s-demo-cluster + logVolume: 27142175 + - label: rci-robotshop + logVolume: 32450 Zero Volume: description: Zero Volume value: logVolumeUsageItems: - - numberOfMonth: 1 - logVolume: 0 - retentionPeriods: [ - ] - - numberOfMonth: 2 - logVolume: 0 - retentionPeriods: [ - ] - - numberOfMonth: 3 - logVolume: 0 - retentionPeriods: [ - ] + - numberOfMonth: 1 + logVolume: 0 + retentionPeriods: [] + - numberOfMonth: 2 + logVolume: 0 + retentionPeriods: [] + - numberOfMonth: 3 + logVolume: 0 + retentionPeriods: [] schema: $ref: '#/components/schemas/LogVolumeUsageResult' description: Successfully retrieved log volume usage data @@ -14981,45 +16119,283 @@ paths: '500': description: Unexpected server error security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Log Volume Usage tags: - - Logging Analyze - x-ibm-ahub-byok: true + - Logging Analyze + /api/logging/logs/getLogs/v1: + post: + description: > + Returns logs (up to the specified retrievalSize) for a given time range + with optional filters to help users + + efficiently troubleshoot and resolve issues. + + + **The JSON payload must include:** + + + - `timeConfig`: Time range configuration with `to` (Unix timestamp in + milliseconds) and `windowSize` (duration in ms). + + + - `retrievalSize`: Maximum number of logs to return per request + (required, range: `1`-`200`). + * If you specify a value > `200`, it will be automatically reduced to `200`. + * Returns `HTTP 500 Internal Server Error` for values < `0`, non-integer types, or if missing. + + - `orderDirection`: Sort order - "ASC" (oldest first) or "DESC" (newest + first). + + + - `offset`: (Optional) Pagination offset specifies the number of + log entries to skip before returning results. + * Defaults to `0`, with permitted value range: [`0`,`2000`]. + * This field controls pagination by skipping a specified number of logs from the beginning of the result set. + * Example: With retrievalSize=`200` and offset=`0`, you get logs `1`-`200`. To get the next page, set offset=`200` to skip the first `200` logs and retrieve logs `201`-`400`. + * Example: Setting offset=10 skips the first `10` log entries and starts returning results from the 11th entry onwards + * Returns `HTTP 500 Internal Server Error` response if value is negative or non-integer. + + - `tagFilterExpression`: (Optional) Filter criteria for log + attributes. + + + - `requestedTags`: Array of tag names to include in the response. + * You can select up to 10 tags from the available list: + ``` + aws.ecs.containerId + aws.ecs.containerName + containerd.containerId + crio.containerId + docker.containerId + docker.containerName + expiration.ts.seconds + garden.containerId + host.name + kubernetes.cluster.name + kubernetes.container.name + kubernetes.deployment.name + kubernetes.namespace.name + kubernetes.node.name + kubernetes.pod.name + log.applications + log.custom + log.exception.message + log.exception.stackTrace + log.exception.type + log.file.path + log.hostId + log.level + log.message + log.streamName + log.timestamp + log.traceId + process.id + ``` + + **Response Payload Fields:** + + + - `items`: Array of log entries matching the query criteria. + + + - `totalHits`: Total number of log entries matching the query across all + pages (not just the current page). + * Use this value to calculate total pages or display result counts to users. + * Example: If totalHits=`450` and retrievalSize=`200`, you have 3 pages total (200 + 200 + 50). + + - `canLoadMore`: Boolean indicating whether more log entries are + available beyond the current page. + * When true, increment the offset parameter to retrieve the next page. + * Example: If retrievalSize=`200`, offset=`0`, and canLoadMore=`true`, set offset=`200` for the next request. + * When false, you have reached the end of the result set. + + - `adjustedTimeFrame`: Reserved for future use (currently always null). + * This field may be used in the future to indicate if the requested time range was automatically adjusted. + + Refer to the RequestBody section for the complete LogsQuery schema. + + + When using the UI to construct the curl request, select the desired + filters and time window, then click the "API Query" button to + automatically generate a curl request with current UI selections. By + default, 4 tags are always included in requests generated by the "API + Query" button, but may be changed as needed. + + + ```"log.timestamp", "log.level", "log.message", "log.custom"``` + + + Example curl request (can be auto-generated via the "API Query" button + in the Instana UI): + ``` + curl -X POST /api/logging/logs/getLogs/v1 \ + -H "Authorization: apiToken YOUR_API_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{ + "timeConfig": { + "to": 1711800000000, + "focusedMoment": 1711800000000, + "autoRefresh": false, + "windowSize": 3600000 + }, + "requestedTags": [ + "log.traceId", + "log.applications", + "process.id", + "host.name", + "docker.containerName", + "kubernetes.pod.name" + ], + "tagFilterExpression": { + "type": "EXPRESSION", + "logicalOperator": "AND", + "elements": [ + { + "type": "TAG_FILTER", + "name": "log.streamName", + "operator": "EQUALS", + "entity": "NOT_APPLICABLE", + "value": "log.go" + }, + { + "type": "TAG_FILTER", + "name": "service.name", + "operator": "EQUALS", + "entity": "DESTINATION", + "value": "dispatch" + } + ] + }, + "retrievalSize": 200, + "offset": 0, + "orderDirection": "DESC" + }' + ``` + operationId: getLogs + requestBody: + content: + application/json: + example: + timeConfig: + to: 1711800000000 + focusedMoment: 1711800000000 + autoRefresh: false + windowSize: 3600000 + requestedTags: + - log.traceId + - log.applications + - process.id + - host.name + - docker.containerName + - kubernetes.pod.name + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: + - type: TAG_FILTER + name: log.streamName + operator: EQUALS + entity: NOT_APPLICABLE + value: log.go + - type: TAG_FILTER + name: service.name + operator: EQUALS + entity: DESTINATION + value: dispatch + retrievalSize: 200 + offset: 0 + orderDirection: DESC + schema: + $ref: '#/components/schemas/LogsQuery' + required: true + responses: + '200': + content: + application/json: + examples: + 200 Logs: + description: 200 Logs + value: + items: + - message: Test Message + timestamp: '1234567890000' + logLevel: INFO + tags: + - name: log.custom + key: endpoint_type + value: INTERNAL + traceId: 000000000000000043500e1469c2f17a + applicationIds: + - C3lB8JC0TxaaVxKhUTc9rA + - D1YPvO1ZS7ac79DmBSw1jQ + processId: test_process_id + hostName: test_host_name + dockerContainerName: test_docker_container_name + kubernetesPodName: test_kubernetes_pod_name + adjustedTimeFrame: null + canLoadMore: true + totalHits: 225 + Zero Logs: + description: Zero Logs + value: + items: [] + adjustedTimeFrame: null + canLoadMore: false + totalHits: 0 + schema: + $ref: '#/components/schemas/LogsApiResponse' + description: >- + Successfully retrieved logs matching the query criteria. Returns an + array of log items with metadata and pagination information. + '500': + description: >- + Unexpected server error - An internal error occurred while + processing the request. + '503': + description: >- + Service unavailable - The logging service is temporarily + unavailable. Please retry after some time. + security: + - ApiKeyAuth: + - Default + summary: Retrieve logs via REST API + tags: + - Logging Analyze /api/mobile-app-monitoring/analyze/beacon-groups: post: description: API request to get grouped mobile app beacon metrics. operationId: getMobileAppBeaconGroups parameters: - - in: query - name: fillTimeSeries - schema: - type: boolean + - in: query + name: fillTimeSeries + schema: + type: boolean requestBody: content: application/json: example: metrics: - - metric: beaconCount - aggregation: SUM - granularity: 60 + - metric: beaconCount + aggregation: SUM + granularity: 60 group: groupbyTag: mobileBeacon.view.name tagFilterExpression: type: EXPRESSION - logicalOperator: AND - elements: - - type: TAG_FILTER - name: mobileBeacon.mobileApp.name - operator: EQUALS - entity: NOT_APPLICABLE - value: robot-warehouse - - type: TAG_FILTER - name: mobileBeacon.platform - operator: EQUALS - entity: NOT_APPLICABLE - value: iOS + logicalOperator: AND + elements: + - type: TAG_FILTER + name: mobileBeacon.mobileApp.name + operator: EQUALS + entity: NOT_APPLICABLE + value: robot-warehouse + - type: TAG_FILTER + name: mobileBeacon.platform + operator: EQUALS + entity: NOT_APPLICABLE + value: iOS timeFrame: to: null windowSize: 3600000 @@ -15033,18 +16409,18 @@ paths: application/json: example: items: - - name: Products - earliestTimestamp: 1707023340857 - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1707026879283 - offset: 1 - metrics: - beaconCount.sum.60: - - - 1707023340000 - - 47.0 - - - 1707023400000 - - 43.0 + - name: Products + earliestTimestamp: 1707023340857 + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1707026879283 + offset: 1 + metrics: + beaconCount.sum.60: + - - 1707023340000 + - 47 + - - 1707023400000 + - 43 canLoadMore: false totalHits: 1 totalRepresentedItemCount: 1 @@ -15060,12 +16436,11 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get grouped beacon metrics tags: - - Mobile App Analyze - x-ibm-ahub-byok: true + - Mobile App Analyze /api/mobile-app-monitoring/analyze/beacons: post: description: API request to get all mobile app beacons with matching type. @@ -15074,11 +16449,11 @@ paths: content: application/json: example: - tagFilterExpression: - entity: NOT_APPLICABLE - name: mobileBeacon.mobileApp.name - operator: EQUALS - value: robot-warehouse + tagFilters: + - entity: NOT_APPLICABLE + name: mobileBeacon.mobileApp.name + operator: EQUALS + value: robot-warehouse timeFrame: to: null windowSize: 60000 @@ -15092,75 +16467,72 @@ paths: application/json: example: items: - - beacon: - agentVersion: 6.0.22 - mobileAppId: K3bP-bmCRkyimNai9vvq8o - mobileAppLabel: robot-warehouse - timestamp: 1707025556799 - clockSkew: 450 - ingestionTime: 1707025557248 - duration: 0 - batchSize: 1 - sessionId: B5CB9B35-C822-4101-B192-DC2488924C7F - beaconId: c43d78282ee5b5cf - parentBeaconId: '' - backendTraceId: '' - type: sessionStart - view: Products - customEventName: '' - meta: - feature.testGroup: beta - userIp: 94.134.0.0 - userId: Example User Id - userSessionId: '' - userName: Example User Name - userEmail: example@example.com - userLanguages: - - de-DE - useFeatures: [ - ] - bundleIdentifier: com.example.shop - appBuild: aba9031kl - appVersion: 1.41.4 - platform: Android - osName: Android - osVersion: '10' - deviceManufacturer: Google - deviceModel: Google Pixel 4XL - deviceHardware: Google Pixel 4XL - viewportWidth: 320 - viewportHeight: 680 - carrier: Deutsche Telekom - connectionType: wifi - effectiveConnectionType: 3g - latitude: 50.9865 - longitude: 6.9304 - accuracyRadius: 20 - city: Cologne - subdivision: North Rhine-Westphalia - subdivisionCode: NW - country: Germany - countryCode: DE - continent: Europe - continentCode: EU - httpCallUrl: '' - httpCallOrigin: '' - httpCallPath: '' - httpCallMethod: '' - httpCallHeaders: { - } - errorCount: 0 - errorMessage: '' - errorId: '' - errorType: '' - stackTrace: '' - stackTraceLine: [ - ] - parsedStackTrace: '' - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1707025557248 - offset: 1 + - beacon: + agentVersion: 6.0.22 + mobileAppId: K3bP-bmCRkyimNai9vvq8o + mobileAppLabel: robot-warehouse + timestamp: 1707025556799 + clockSkew: 450 + ingestionTime: 1707025557248 + duration: 0 + batchSize: 1 + sessionId: B5CB9B35-C822-4101-B192-DC2488924C7F + beaconId: c43d78282ee5b5cf + parentBeaconId: '' + backendTraceId: '' + type: sessionStart + view: Products + customEventName: '' + meta: + feature.testGroup: beta + userIp: 94.134.0.0 + userId: Example User Id + userSessionId: '' + userName: Example User Name + userEmail: example@example.com + userLanguages: + - de-DE + useFeatures: [] + bundleIdentifier: com.example.shop + appBuild: aba9031kl + appVersion: 1.41.4 + platform: Android + osName: Android + osVersion: '10' + deviceManufacturer: Google + deviceModel: Google Pixel 4XL + deviceHardware: Google Pixel 4XL + viewportWidth: 320 + viewportHeight: 680 + carrier: Deutsche Telekom + connectionType: wifi + effectiveConnectionType: 3g + latitude: 50.9865 + longitude: 6.9304 + accuracyRadius: 20 + city: Cologne + subdivision: North Rhine-Westphalia + subdivisionCode: NW + country: Germany + countryCode: DE + continent: Europe + continentCode: EU + httpCallUrl: '' + httpCallOrigin: '' + httpCallPath: '' + httpCallMethod: '' + httpCallHeaders: {} + errorCount: 0 + errorMessage: '' + errorId: '' + errorType: '' + stackTrace: '' + stackTraceLine: [] + parsedStackTrace: '' + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1707025557248 + offset: 1 canLoadMore: false totalHits: 70 totalRepresentedItemCount: 70 @@ -15172,68 +16544,69 @@ paths: $ref: '#/components/schemas/MobileAppBeaconResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all beacons tags: - - Mobile App Analyze - x-ibm-ahub-byok: true + - Mobile App Analyze /api/mobile-app-monitoring/catalog: get: operationId: getMobileAppTagCatalog parameters: - - in: query - name: beaconType - required: true - schema: - type: string - minLength: 1 - - in: query - name: useCase - required: true - schema: - type: string - enum: - - GROUPING - - FILTERING - - SERVICE_MAPPING - - SMART_ALERTS - - SMART_ALERTS_LOGS - - SMART_ALERTS_ADAPTIVE_BASELINE - - SMART_ALERTS_CUSTOM_PAYLOAD - - SLI_MANAGEMENT - - APPLICATION_CONFIG - - APPLICATION_CONFIG_BLUEPRINT - - MAINTENANCE_WINDOWS - - BIZOPS_CUSTOM_DASHBOARDS_FILTERING + - in: query + name: beaconType + required: true + schema: + type: string + minLength: 1 + - in: query + name: useCase + required: true + schema: + type: string + enum: + - GROUPING + - FILTERING + - SERVICE_MAPPING + - SMART_ALERTS + - SMART_ALERTS_LOGS + - SMART_ALERTS_ADAPTIVE_BASELINE + - SMART_ALERTS_ADAPTIVE_BASELINE_FAST_INIT + - SMART_ALERTS_CUSTOM_PAYLOAD + - SLI_MANAGEMENT + - APPLICATION_CONFIG + - APPLICATION_CONFIG_BLUEPRINT + - MAINTENANCE_WINDOWS + - BIZOPS_CUSTOM_DASHBOARDS_FILTERING responses: '200': content: application/json: example: - - name: mobileBeacon.carrier - type: STRING - category: MOBILE - canApplyToSource: false - canApplyToDestination: false - sourceValueAvailableFrom: 0 + - name: mobileBeacon.carrier + type: STRING + category: MOBILE + canApplyToSource: false + canApplyToDestination: false + sourceValueAvailableFrom: 0 schema: $ref: '#/components/schemas/TagCatalog' description: OK '400': - description: When the combination of beaconType and useCase is unsupported/unknown. + description: >- + When the combination of beaconType and useCase is + unsupported/unknown. '401': description: Unauthorized access - requires user authentication. '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get mobile app tag catalog tags: - - Mobile App Catalog + - Mobile App Catalog x-description: getMobileAppTagCatalog - x-ibm-ahub-byok: true /api/mobile-app-monitoring/catalog/metrics: get: description: API request to get mobile app metric catalog. @@ -15243,25 +16616,25 @@ paths: content: application/json: example: - - metricId: beaconCount - label: Beacon count - formatter: NUMBER - description: How many beacons matching a filter were recorded. - aggregations: - - SUM - defaultAggregation: null - beaconTypes: - - sessionStart - - viewChange - - custom - - httpRequest - - crash - pathToValueInBeacon: null - tagName: null - secondaryBeaconTypes: - - sessionStart - - viewChange - - custom + - metricId: beaconCount + label: Beacon count + formatter: NUMBER + description: How many beacons matching a filter were recorded. + aggregations: + - SUM + defaultAggregation: null + beaconTypes: + - sessionStart + - viewChange + - custom + - httpRequest + - crash + pathToValueInBeacon: null + tagName: null + secondaryBeaconTypes: + - sessionStart + - viewChange + - custom schema: type: array items: @@ -15272,13 +16645,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Metric catalog tags: - - Mobile App Catalog + - Mobile App Catalog x-description: getMobileAppMetricCatalog - x-ibm-ahub-byok: true /api/mobile-app-monitoring/catalog/tags: get: description: API request to get all mobile app tags. @@ -15288,12 +16660,12 @@ paths: content: application/json: example: - - name: mobileBeacon.view.name - type: STRING - category: MOBILE - canApplyToSource: false - canApplyToDestination: false - sourceValueAvailableFrom: 0 + - name: mobileBeacon.view.name + type: STRING + category: MOBILE + canApplyToSource: false + canApplyToDestination: false + sourceValueAvailableFrom: 0 schema: type: array items: @@ -15304,13 +16676,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all existing mobile app tags tags: - - Mobile App Catalog + - Mobile App Catalog x-description: getAllMobileAppCatalogTags - x-ibm-ahub-byok: true /api/mobile-app-monitoring/config: get: description: API request to get configured mobile apps. @@ -15320,11 +16691,11 @@ paths: content: application/json: example: - - id: K3bP-bmCRkyimNai9vvq8o - name: example_mobile_app - rbacTags: - - id: test - displayName: test + - id: K3bP-bmCRkyimNai9vvq8o + name: example_mobile_app + rbacTags: + - id: test + displayName: test schema: type: array items: @@ -15335,27 +16706,26 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get configured mobile apps tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration post: description: API request to add new mobile app. operationId: postMobileAppConfig parameters: - - description: Name of the mobile app - in: query - name: name - schema: - type: string + - description: Name of the mobile app + in: query + name: name + schema: + type: string requestBody: content: application/json: example: - - id: test - displayName: test + - id: test + displayName: test schema: type: array items: @@ -15365,13 +16735,14 @@ paths: content: application/json: example: - - id: K3bP-bmCRkyimNai9vvq8o - name: example_mobile_app + - id: K3bP-bmCRkyimNai9vvq8o + name: example_mobile_app schema: $ref: '#/components/schemas/MobileApp' description: Mobile App successfully configured '400': - description: Missing name query parameter or name already used for a configured + description: >- + Missing name query parameter or name already used for a configured mobile app. '401': description: Unauthorized access - requires user authentication. @@ -15380,24 +16751,23 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Configure new mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}: delete: description: API request to remove mobile app. operationId: deleteMobileAppConfig parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string responses: '204': description: Mobile app successfully removed @@ -15408,23 +16778,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Remove mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration get: description: API request to get a specific mobile app configuration by ID. operationId: getSingleMobileAppConfig parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string responses: '200': content: @@ -15433,8 +16802,8 @@ paths: id: K3bP-bmCRkyimNai9vvq8o name: example_mobile_app rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/MobileApp' description: OK @@ -15445,35 +16814,34 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get mobile app configuration by ID tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration put: description: API request to rename mobile app. operationId: renameMobileAppConfig parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string - - description: New name of the mobile app - in: query - name: name - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string + - description: New name of the mobile app + in: query + name: name + schema: + type: string responses: '200': content: application/json: example: - - id: K3bP-bmCRkyimNai9vvq8o - name: example_mobile_app + - id: K3bP-bmCRkyimNai9vvq8o + name: example_mobile_app schema: $ref: '#/components/schemas/MobileApp' description: Mobile app successfully renamed @@ -15486,30 +16854,28 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Rename mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/geo-location: get: description: API request to get geo location configuration for mobile app. operationId: getMobileAppGeoLocationConfiguration parameters: - - in: path - name: mobileAppId - required: true - schema: - type: string + - in: path + name: mobileAppId + required: true + schema: + type: string responses: '200': content: application/json: example: geoDetailRemoval: NO_REMOVAL - geoMappingRules: [ - ] + geoMappingRules: [] schema: $ref: '#/components/schemas/GeoLocationConfiguration' description: OK @@ -15522,23 +16888,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Get geo location configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration put: description: API request to update geo location configuration for mobile app. operationId: updateMobileAppGeoLocationConfiguration parameters: - - description: Mobile App ID - example: iiLxP1zaTuCS7fyk9m4W0W - in: path - name: mobileAppId - required: true - schema: - type: string + - description: Mobile App ID + example: iiLxP1zaTuCS7fyk9m4W0W + in: path + name: mobileAppId + required: true + schema: + type: string requestBody: content: application/json: @@ -15560,27 +16925,25 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Update geo location configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/geo-mapping-rules: get: description: API request to get custom geo mapping rules for mobile app. operationId: getMobileAppGeoMappingRules parameters: - - in: path - name: mobileAppId - required: true - schema: - type: string + - in: path + name: mobileAppId + required: true + schema: + type: string responses: '200': content: - text/csv: { - } + text/csv: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -15591,21 +16954,20 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Get custom geo mapping rules for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration put: description: API request to set custom geo mapping rules for mobile app. operationId: setMobileAppGeoMappingRules parameters: - - in: path - name: mobileAppId - required: true - schema: - type: string + - in: path + name: mobileAppId + required: true + schema: + type: string requestBody: content: text/csv: @@ -15614,8 +16976,7 @@ paths: responses: '200': content: - text/csv: { - } + text/csv: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -15628,22 +16989,21 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Set custom geo mapping rules for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/ip-masking: get: description: API request to get IP masking configuration for mobile app. operationId: getMobileAppIpMaskingConfiguration parameters: - - in: path - name: mobileAppId - required: true - schema: - type: string + - in: path + name: mobileAppId + required: true + schema: + type: string responses: '200': content: @@ -15662,23 +17022,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Get IP masking configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration put: description: API request to update IP masking configuration for mobile app. operationId: updateMobileAppIpMaskingConfiguration parameters: - - description: Mobile App ID - example: iiLxP1zaTuCS7fyk9m4W0W - in: path - name: mobileAppId - required: true - schema: - type: string + - description: Mobile App ID + example: iiLxP1zaTuCS7fyk9m4W0W + in: path + name: mobileAppId + required: true + schema: + type: string requestBody: content: application/json: @@ -15700,45 +17059,44 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Update IP masking configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload: get: description: API request to get all sourcemap configurations for mobile app. operationId: getMobileAppSourceMapFiles parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string responses: '200': content: application/json: example: configs: - - id: 26ae11a865ec8c24 - description: InstanaAgentExample_v1 - createdAt: 1.7398641509596016E9 - modifiedAt: 1.7398643141402564E9 - metadata: - - type: DWARF - format: TGZ - url: com.instana.ios.InstanaAgentExample/dwarf - size: 2332564 - sizeOnDisk: 2324096 - blobs: - - blobIndex: 1 - size: 2332564 - sizeOnDisk: 2324096 - meta: null + - id: 26ae11a865ec8c24 + description: InstanaAgentExample_v1 + createdAt: 1739864150.9596016 + modifiedAt: 1739864314.1402564 + metadata: + - type: DWARF + format: TGZ + url: com.instana.ios.InstanaAgentExample/dwarf + size: 2332564 + sizeOnDisk: 2324096 + blobs: + - blobIndex: 1 + size: 2332564 + sizeOnDisk: 2324096 + meta: null schema: $ref: '#/components/schemas/SourceMapUploadConfigs' description: OK @@ -15747,23 +17105,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all sourcemap configurations for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration post: description: API request to add sourcemap configuration for mobile app. operationId: postMobileAppSourceMapConfig parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string requestBody: content: application/json: @@ -15783,10 +17140,9 @@ paths: example: id: 1f4acfd2da7c53f1 description: InstanaAgentExample_v2 - createdAt: 1.7478923068642304E9 - modifiedAt: 1.7478923068642304E9 - metadata: [ - ] + createdAt: 1747892306.8642304 + modifiedAt: 1747892306.8642304 + metadata: [] schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: Mobile App sourcemap configuration added successfully @@ -15801,35 +17157,33 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Add new sourcemap configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}: delete: description: API request to delete sourcemap configuration for mobile app. operationId: deleteMobileAppSourceMapUploadConfiguration parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string responses: '204': - description: Sourcemap configuration successfully deleted or sourcemap not - found + description: Sourcemap configuration successfully deleted or sourcemap not found '401': description: Unauthorized access - requires user authentication. '403': @@ -15837,30 +17191,29 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Delete sourcemap configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration get: description: API request to get sourcemap configuration for mobile app. operationId: getMobileAppSourceMapFile parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string responses: '200': content: @@ -15868,19 +17221,19 @@ paths: example: id: 53467e4fb60c1ba2 description: InstanaAgentExample_v1 - createdAt: 1.7216977227669933E9 - modifiedAt: 1.7216983084051073E9 + createdAt: 1721697722.7669933 + modifiedAt: 1721698308.4051073 metadata: - - type: DWARF - format: TGZ - url: com.instana.ios.InstanaAgentExample/dwarf - size: 3301023 - sizeOnDisk: 3287984 - blobs: - - blobIndex: 1 + - type: DWARF + format: TGZ + url: com.instana.ios.InstanaAgentExample/dwarf size: 3301023 sizeOnDisk: 3287984 - meta: null + blobs: + - blobIndex: 1 + size: 3301023 + sizeOnDisk: 3287984 + meta: null schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: OK @@ -15889,36 +17242,33 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get sourcemap configuration for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/clear: put: - description: API request to clear sourcemap files of a configuration for mobile - app. + description: API request to clear sourcemap files of a configuration for mobile app. operationId: clearMobileAppSourceMapUploadConfiguration parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string responses: '204': - description: Sourcemap files in the sourcemap configuration successfully - cleared + description: Sourcemap files in the sourcemap configuration successfully cleared '401': description: Unauthorized access - requires user authentication. '403': @@ -15928,31 +17278,30 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Clear sourcemap files for sourcemap upload configuration tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/commit: put: description: API request to commit sourcemap file upload for mobile app. operationId: commitMobileAppSourceMapFile parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string requestBody: content: multipart/form-data: @@ -15970,19 +17319,19 @@ paths: example: id: fb3e868cd69f0647 description: InstanaAgentExample_v2 - createdAt: 1.7479543183628924E9 - modifiedAt: 1.7479550970266616E9 + createdAt: 1747954318.3628924 + modifiedAt: 1747955097.0266616 metadata: - - type: DWARF - format: TGZ - url: com.instana.ios.InstanaAgentExample/dwarf - size: 3454658 - sizeOnDisk: 3442288 - blobs: - - blobIndex: 1 + - type: DWARF + format: TGZ + url: com.instana.ios.InstanaAgentExample/dwarf size: 3454658 sizeOnDisk: 3442288 - meta: null + blobs: + - blobIndex: 1 + size: 3454658 + sizeOnDisk: 3442288 + meta: null schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: Successfully committed sourcemap file upload. @@ -15993,31 +17342,30 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Commit sourcemap file upload for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/form: put: description: API request to upload sourcemap file for mobile app. operationId: uploadMobileAppSourceMapFile parameters: - - description: Mobile App ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: mobileAppId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Mobile App ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: mobileAppId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string requestBody: content: multipart/form-data: @@ -16033,21 +17381,24 @@ paths: description: File format. Example tgz fileId: type: string - description: Identifier of your app. For example, com.instana.ios.InstanaExampleApp + description: >- + Identifier of your app. For example, + com.instana.ios.InstanaExampleApp fileType: type: string - description: dSYM stands for iOS symbol file, R8PG_MAP stands for - Android java mapping file + description: >- + dSYM stands for iOS symbol file, R8PG_MAP stands for Android + java mapping file sourceMap: type: string format: binary description: Path to your local symbol file required: - - blobIndex - - fileFormat - - fileId - - fileType - - sourceMap + - blobIndex + - fileFormat + - fileId + - fileType + - sourceMap responses: '200': content: @@ -16055,19 +17406,19 @@ paths: example: id: 77e4c6c8c9855973 description: InstanaAgentExample_v2 - createdAt: 1.7479473508836377E9 - modifiedAt: 1.7479484622585921E9 + createdAt: 1747947350.8836377 + modifiedAt: 1747948462.2585921 metadata: - - type: DWARF - format: TGZ - url: com.instana.ios.InstanaAgentExample/dwarf - size: 3455633 - sizeOnDisk: 3443584 - blobs: - - blobIndex: 1 + - type: DWARF + format: TGZ + url: com.instana.ios.InstanaAgentExample/dwarf size: 3455633 sizeOnDisk: 3443584 - meta: null + blobs: + - blobIndex: 1 + size: 3455633 + sizeOnDisk: 3443584 + meta: null schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: OK @@ -16082,28 +17433,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Upload sourcemap file for mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/config/{mobileAppId}/teams: put: description: API request to update teams of a mobile app. operationId: updateMobileAppTeams parameters: - - in: path - name: mobileAppId - required: true - schema: - type: string + - in: path + name: mobileAppId + required: true + schema: + type: string requestBody: content: application/json: example: - - id: test - displayName: test + - id: test + displayName: test schema: type: array items: @@ -16113,8 +17463,8 @@ paths: content: application/json: example: - - id: test - displayName: test + - id: test + displayName: test schema: type: array items: @@ -16129,12 +17479,11 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - ConfigureMobileAppMonitoring + - ApiKeyAuth: + - ConfigureMobileAppMonitoring summary: Update teams assigned to the mobile app tags: - - Mobile App Configuration - x-ibm-ahub-byok: true + - Mobile App Configuration /api/mobile-app-monitoring/metrics: post: deprecated: true @@ -16154,82 +17503,85 @@ paths: $ref: '#/components/schemas/MobileAppMetricResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get mobile app beacon metrics tags: - - Mobile App Metrics - x-ibm-ahub-byok: true + - Mobile App Metrics /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/action-beacons: get: - description: Retrieves action beacons (user interactions and events) for a mobile - app session. Uses cursor-based pagination with offset cursors. Returns beacons - starting from the cursor offset. The pageSize parameter controls the number - of items returned (default 100, max 1000). Includes event types, view components, - frustration signals, orientation changes, and more. + description: >- + Retrieves action beacons (user interactions and events) for a mobile app + session. Uses cursor-based pagination with offset cursors. Returns + beacons starting from the cursor offset. The pageSize parameter controls + the number of items returned (default 100, max 1000). Includes event + types, view components, frustration signals, orientation changes, and + more. operationId: getActionBeacons parameters: - - description: Mobile app identifier - example: app-456 - in: path - name: mobileAppId - required: true - schema: - type: string - minLength: 1 - - description: Session identifier - example: session-123 - in: path - name: sessionId - required: true - schema: - type: string - minLength: 1 - - description: Offset cursor for pagination (number of items already retrieved). - Omit for first page. - example: 100 - in: query - name: cursor - schema: - type: integer - format: int64 - - description: 'Number of items per page (default: 100, max: 1000)' - example: 100 - in: query - name: pageSize - schema: - type: integer - format: int32 - default: 100 + - description: Mobile app identifier + example: app-456 + in: path + name: mobileAppId + required: true + schema: + type: string + minLength: 1 + - description: Session identifier + example: session-123 + in: path + name: sessionId + required: true + schema: + type: string + minLength: 1 + - description: >- + Offset cursor for pagination (number of items already retrieved). + Omit for first page. + example: 100 + in: query + name: cursor + schema: + type: integer + format: int64 + - description: 'Number of items per page (default: 100, max: 1000)' + example: 100 + in: query + name: pageSize + schema: + type: integer + format: int32 + default: 100 responses: '200': content: application/json: example: beacons: - - timestamp: 1757339999715 - beaconType: ued - sessionId: 24c6c1d4-161f-4243-85eb-3d0f46edbcbf - sessionReplayVersion: 0.0.1 - eventType: st - orientationChange: null - viewComponentId: resetDirectory - viewComponentClassName: MaterialButton - mobileAppId: KVJIyIPsTUGfvNORN_07uQ - keyboardOperation: null - frustrationSignal: null - scrollDirection: null - scrollDuration: null - beaconId: ab3d7d1251f75ac5 - beaconClockskew: 1234 - appState: foreground + - timestamp: 1757339999715 + beaconType: ued + sessionId: 24c6c1d4-161f-4243-85eb-3d0f46edbcbf + sessionReplayVersion: 0.0.1 + eventType: st + orientationChange: null + viewComponentId: resetDirectory + viewComponentClassName: MaterialButton + mobileAppId: KVJIyIPsTUGfvNORN_07uQ + keyboardOperation: null + frustrationSignal: null + scrollDirection: null + scrollDuration: null + beaconId: ab3d7d1251f75ac5 + beaconClockskew: 1234 + appState: foreground nextCursor: 100 hasMore: true schema: $ref: '#/components/schemas/GetActionBeaconsResult' description: OK '400': - description: Bad Request - Invalid mobile app ID, session ID, or pagination + description: >- + Bad Request - Invalid mobile app ID, session ID, or pagination parameters '401': description: Unauthorized access - requires user authentication. @@ -16241,79 +17593,81 @@ paths: description: Internal server error. summary: Get action beacons for a session tags: - - Mobile App Catalog - x-ibm-ahub-byok: true + - Mobile App Session Replay /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-metadata: get: - description: Retrieves detailed metadata for session replay captured during - a mobile app session. Uses cursor-based pagination with timestamp cursors. - Returns metadata within the time window from cursor to cursor + pageSize. - The pageSize represents milliseconds (default 20000ms = 20 seconds). Includes - all metadata fields such as event type, view components, orientation changes, - etc. + description: >- + Retrieves detailed metadata for session replay captured during a mobile + app session. Uses cursor-based pagination with timestamp cursors. + Returns metadata within the time window from cursor to cursor + + pageSize. The pageSize represents milliseconds (default 20000ms = 20 + seconds). Includes all metadata fields such as event type, view + components, orientation changes, etc. operationId: getSessionReplayMetadata parameters: - - description: Mobile app identifier - example: app-456 - in: path - name: mobileAppId - required: true - schema: - type: string - minLength: 1 - - description: Session identifier - example: session-123 - in: path - name: sessionId - required: true - schema: - type: string - minLength: 1 - - description: Timestamp cursor for pagination (epoch milliseconds). Retrieves - metadata from this timestamp onwards. - example: 1234567890 - in: query - name: cursor - schema: - type: integer - format: int64 - - description: 'Time window size in milliseconds (default: 20000ms = 20 seconds)' - example: 20000 - in: query - name: pageSize - schema: - type: integer - format: int32 - default: 20000 + - description: Mobile app identifier + example: app-456 + in: path + name: mobileAppId + required: true + schema: + type: string + minLength: 1 + - description: Session identifier + example: session-123 + in: path + name: sessionId + required: true + schema: + type: string + minLength: 1 + - description: >- + Timestamp cursor for pagination (epoch milliseconds). Retrieves + metadata from this timestamp onwards. + example: 1234567890 + in: query + name: cursor + schema: + type: integer + format: int64 + - description: 'Time window size in milliseconds (default: 20000ms = 20 seconds)' + example: 20000 + in: query + name: pageSize + schema: + type: integer + format: int32 + default: 20000 responses: '200': content: application/json: example: metadata: - - id: abc-123 - sessionId: session-xyz - timestamp: 1234567890 - type: screenshot - imageFormat: png - bytesIngestedImage: 50000 - bytesIngestedMetadata: 1024 - eventType: click - viewComponentId: button-submit - viewComponentClassName: android.widget.Button - sessionReplayVersion: '2.0' - orientationChange: false - keyboardOperation: true - frustrationSignal: false - scrollDirection: down - scrollDuration: 500 + - id: abc-123 + sessionId: session-xyz + timestamp: 1234567890 + type: screenshot + imageFormat: png + bytesIngestedImage: 50000 + bytesIngestedMetadata: 1024 + eventType: click + viewComponentId: button-submit + viewComponentClassName: android.widget.Button + sessionReplayVersion: '2.0' + orientationChange: false + keyboardOperation: true + frustrationSignal: false + scrollDirection: down + scrollDuration: 500 nextCursor: 1234567895 hasMore: true schema: $ref: '#/components/schemas/GetSessionReplayMetadataResult' description: OK '400': - description: Bad Request - Invalid mobile app ID, session ID, or pagination + description: >- + Bad Request - Invalid mobile app ID, session ID, or pagination parameters '401': description: Unauthorized access - requires user authentication. @@ -16325,30 +17679,30 @@ paths: description: Internal server error. summary: Get session replay metadata tags: - - Mobile App Catalog - x-ibm-ahub-byok: true + - Mobile App Session Replay /api/mobile-app-monitoring/mobile-apps/{mobileAppId}/sessions/{sessionId}/replay-timestamps: get: - description: Retrieves the first and last image timestamps for a mobile app - session. Returns null values if the session has no images. + description: >- + Retrieves the first and last image timestamps for a mobile app session. + Returns null values if the session has no images. operationId: getSessionReplayTimestamps parameters: - - description: Mobile app identifier - example: app-456 - in: path - name: mobileAppId - required: true - schema: - type: string - minLength: 1 - - description: Session identifier - example: session-123 - in: path - name: sessionId - required: true - schema: - type: string - minLength: 1 + - description: Mobile app identifier + example: app-456 + in: path + name: mobileAppId + required: true + schema: + type: string + minLength: 1 + - description: Session identifier + example: session-123 + in: path + name: sessionId + required: true + schema: + type: string + minLength: 1 responses: '200': content: @@ -16379,99 +17733,95 @@ paths: description: Internal server error. summary: Get session replay timestamps tags: - - Mobile App Catalog - x-ibm-ahub-byok: true + - Mobile App Session Replay /api/mobile-app-monitoring/session{id}{timestamp}: get: description: API request to get a mobile app monitoring session. operationId: getSession parameters: - - description: Identifier of the session to be retrieved - example: 9CA9E31D-B0F7-40EC-8D32-FE163A6557AE - in: path - name: id - required: true - schema: - type: string - style: matrix - - description: Timestamp of the session to be retrieved - example: 1730595029980 - in: path - name: timestamp - required: true - schema: - type: integer - format: int64 - style: matrix + - description: Identifier of the session to be retrieved + example: 9CA9E31D-B0F7-40EC-8D32-FE163A6557AE + in: path + name: id + required: true + schema: + type: string + style: matrix + - description: Timestamp of the session to be retrieved + example: 1730595029980 + in: path + name: timestamp + required: true + schema: + type: integer + format: int64 + style: matrix responses: '200': content: application/json: example: - - agentVersion: 1.8.5 - mobileAppId: K3bP-bmCRkyimNai9vvq8o - mobileAppLabel: robot-warehouse - timestamp: 1707025019211 - clockSkew: 460 - ingestionTime: 1707025019670 - duration: 0 - batchSize: 1 - sessionId: 9CA9E31D-B0F7-40EC-8D32-FE163A6557AE - beaconId: 659302486df75422 - parentBeaconId: '' - backendTraceId: '' - type: sessionStart - view: Products - customEventName: '' - meta: - feature.testGroup: sigma - userIp: 149.200.0.0 - userId: Example user id - userSessionId: '' - userName: Example user name - userEmail: example@example.com - userLanguages: - - ar-JO - useFeatures: [ - ] - bundleIdentifier: com.example.shop - appBuild: aba9031kl - appVersion: 1.42.3 - platform: iOS - osName: iOS - osVersion: 16.7.1 - deviceManufacturer: Apple - deviceModel: iPhone 13 - deviceHardware: iPhone14,5 - viewportWidth: 320 - viewportHeight: 680 - carrier: Orange - connectionType: wifi - effectiveConnectionType: 3g - latitude: 31.9555 - longitude: 35.9435 - accuracyRadius: 20 - city: Amman - subdivision: Amman Governorate - subdivisionCode: AM - country: Jordan - countryCode: JO - continent: Asia - continentCode: AS - httpCallUrl: '' - httpCallOrigin: '' - httpCallPath: '' - httpCallMethod: '' - httpCallHeaders: { - } - errorCount: 0 - errorMessage: '' - errorId: '' - errorType: '' - stackTrace: '' - stackTraceLine: [ - ] - parsedStackTrace: '' + - agentVersion: 1.8.5 + mobileAppId: K3bP-bmCRkyimNai9vvq8o + mobileAppLabel: robot-warehouse + timestamp: 1707025019211 + clockSkew: 460 + ingestionTime: 1707025019670 + duration: 0 + batchSize: 1 + sessionId: 9CA9E31D-B0F7-40EC-8D32-FE163A6557AE + beaconId: 659302486df75422 + parentBeaconId: '' + backendTraceId: '' + type: sessionStart + view: Products + customEventName: '' + meta: + feature.testGroup: sigma + userIp: 149.200.0.0 + userId: Example user id + userSessionId: '' + userName: Example user name + userEmail: example@example.com + userLanguages: + - ar-JO + useFeatures: [] + bundleIdentifier: com.example.shop + appBuild: aba9031kl + appVersion: 1.42.3 + platform: iOS + osName: iOS + osVersion: 16.7.1 + deviceManufacturer: Apple + deviceModel: iPhone 13 + deviceHardware: iPhone14,5 + viewportWidth: 320 + viewportHeight: 680 + carrier: Orange + connectionType: wifi + effectiveConnectionType: 3g + latitude: 31.9555 + longitude: 35.9435 + accuracyRadius: 20 + city: Amman + subdivision: Amman Governorate + subdivisionCode: AM + country: Jordan + countryCode: JO + continent: Asia + continentCode: AS + httpCallUrl: '' + httpCallOrigin: '' + httpCallPath: '' + httpCallMethod: '' + httpCallHeaders: {} + errorCount: 0 + errorMessage: '' + errorId: '' + errorType: '' + stackTrace: '' + stackTraceLine: [] + parsedStackTrace: '' schema: type: array items: @@ -16486,12 +17836,11 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get mobile app session tags: - - Mobile App Metrics - x-ibm-ahub-byok: true + - Mobile App Metrics /api/mobile-app-monitoring/v2/metrics: post: description: API request to get mobile app monitoring beacon metrics. @@ -16501,23 +17850,23 @@ paths: application/json: example: metrics: - - metric: beaconCount - aggregation: SUM - granularity: 60 + - metric: beaconCount + aggregation: SUM + granularity: 60 tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: mobileBeacon.mobileApp.name - operator: EQUALS - entity: NOT_APPLICABLE - value: robot-warehouse - - type: TAG_FILTER - name: mobileBeacon.view.name - operator: EQUALS - entity: NOT_APPLICABLE - value: Products + - type: TAG_FILTER + name: mobileBeacon.mobileApp.name + operator: EQUALS + entity: NOT_APPLICABLE + value: robot-warehouse + - type: TAG_FILTER + name: mobileBeacon.view.name + operator: EQUALS + entity: NOT_APPLICABLE + value: Products timeFrame: to: null windowSize: 3600000 @@ -16532,10 +17881,10 @@ paths: example: metrics: beaconCount.sum.60: - - - 1707026940000 - - 75.0 - - - 1707027000000 - - 75.0 + - - 1707026940000 + - 75 + - - 1707027000000 + - 75 adjustedTimeframe: windowSize: 3540000 to: 1707030480000 @@ -16547,56 +17896,76 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get beacon metrics tags: - - Mobile App Metrics - x-ibm-ahub-byok: true + - Mobile App Metrics + /api/permissions: + get: + operationId: getUserPermissions + responses: + default: + content: + application/json: {} + description: default response + /api/permissions/{userId}: + get: + operationId: getUserPermissionsById + parameters: + - in: path + name: userId + required: true + schema: + type: string + responses: + default: + content: + application/json: {} + description: default response /api/releases: get: operationId: getAllReleases parameters: - - in: query - name: from - schema: - type: integer - format: int64 - description: The timestamp from where one wants to fetch the release markers. - - in: query - name: to - schema: - type: integer - format: int64 - description: The timestamp till where one wants to fetch the release markers. - - in: query - name: maxResults - schema: - type: integer - format: int32 - description: The maximum number of release markers to be fetched + - in: query + name: from + schema: + type: integer + format: int64 + description: The timestamp from where one wants to fetch the release markers. + - in: query + name: to + schema: + type: integer + format: int64 + description: The timestamp till where one wants to fetch the release markers. + - in: query + name: maxResults + schema: + type: integer + format: int32 + description: The maximum number of release markers to be fetched responses: '200': content: application/json: example: - - id: Tiu16hLCTniHDtHb_uDV1w - name: demo-app/main-** - start: 1709091782000 - lastUpdated: 1709091782533 + - id: Tiu16hLCTniHDtHb_uDV1w + name: demo-app/main-** + start: 1709091782000 + lastUpdated: 1709091782533 schema: type: array items: $ref: '#/components/schemas/ReleaseWithMetadata' description: OK security: - - ApiKeyAuth: - - CanConfigureReleases + - ApiKeyAuth: + - CanConfigureReleases summary: Get all releases tags: - - Releases + - Releases x-description: getAllReleases - x-ibm-ahub-byok: true post: operationId: postRelease requestBody: @@ -16613,48 +17982,45 @@ paths: $ref: '#/components/schemas/ReleaseWithMetadata' description: OK security: - - ApiKeyAuth: - - CanConfigureReleases + - ApiKeyAuth: + - CanConfigureReleases summary: Create release tags: - - Releases + - Releases x-description: postRelease - x-ibm-ahub-byok: true /api/releases/{releaseId}: delete: operationId: deleteRelease parameters: - - in: path - name: releaseId - required: true - schema: - type: string - description: The unique release id which one wants to delete. - example: XK1e1TE3T9SHKugndn_soQ + - in: path + name: releaseId + required: true + schema: + type: string + description: The unique release id which one wants to delete. + example: XK1e1TE3T9SHKugndn_soQ responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureReleases + - ApiKeyAuth: + - CanConfigureReleases summary: Delete release tags: - - Releases + - Releases x-description: deleteRelease - x-ibm-ahub-byok: true get: operationId: getRelease parameters: - - description: The unique release id which one wants to retrieve. - example: XK1e1TF3T9SHKugndn_soQ - in: path - name: releaseId - required: true - schema: - type: string + - description: The unique release id which one wants to retrieve. + example: XK1e1TF3T9SHKugndn_soQ + in: path + name: releaseId + required: true + schema: + type: string responses: '200': content: @@ -16668,23 +18034,22 @@ paths: $ref: '#/components/schemas/ReleaseWithMetadata' description: OK security: - - ApiKeyAuth: - - CanConfigureReleases + - ApiKeyAuth: + - CanConfigureReleases summary: Get release tags: - - Releases + - Releases x-description: getRelease - x-ibm-ahub-byok: true put: operationId: putRelease parameters: - - in: path - name: releaseId - required: true - schema: - type: string - description: The unique release id which one wants to update. - example: XK1e1TQ3T9SHKugndn_soQ + - in: path + name: releaseId + required: true + schema: + type: string + description: The unique release id which one wants to update. + example: XK1e1TQ3T9SHKugndn_soQ requestBody: content: application/json: @@ -16699,38 +18064,37 @@ paths: $ref: '#/components/schemas/ReleaseWithMetadata' description: OK security: - - ApiKeyAuth: - - CanConfigureReleases + - ApiKeyAuth: + - CanConfigureReleases summary: Update release tags: - - Releases + - Releases x-description: putRelease - x-ibm-ahub-byok: true /api/settings/accesslog: get: description: Retrieve all access logs using defined query. operationId: getAccessLogs parameters: - - description: The offset within the result set - example: 0 - in: query - name: offset - schema: - type: integer - format: int32 - - description: The query to filter the results - example: username@example - in: query - name: query - schema: - type: string - - description: The size of returned page - example: 10 - in: query - name: pageSize - schema: - type: integer - format: int32 + - description: The offset within the result set + example: 0 + in: query + name: offset + schema: + type: integer + format: int32 + - description: The query to filter the results + example: username@example + in: query + name: query + schema: + type: string + - description: The size of returned page + example: 10 + in: query + name: pageSize + schema: + type: integer + format: int32 responses: '200': content: @@ -16738,22 +18102,21 @@ paths: example: total: 1977 entries: - - tenantId: tenantId - tenantUnitId: unitId - action: LOGIN - email: username@example.com - fullName: Any User - timestamp: 1723035109091 + - tenantId: tenantId + tenantUnitId: unitId + action: LOGIN + email: username@example.com + fullName: Any User + timestamp: 1723035109091 schema: $ref: '#/components/schemas/AuditLogUiResponse' description: OK security: - - ApiKeyAuth: - - CanViewAuditLog + - ApiKeyAuth: + - CanViewAuditLog summary: Access log tags: - - Audit Log - x-ibm-ahub-byok: true + - Audit Log /api/settings/apdex: get: description: API to Get All Apdex Configurations. @@ -16763,63 +18126,59 @@ paths: content: application/json: example: - - id: _PvpxqTfSyi27O_LCxMd0A - createdAt: 1653917798682 - apdexName: '{string}' - apdexEntity: - apdexType: website - entityId: '{object}' - threshold: 70 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest - - id: K6thQVyzQqWc38yspc0QWw - createdAt: 1693828514423 - apdexName: '{string}' - apdexEntity: - apdexType: application - entityId: '{object}' - threshold: 12 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - boundaryScope: ALL - includeInternal: false - includeSynthetic: false + - id: _PvpxqTfSyi27O_LCxMd0A + createdAt: 1653917798682 + apdexName: '{string}' + apdexEntity: + apdexType: website + entityId: '{object}' + threshold: 70 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest + - id: K6thQVyzQqWc38yspc0QWw + createdAt: 1693828514423 + apdexName: '{string}' + apdexEntity: + apdexType: application + entityId: '{object}' + threshold: 12 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + boundaryScope: ALL + includeInternal: false + includeSynthetic: false schema: type: array items: $ref: '#/components/schemas/ApdexConfiguration' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All Apdex Configurations tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings post: operationId: createApdexConfiguration requestBody: content: application/json: example: - - apdexName: Apdex Configuration One - apdexEntity: - apdexType: website - entityId: XIZGGVT1TX2O-0OFeT2Yig - threshold: 400 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest + - apdexName: Apdex Configuration One + apdexEntity: + apdexType: website + entityId: XIZGGVT1TX2O-0OFeT2Yig + threshold: 400 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest schema: $ref: '#/components/schemas/ApdexConfigurationInput' required: true @@ -16831,173 +18190,200 @@ paths: $ref: '#/components/schemas/ApdexConfiguration' description: OK security: - - ApiKeyAuth: - - canConfigureApdex + - ApiKeyAuth: + - canConfigureApdex summary: Create Apdex Configuration tags: - - Apdex Settings + - Apdex Settings x-description: createApdexConfiguration - x-ibm-ahub-byok: true /api/settings/apdex/v2: get: description: API to Get All Apdex Configurations. operationId: getAllApdexConfigurationsV2 parameters: - - in: query - name: pageSize - schema: - type: integer - format: int32 - description: Size of the Page - example: 1 - - in: query - name: page - schema: - type: integer - format: int32 - description: Page Number - example: 1 - - in: query - name: orderBy - schema: - type: string - description: Order By Value - enum: - - name - - entityType - - entityName - - apdexScore - - 'null' - example: name - - in: query - name: orderDirection - schema: - type: string - description: Order Direction of the Result, it could be ascending or descending - enum: - - ASC - - DESC - example: ASC - - in: query - name: query - schema: - type: string - description: Keyword or Query which needs to be searched - example: test - - in: query - name: grouped - schema: - type: boolean - description: Boolean operator which specifies if the results are grouped - example: false - - in: query - name: refresh - schema: - type: boolean - description: Boolean operator which specifies if the cache needs to be refreshed - example: false - - in: query - name: from - schema: - type: integer - format: int64 - description: Start timestamp in milliseconds for Apdex score calculation - example: 1705411200000 - - in: query - name: to - schema: - type: integer - format: int64 - description: End timestamp in milliseconds for Apdex score calculation - example: 1705414800000 - - in: query - name: entityType - schema: - type: string - description: Type of the Apdex Configuration, it could be APPLICATION or - WEBSITE - enum: - - APPLICATION - - WEBSITE - example: APPLICATION - - in: query - name: entityId - schema: - type: string - description: Application or Website ID - example: XIZGGVT1TX2O-0OFeT2Yig - - in: query - name: apdexIds - schema: - type: array - description: List of APDEX IDs for which details need to be fetched - example: APDWMaA2yKuSS6z50LR0-cGZA - items: + - in: query + name: pageSize + schema: + type: integer + format: int32 + description: Size of the Page + example: 1 + - in: query + name: page + schema: + type: integer + format: int32 + description: Page Number + example: 1 + - in: query + name: orderBy + schema: type: string + description: Order By Value + enum: + - name + - entityType + - entityName + - apdexScore + - 'null' + example: name + - in: query + name: orderDirection + schema: + type: string + description: Order Direction of the Result, it could be ascending or descending + enum: + - ASC + - DESC + example: ASC + - in: query + name: query + schema: + type: string + description: Keyword or Query which needs to be searched + example: test + - in: query + name: grouped + schema: + type: boolean + description: Boolean operator which specifies if the results are grouped + example: false + - in: query + name: refresh + schema: + type: boolean + description: >- + Boolean operator which specifies if the cache needs to be + refreshed + example: false + - in: query + name: from + schema: + type: integer + format: int64 + description: Start timestamp in milliseconds for Apdex score calculation + example: 1705411200000 + - in: query + name: to + schema: + type: integer + format: int64 + description: End timestamp in milliseconds for Apdex score calculation + example: 1705414800000 + - in: query + name: entityType + schema: + type: array + description: >- + Type of the Apdex Configuration, it could be APPLICATION or + WEBSITE. + example: APPLICATION + items: + type: string + description: >- + Type of the Apdex Configuration, it could be APPLICATION or + WEBSITE. + enum: + - APPLICATION + - WEBSITE + example: APPLICATION + uniqueItems: true + - in: query + name: entityId + schema: + type: string + description: Application or Website ID + example: XIZGGVT1TX2O-0OFeT2Yig + - in: query + name: apdexIds + schema: + type: array description: List of APDEX IDs for which details need to be fetched example: APDWMaA2yKuSS6z50LR0-cGZA + items: + type: string + description: List of APDEX IDs for which details need to be fetched + example: APDWMaA2yKuSS6z50LR0-cGZA + - in: query + name: tag + schema: + type: array + description: List of tags which needs to be searched + example: Testing + items: + type: string + description: List of tags which needs to be searched + example: Testing + uniqueItems: true + - in: query + name: rbacTags + schema: + type: array + description: Filter by RBAC tags (team IDs) + example: team-123 + items: + type: string + description: Filter by RBAC tags (team IDs) + example: team-123 + uniqueItems: true responses: '200': content: application/json: example: - - id: _PvpxqTfSyi27O_LCxMd0A - createdAt: 1653917798682 - apdexName: '{string}' - apdexEntity: - apdexType: website - entityId: '{object}' - threshold: 70 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest - - id: K6thQVyzQqWc38yspc0QWw - createdAt: 1693828514423 - apdexName: '{string}' - apdexEntity: - apdexType: application - entityId: '{object}' - threshold: 12 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - boundaryScope: ALL - includeInternal: false - includeSynthetic: false + - id: _PvpxqTfSyi27O_LCxMd0A + createdAt: 1653917798682 + apdexName: '{string}' + apdexEntity: + apdexType: website + entityId: '{object}' + threshold: 70 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest + - id: K6thQVyzQqWc38yspc0QWw + createdAt: 1693828514423 + apdexName: '{string}' + apdexEntity: + apdexType: application + entityId: '{object}' + threshold: 12 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + boundaryScope: ALL + includeInternal: false + includeSynthetic: false schema: type: array items: - $ref: '#/components/schemas/ApdexConfiguration' + $ref: '#/components/schemas/ApdexConfigWithRBACTag' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All Apdex Configurations tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings post: operationId: createApdexConfigurationV2 requestBody: content: application/json: example: - - apdexName: Apdex Configuration One - apdexEntity: - apdexType: website - entityId: XIZGGVT1TX2O-0OFeT2Yig - threshold: 400 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest + - apdexName: Apdex Configuration One + apdexEntity: + apdexType: website + entityId: XIZGGVT1TX2O-0OFeT2Yig + threshold: 400 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest schema: $ref: '#/components/schemas/ApdexConfigurationInput' required: true @@ -17006,16 +18392,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ApdexConfiguration' + $ref: '#/components/schemas/ApdexConfigWithRBACTag' description: OK security: - - ApiKeyAuth: - - canConfigureApdex + - ApiKeyAuth: + - canConfigureApdex summary: Create Apdex Configuration tags: - - Apdex Settings + - Apdex Settings x-description: createApdexConfiguration - x-ibm-ahub-byok: true /api/settings/apdex/v2/apdex-levels: get: description: Returns the Apdex satisfaction level definitions with their thresholds @@ -17030,109 +18415,111 @@ paths: $ref: '#/components/schemas/ApdexLevel' description: Fetched list of Apdex Levels Successfully security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All Apdex Levels tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings /api/settings/apdex/v2/tags: get: operationId: getAllApdexConfigTagsV2 parameters: - - in: query - name: query - schema: - type: string - description: Keyword or Query which needs to be searched - example: test Apdex - - in: query - name: tag - schema: - type: array - description: List of tags which needs to be searched - example: Testing - items: + - in: query + name: query + schema: type: string + description: Keyword or Query which needs to be searched + example: test Apdex + - in: query + name: tag + schema: + type: array description: List of tags which needs to be searched example: Testing - uniqueItems: true - - in: query - name: entityType - schema: - type: string - description: Apdex Entity Type which needs to be filtered - enum: - - APPLICATION - - WEBSITE - example: APPLICATION + items: + type: string + description: List of tags which needs to be searched + example: Testing + uniqueItems: true + - in: query + name: entityType + schema: + type: array + description: Apdex Entity Type which needs to be filtered. + example: APPLICATION + items: + type: string + description: Apdex Entity Type which needs to be filtered. + enum: + - APPLICATION + - WEBSITE + example: APPLICATION + uniqueItems: true responses: '200': content: application/json: example: - - andre - - test - - testing - - drinks - - got no snacks - - timeBased - - Stan - - no matches - - availability - - Lab - - demo - - thiemo - - TimeWindow Test - - robot-shop - - eventBased - - got snacks - - migration - - robert-creates-a-new-sli + - andre + - test + - testing + - drinks + - got no snacks + - timeBased + - Stan + - no matches + - availability + - Lab + - demo + - thiemo + - TimeWindow Test + - robot-shop + - eventBased + - got snacks + - migration + - robert-creates-a-new-sli schema: type: array items: type: string description: Fetched list of Apdex Configuration tags Successfully security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All Apdex Config tags tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings /api/settings/apdex/v2/{id}: delete: operationId: deleteApdexConfigurationV2 parameters: - - description: Apdex Configuration ID - example: NCAoNKqySWSK1U5GkmyZgQ - in: path - name: id - required: true - schema: - type: string + - description: Apdex Configuration ID + example: NCAoNKqySWSK1U5GkmyZgQ + in: path + name: id + required: true + schema: + type: string responses: '204': description: Apdex Configuration Deleted Successfully security: - - ApiKeyAuth: - - canConfigureApdex + - ApiKeyAuth: + - canConfigureApdex summary: Delete Apdex Configuration tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings get: description: API to Get Apdex Configuration for specified ID. operationId: getApdexConfigurationV2 parameters: - - description: Apdex Configuration ID - example: NCAoNKqySWSK1U5GkmyZgQ - in: path - name: id - required: true - schema: - type: string + - description: Apdex Configuration ID + example: NCAoNKqySWSK1U5GkmyZgQ + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -17148,11 +18535,10 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] beaconType: httpRequest schema: - $ref: '#/components/schemas/ApdexConfiguration' + $ref: '#/components/schemas/ApdexConfigWithRBACTag' description: OK '404': content: @@ -17162,37 +18548,35 @@ paths: type: string description: Apdex Configuration not found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Apdex Configuration tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings put: operationId: updateApdexConfigV2 parameters: - - in: path - name: id - required: true - schema: - type: string - description: Apdex Configuration ID - example: APD0jhg2CWmR_iPYtg-iTOzPw + - in: path + name: id + required: true + schema: + type: string + description: Apdex Configuration ID + example: APD0jhg2CWmR_iPYtg-iTOzPw requestBody: content: application/json: example: - - apdexName: Apdex Configuration One - apdexEntity: - apdexType: website - entityId: XIZGGVT1TX2O-0OFeT2Yig - threshold: 400 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest + - apdexName: Apdex Configuration One + apdexEntity: + apdexType: website + entityId: XIZGGVT1TX2O-0OFeT2Yig + threshold: 400 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest schema: $ref: '#/components/schemas/ApdexConfiguration' required: true @@ -17211,83 +18595,80 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] beaconType: httpRequest schema: - $ref: '#/components/schemas/SLOConfigWithRBACTag' - description: Updated SLO Configuration Successfully + $ref: '#/components/schemas/ApdexConfigWithRBACTag' + description: Updated Apdex Configuration Successfully '400': content: application/json: example: errors: - - Apdex Configuration not found + - Apdex Configuration not found schema: type: string description: Bad Request security: - - ApiKeyAuth: - - canConfigureApdex + - ApiKeyAuth: + - canConfigureApdex summary: Update an existing Apdex Config tags: - - Apdex Settings + - Apdex Settings x-description: updateApdexConfiguration - x-ibm-ahub-byok: true /api/settings/apdex/{entityType}/{entityId}: get: - description: API to Get All Apdex Configurations for specified entity type and - entity id. + description: >- + API to Get All Apdex Configurations for specified entity type and entity + id. operationId: getApdexConfigurationsForEntityTypeAndId parameters: - - description: Type of the Apdex Configuration, it could be APPLICATION or WEBSITE - example: APPLICATION - in: path - name: entityType - required: true - schema: - type: string - enum: - - APPLICATION - - WEBSITE - - description: Application or Website ID - example: XIZGGVT1TX2O-0OFeT2Yig - in: path - name: entityId - required: true - schema: - type: string + - description: Type of the Apdex Configuration, it could be APPLICATION or WEBSITE + example: APPLICATION + in: path + name: entityType + required: true + schema: + type: string + enum: + - APPLICATION + - WEBSITE + - description: Application or Website ID + example: XIZGGVT1TX2O-0OFeT2Yig + in: path + name: entityId + required: true + schema: + type: string responses: - '200': - content: - application/json: - example: - - id: u2MBXtasQoy3reni5-QZgg - createdAt: 1657743333352 - apdexName: Apdex Configuration One - apdexEntity: - apdexType: website - entityId: XIZGGVT1TX2O-0OFeT2Yig - threshold: 400 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest - - id: ShIqRJgpTT69HZHbfQKRGg - createdAt: 1693482558276 - apdexName: Apdex Configuration Two - apdexEntity: - apdexType: website - entityId: XIZGGVT1TX2O-0OFeT2Yig - threshold: 90 - tagFilterExpression: - type: EXPRESSION - logicalOperator: AND - elements: [ - ] - beaconType: httpRequest + '200': + content: + application/json: + example: + - id: u2MBXtasQoy3reni5-QZgg + createdAt: 1657743333352 + apdexName: Apdex Configuration One + apdexEntity: + apdexType: website + entityId: XIZGGVT1TX2O-0OFeT2Yig + threshold: 400 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest + - id: ShIqRJgpTT69HZHbfQKRGg + createdAt: 1693482558276 + apdexName: Apdex Configuration Two + apdexEntity: + apdexType: website + entityId: XIZGGVT1TX2O-0OFeT2Yig + threshold: 90 + tagFilterExpression: + type: EXPRESSION + logicalOperator: AND + elements: [] + beaconType: httpRequest schema: type: array items: @@ -17296,50 +18677,49 @@ paths: '400': content: application/json: - example: '{"code":400,"message":"path param entityType must be one of - [APPLICATION, WEBSITE]"}' + example: >- + {"code":400,"message":"path param entityType must be one of + [APPLICATION, WEBSITE]"} schema: type: string description: Bad Request security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all Apdex configurations for entity type and entity id tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings /api/settings/apdex/{id}: delete: operationId: deleteApdexConfiguration parameters: - - description: Apdex Configuration ID - example: NCAoNKqySWSK1U5GkmyZgQ - in: path - name: id - required: true - schema: - type: string + - description: Apdex Configuration ID + example: NCAoNKqySWSK1U5GkmyZgQ + in: path + name: id + required: true + schema: + type: string responses: '204': description: Apdex Configuration Deleted Successfully security: - - ApiKeyAuth: - - canConfigureApdex + - ApiKeyAuth: + - canConfigureApdex summary: Delete Apdex Configuration tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings get: description: API to Get Apdex Configuration for specified ID. operationId: getApdexConfiguration parameters: - - description: Apdex Configuration ID - example: NCAoNKqySWSK1U5GkmyZgQ - in: path - name: id - required: true - schema: - type: string + - description: Apdex Configuration ID + example: NCAoNKqySWSK1U5GkmyZgQ + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -17355,8 +18735,7 @@ paths: tagFilterExpression: type: EXPRESSION logicalOperator: AND - elements: [ - ] + elements: [] beaconType: httpRequest schema: $ref: '#/components/schemas/ApdexConfiguration' @@ -17369,17 +18748,18 @@ paths: type: string description: Apdex Configuration not found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Apdex Configuration tags: - - Apdex Settings - x-ibm-ahub-byok: true + - Apdex Settings /api/settings/api-tokens: get: - description: |- + description: >- Get the list of API Tokens for this Tenant-Unit - For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. + + For more information on APIToken please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. operationId: getApiTokens responses: '200': @@ -17531,6 +18911,7 @@ paths: "canDeleteLogs": false, "canCreateHeapDump": false, "canCreateThreadDump": false, + "canCollectNetTraceLogs": false, "canConfigureEventsAndAlerts": true, "canConfigureMaintenanceWindows": true, "canConfigureApplicationSmartAlerts": true, @@ -17553,16 +18934,18 @@ paths: '404': description: No API Tokens found security: - - ApiKeyAuth: - - CanConfigureApiTokens + - ApiKeyAuth: + - CanConfigureApiTokens summary: Get all API Tokens tags: - - API Token - x-ibm-ahub-byok: true + - API Token post: - description: |- - Create an API Token on the Tenant-Unit. Each API Token entry also contains a set of permissions - For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. + description: >- + Create an API Token on the Tenant-Unit. Each API Token entry also + contains a set of permissions + + For more information on APIToken please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. operationId: postApiToken requestBody: content: @@ -17668,45 +19051,47 @@ paths: $ref: '#/components/schemas/ApiToken' description: OK security: - - ApiKeyAuth: - - CanConfigureApiTokens + - ApiKeyAuth: + - CanConfigureApiTokens summary: Create an API token tags: - - API Token - x-ibm-ahub-byok: true + - API Token /api/settings/api-tokens/{internalId}: delete: - description: |- + description: >- Delete the Api Token - For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. + + For more information on APIToken please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. operationId: deleteApiToken parameters: - - in: path - name: internalId - required: true - schema: - type: string + - in: path + name: internalId + required: true + schema: + type: string responses: '204': description: Successful - no content to return. security: - - ApiKeyAuth: - - CanConfigureApiTokens + - ApiKeyAuth: + - CanConfigureApiTokens summary: Delete API token tags: - - API Token - x-ibm-ahub-byok: true + - API Token get: - description: |- + description: >- Returns API Token details, including the set of permissions - For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. + + For more information on APIToken please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. operationId: getApiToken parameters: - - in: path - name: internalId - required: true - schema: - type: string + - in: path + name: internalId + required: true + schema: + type: string responses: '200': content: @@ -17778,6 +19163,7 @@ paths: "canDeleteLogs": true, "canCreateHeapDump": false, "canCreateThreadDump": false, + "canCollectNetTraceLogs": false, "canConfigureEventsAndAlerts": true, "canConfigureMaintenanceWindows": true, "canConfigureApplicationSmartAlerts": true, @@ -17797,23 +19183,24 @@ paths: '404': description: No ApiToken found with internalId security: - - ApiKeyAuth: - - CanConfigureApiTokens + - ApiKeyAuth: + - CanConfigureApiTokens summary: Get API token tags: - - API Token - x-ibm-ahub-byok: true + - API Token put: - description: |- + description: >- Update API Token- Change Token name and associated permissions - For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. + + For more information on APIToken please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken. operationId: putApiToken parameters: - - in: path - name: internalId - required: true - schema: - type: string + - in: path + name: internalId + required: true + schema: + type: string requestBody: content: application/json: @@ -17918,37 +19305,36 @@ paths: $ref: '#/components/schemas/ApiToken' description: OK security: - - ApiKeyAuth: - - CanConfigureApiTokens + - ApiKeyAuth: + - CanConfigureApiTokens summary: Create or update an API token tags: - - API Token - x-ibm-ahub-byok: true + - API Token /api/settings/auditlog: get: description: Retrieve all audit logs using defined query. operationId: getAuditLogs parameters: - - description: The offset within the result set - example: 0 - in: query - name: offset - schema: - type: integer - format: int32 - - description: The query to filter the results - example: username@example.com - in: query - name: query - schema: - type: string - - description: The size of returned page - example: 10 - in: query - name: pageSize - schema: - type: integer - format: int32 + - description: The offset within the result set + example: 0 + in: query + name: offset + schema: + type: integer + format: int32 + - description: The query to filter the results + example: username@example.com + in: query + name: query + schema: + type: string + - description: The size of returned page + example: 10 + in: query + name: pageSize + schema: + type: integer + format: int32 responses: '200': content: @@ -17956,28 +19342,67 @@ paths: example: total: 1977 entries: - - id: WawO9-p0SJ2ifST460tXYZ - action: GET /api/settings - message: Aborting request due to Insufficient permissions/access - rights for resource method - actor: - type: USER - id: userId - name: Any User - email: username@example.com - timestamp: 1723035109091 - meta: - origin_ip: 10.69.123.42 + - id: WawO9-p0SJ2ifST460tXYZ + action: GET /api/settings + message: >- + Aborting request due to Insufficient permissions/access + rights for resource method + actor: + type: USER + id: userId + name: Any User + email: username@example.com + timestamp: 1723035109091 + meta: + origin_ip: 10.69.123.42 schema: $ref: '#/components/schemas/AuditLogUiResponse' description: OK security: - - ApiKeyAuth: - - CanViewAuditLog + - ApiKeyAuth: + - CanViewAuditLog summary: Audit log tags: - - Audit Log - x-ibm-ahub-byok: true + - Audit Log + /api/settings/authentication/2fa/credentials: + get: + operationId: getTwoFactorCredentials + responses: + default: + content: + application/json: {} + description: default response + /api/settings/authentication/2fa/toggle: + post: + operationId: toggle2Fa + responses: + default: + content: + application/json: {} + description: default response + /api/settings/authentication/2fa/verify/{token}: + post: + operationId: toggle2Fa_1 + parameters: + - in: path + name: token + required: true + schema: + type: integer + format: int64 + responses: + default: + content: + application/json: {} + description: default response + /api/settings/authentication/changePassword: + post: + operationId: postChangePassword + responses: + default: + content: + application/json: {} + description: default response /api/settings/authentication/googleSSO: delete: description: Delete the corresponding tenants Google SSO configuration. @@ -17986,16 +19411,16 @@ paths: '204': description: Successful - no content to return. security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Delete Google SSO configuration tags: - - Authentication - x-ibm-ahub-byok: true + - Authentication /api/settings/authentication/idp/status: patch: - description: Enable or disable the identity provider (IdP) configuration for - the tenant. This allows temporary deactivation of IdP authentication while + description: >- + Enable or disable the identity provider (IdP) configuration for the + tenant. This allows temporary deactivation of IdP authentication while preserving the configuration. operationId: setIdpEnabledStatus requestBody: @@ -18018,12 +19443,11 @@ paths: '404': description: No IdP configuration found for tenant security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Enable or disable IdP configuration tags: - - Authentication - x-ibm-ahub-byok: true + - Authentication /api/settings/authentication/ldap: delete: description: Delete the corresponding tenants LDAP configuration. @@ -18032,12 +19456,11 @@ paths: '204': description: Successful - no content to return. security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Delete LDAP configuration tags: - - Authentication - x-ibm-ahub-byok: true + - Authentication /api/settings/authentication/oidc: delete: description: Delete the corresponding tenants OIDC configuration. @@ -18046,12 +19469,11 @@ paths: '204': description: Successful - no content to return. security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Delete OIDC configuration tags: - - Authentication - x-ibm-ahub-byok: true + - Authentication /api/settings/authentication/saml: delete: description: Delete the corresponding tenants SAML configuration. @@ -18060,164 +19482,166 @@ paths: '204': description: Successful - no content to return. security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Delete SAML configuration tags: - - Authentication - x-ibm-ahub-byok: true + - Authentication /api/settings/correction: get: operationId: getAllSloCorrectionWindowConfigs parameters: - - in: query - name: pageSize - schema: - type: integer - format: int32 - description: Size of the Page - example: 1 - - in: query - name: page - schema: - type: integer - format: int32 - description: Page Number - example: 1 - - in: query - name: orderBy - schema: - type: string - description: Order By Value - enum: - - name - - start - - nextStart - - duration - - 'null' - example: name - - in: query - name: orderDirection - schema: - type: string - description: Order Direction of the Result, it could be ascending or descending - enum: - - ASC - - DESC - example: ASC - - in: query - name: query - schema: - type: string - description: Keyword or Query which needs to be searched - example: test Correction - - in: query - name: tag - schema: - type: array - description: List of tags which needs to be searched - example: Testing - items: + - in: query + name: pageSize + schema: + type: integer + format: int32 + description: Size of the Page + example: 1 + - in: query + name: page + schema: + type: integer + format: int32 + description: Page Number + example: 1 + - in: query + name: orderBy + schema: type: string + description: Order By Value + enum: + - name + - start + - nextStart + - duration + - 'null' + example: name + - in: query + name: orderDirection + schema: + type: string + description: Order Direction of the Result, it could be ascending or descending + enum: + - ASC + - DESC + example: ASC + - in: query + name: query + schema: + type: string + description: Keyword or Query which needs to be searched + example: test Correction + - in: query + name: tag + schema: + type: array description: List of tags which needs to be searched example: Testing - uniqueItems: true - - in: query - name: id - schema: - type: array - description: List of Correction Configuration IDs for which details need - to be fetched - example: SSPTkTWoT1W0OpE_iQbfaA - items: - type: string - description: List of Correction Configuration IDs for which details need - to be fetched + items: + type: string + description: List of tags which needs to be searched + example: Testing + uniqueItems: true + - in: query + name: id + schema: + type: array + description: >- + List of Correction Configuration IDs for which details need to be + fetched example: SSPTkTWoT1W0OpE_iQbfaA - - in: query - name: sloId - schema: - type: array - description: List of SLO IDs for which details need to be fetched - example: SLOdCTspkHlS_OzNOATQWgsuw - items: - type: string + items: + type: string + description: >- + List of Correction Configuration IDs for which details need to + be fetched + example: SSPTkTWoT1W0OpE_iQbfaA + - in: query + name: sloId + schema: + type: array description: List of SLO IDs for which details need to be fetched example: SLOdCTspkHlS_OzNOATQWgsuw - - in: query - name: refresh - schema: - type: boolean - description: Boolean operator which specifies if the cache needs to be refreshed - example: false + items: + type: string + description: List of SLO IDs for which details need to be fetched + example: SLOdCTspkHlS_OzNOATQWgsuw + - in: query + name: refresh + schema: + type: boolean + description: >- + Boolean operator which specifies if the cache needs to be + refreshed + example: false responses: '200': content: application/json: example: items: - - id: N9RdTL-WQkSTa3DYZidxzw - name: Correction test 2 - description: Correction test 2 - active: false - createdDate: 1749638253403 - lastUpdated: 1749595053386 - scheduling: - startTime: 1749664800000 - duration: 2 - durationUnit: hour - recurrentRule: FREQ=DAILY;INTERVAL=1 - recurrent: true - sloIds: - - SLOBL-EmhZZQRy-19JVEivEdg - tags: [ - ] - - id: p9kWax0uS7K2Who1WegsSg - name: New test for DST corrections - Test-1 - description: This is to minimize impacts from DST - active: true - createdDate: 1749514781416 - lastUpdated: 1749514780649 - scheduling: - startTime: 1748775600000 - duration: 10 - durationUnit: hour - recurrentRule: FREQ=DAILY;INTERVAL=1 - recurrent: true - sloIds: - - SLOffwtrVkfRmCjOZbdv3Ls9g - tags: - - seasonal - - once - - id: b1T4ShnZS-qaORzBTAFRTA - name: test rrule - one time - description: test - active: true - createdDate: 1750161592895 - lastUpdated: 1750161592139 - scheduling: - startTime: 1750287600000 - duration: 24 - durationUnit: hour - recurrentRule: '' - recurrent: false - sloIds: - - SLOffwtrVkfRmCjOZbdv3Ls9g - tags: [ - ] + - id: N9RdTL-WQkSTa3DYZidxzw + name: Correction test 2 + description: Correction test 2 + active: false + createdDate: 1749638253403 + lastUpdated: 1749595053386 + scheduling: + startTime: 1749664800000 + duration: 2 + durationUnit: hour + recurrentRule: FREQ=DAILY;INTERVAL=1 + recurrent: true + sloIds: + - SLOBL-EmhZZQRy-19JVEivEdg + tags: [] + - id: p9kWax0uS7K2Who1WegsSg + name: New test for DST corrections - Test-1 + description: This is to minimize impacts from DST + active: true + createdDate: 1749514781416 + lastUpdated: 1749514780649 + scheduling: + startTime: 1748775600000 + duration: 10 + durationUnit: hour + recurrentRule: FREQ=DAILY;INTERVAL=1 + recurrent: true + sloIds: + - SLOffwtrVkfRmCjOZbdv3Ls9g + tags: + - seasonal + - once + - id: b1T4ShnZS-qaORzBTAFRTA + name: test rrule - one time + description: test + active: true + createdDate: 1750161592895 + lastUpdated: 1750161592139 + scheduling: + startTime: 1750287600000 + duration: 24 + durationUnit: hour + recurrentRule: '' + recurrent: false + sloIds: + - SLOffwtrVkfRmCjOZbdv3Ls9g + tags: [] page: 1 pageSize: 10000 totalHits: 3 schema: $ref: '#/components/schemas/PaginatedResult' - description: Fetched list of the SLO Correction Window Configurations Successfully + description: >- + Fetched list of the SLO Correction Window Configurations + Successfully security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All SLO Correction Window Configs tags: - - SLO Correction Configurations - x-ibm-ahub-byok: true + - SLO Correction Configurations post: operationId: createSloCorrectionWindowConfig requestBody: @@ -18233,10 +19657,10 @@ paths: durationUnit: HOUR recurrentRule: FREQ=DAILY;INTERVAL=1 sloIds: - - SLO4s-fs-GuT56c3v4KzQKBuQ + - SLO4s-fs-GuT56c3v4KzQKBuQ tags: - - test - - rrule + - test + - rrule schema: $ref: '#/components/schemas/CorrectionConfiguration' required: true @@ -18258,68 +19682,69 @@ paths: recurrentRule: FREQ=DAILY;INTERVAL=1 recurrent: true sloIds: - - SLO4s-fs-GuT56c3v4KzQKBuQ + - SLO4s-fs-GuT56c3v4KzQKBuQ tags: - - rrule - - test + - rrule + - test schema: $ref: '#/components/schemas/CorrectionConfiguration' description: New SLO Correction Window Configuration Created Successfully '400': content: application/json: - example: '{"errors":["SloConfiguration with id: SLOeDPoToCSTyOtd2ZQ - was not found"]}' + example: >- + {"errors":["SloConfiguration with id: SLOeDPoToCSTyOtd2ZQ was + not found"]} schema: type: string description: Bad Request '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureServiceLevelCorrectionWindows + - ApiKeyAuth: + - canConfigureServiceLevelCorrectionWindows summary: Create a new SLO Correction Window Config tags: - - SLO Correction Configurations + - SLO Correction Configurations x-description: createSloCorrectionConfiguration - x-ibm-ahub-byok: true /api/settings/correction/{id}: delete: operationId: deleteSloCorrectionWindowConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: SLO Correction Window Configuration ID - example: cvLxfzNJQriV86MQTqOu1g + - in: path + name: id + required: true + schema: + type: string + description: SLO Correction Window Configuration ID + example: cvLxfzNJQriV86MQTqOu1g responses: '204': description: SLO Correction Window Configuration Deleted Successfully security: - - ApiKeyAuth: - - canConfigureServiceLevelCorrectionWindows + - ApiKeyAuth: + - canConfigureServiceLevelCorrectionWindows summary: Delete an existing SLO Correction Window Configuration tags: - - SLO Correction Configurations - x-ibm-ahub-byok: true + - SLO Correction Configurations get: operationId: getSloCorrectionWindowConfigById parameters: - - in: path - name: id - required: true - schema: - type: string - description: SLO Correction Window Configuration ID - example: dCTspkffgHlS_OzNOATQWgsuw - - in: query - name: refresh - schema: - type: boolean - description: Boolean operator which specifies if the cache needs to be refreshed - example: false + - in: path + name: id + required: true + schema: + type: string + description: SLO Correction Window Configuration ID + example: dCTspkffgHlS_OzNOATQWgsuw + - in: query + name: refresh + schema: + type: boolean + description: >- + Boolean operator which specifies if the cache needs to be + refreshed + example: false responses: '200': content: @@ -18338,10 +19763,10 @@ paths: recurrentRule: FREQ=DAILY;INTERVAL=1 recurrent: true sloIds: - - SLO4s-fs-GuT56c3v4KzQKBuQ + - SLO4s-fs-GuT56c3v4KzQKBuQ tags: - - rrule - - test + - rrule + - test schema: $ref: '#/components/schemas/CorrectionConfiguration' description: Fetched SLO Correction Window Configuration Successfully @@ -18350,28 +19775,28 @@ paths: application/json: example: errors: - - The SLO Correction Window Configuration you are looking for does - not exist. + - >- + The SLO Correction Window Configuration you are looking for + does not exist. schema: type: string description: SLO Correction Window Configuration Not Found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get an existing SLO Correction Window Config tags: - - SLO Correction Configurations - x-ibm-ahub-byok: true + - SLO Correction Configurations put: operationId: updateSloCorrectionWindowConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: SLO Correction Window Configuration ID - example: cvLxfzNJQriV86MQTqOu1g + - in: path + name: id + required: true + schema: + type: string + description: SLO Correction Window Configuration ID + example: cvLxfzNJQriV86MQTqOu1g requestBody: content: application/json: @@ -18385,10 +19810,10 @@ paths: durationUnit: HOUR recurrentRule: FREQ=DAILY;INTERVAL=1 sloIds: - - SLO4s-fs-GuT56c3v4KzQKBuQ + - SLO4s-fs-GuT56c3v4KzQKBuQ tags: - - test - - rrule + - test + - rrule schema: $ref: '#/components/schemas/CorrectionConfiguration' required: true @@ -18410,10 +19835,10 @@ paths: recurrentRule: FREQ=DAILY;INTERVAL=1 recurrent: true sloIds: - - SLO4s-fs-GuT56c3v4KzQKBuQ + - SLO4s-fs-GuT56c3v4KzQKBuQ tags: - - rrule - - test + - rrule + - test schema: $ref: '#/components/schemas/CorrectionConfiguration' description: Updated SLO Correction Window Configuration Successfully @@ -18422,20 +19847,19 @@ paths: application/json: example: errors: - - 'SloConfiguration with id: SLOeDPoToCSTyOtd2ZQ was not found' + - 'SloConfiguration with id: SLOeDPoToCSTyOtd2ZQ was not found' schema: type: string description: Bad Request '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureServiceLevelCorrectionWindows + - ApiKeyAuth: + - canConfigureServiceLevelCorrectionWindows summary: Update an existing SLO Correction Window Config tags: - - SLO Correction Configurations + - SLO Correction Configurations x-description: updateSloCorrectionConfiguration - x-ibm-ahub-byok: true /api/settings/invitation/share: post: operationId: shareAndInviteUsers @@ -18443,10 +19867,10 @@ paths: content: application/json: example: - - email: username@example.com - groupId: '-1' - message: hello message - path: /testpath + - email: username@example.com + groupId: '-1' + message: hello message + path: /testpath schema: type: array items: @@ -18458,8 +19882,8 @@ paths: application/json: example: invitationResults: - - userEmail: username@example.com - invitationStatus: SUCCESS + - userEmail: username@example.com + invitationStatus: SUCCESS schema: type: array items: @@ -18470,45 +19894,42 @@ paths: application/json: example: errors: - - Please set at least one email + - Please set at least one email schema: type: string description: Bad Request Error security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: Send user invitations tags: - - User + - User x-description: inviteUsers - x-ibm-ahub-byok: true /api/settings/invitations: delete: operationId: revokePendingInvitation parameters: - - description: Email of the invite for removal - example: username@example.com - in: query - name: email - required: true - schema: - type: string - format: email - minLength: 1 + - description: Email of the invite for removal + example: username@example.com + in: query + name: email + required: true + schema: + type: string + format: email + minLength: 1 responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: Revoke pending invitation tags: - - User + - User x-description: revokePendingInvitation - x-ibm-ahub-byok: true get: operationId: getInvitations responses: @@ -18521,21 +19942,20 @@ paths: $ref: '#/components/schemas/InvitationResult' description: OK security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: All pending invitations tags: - - User + - User x-description: getInvitations - x-ibm-ahub-byok: true post: operationId: inviteUsers requestBody: content: application/json: example: - - email: username@example.com - groupId: '-1' + - email: username@example.com + groupId: '-1' schema: type: array items: @@ -18547,8 +19967,8 @@ paths: application/json: example: invitationResults: - - userEmail: username@example.com - invitationStatus: SUCCESS + - userEmail: username@example.com + invitationStatus: SUCCESS schema: type: array items: @@ -18559,21 +19979,21 @@ paths: application/json: example: errors: - - Please set at least one email + - Please set at least one email schema: type: string description: Bad Request Error security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: Send user invitations tags: - - User + - User x-description: inviteUsers - x-ibm-ahub-byok: true /api/settings/ip-filtering: delete: - description: Delete the currently configured ip-filtering for the current tenant + description: >- + Delete the currently configured ip-filtering for the current tenant unit. operationId: deleteIPFiltering responses: @@ -18584,7 +20004,7 @@ paths: application/json: example: errors: - - no ip-filtering setting set + - no ip-filtering setting set schema: type: string description: Resource not found. @@ -18593,20 +20013,18 @@ paths: application/json: example: errors: - - failed to delete ip-filtering setting + - failed to delete ip-filtering setting schema: type: string description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureIPFiltering + - ApiKeyAuth: + - CanConfigureIPFiltering summary: Delete current ip-filtering tags: - - IP Filtering - x-ibm-ahub-byok: true + - IP Filtering get: - description: Retrieve currently configured ip-filtering for the current tenant - unit. + description: Retrieve currently configured ip-filtering for the current tenant unit. operationId: getIPFiltering responses: '200': @@ -18618,10 +20036,10 @@ paths: enabled: true supportAccessEnabled: true rules: - - target: 127.0.0.1 - block: true - - target: 0:0:0:0:0:0:0:1 - block: false + - target: 127.0.0.1 + block: true + - target: '0:0:0:0:0:0:0:1' + block: false lastChangedAt: 1762356274224 lastVerifiedAt: null schema: @@ -18632,7 +20050,7 @@ paths: application/json: example: errors: - - no ip-filtering setting set + - no ip-filtering setting set schema: type: string description: Resource not found. @@ -18641,21 +20059,21 @@ paths: application/json: example: errors: - - failed to retrieve ip-filtering setting + - failed to retrieve ip-filtering setting schema: type: string description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureIPFiltering + - ApiKeyAuth: + - CanConfigureIPFiltering summary: Get current ip-filtering tags: - - IP Filtering - x-ibm-ahub-byok: true + - IP Filtering put: - description: Update or create ip-filtering for the current tenant unit. Enabled - configurations will become temporarily active (5 minutes) and need to be verified - within whilst being temporarily to become permanently active. + description: >- + Update or create ip-filtering for the current tenant unit. Enabled + configurations will become temporarily active (5 minutes) and need to be + verified within whilst being temporarily to become permanently active. operationId: upsertIPFiltering requestBody: content: @@ -18665,10 +20083,10 @@ paths: enabled: true supportAccessEnabled: true rules: - - target: 127.0.0.1 - block: true - - target: 0:0:0:0:0:0:0:1 - block: false + - target: 127.0.0.1 + block: true + - target: '0:0:0:0:0:0:0:1' + block: false schema: $ref: '#/components/schemas/IPFilteringUpsert' required: true @@ -18682,10 +20100,10 @@ paths: enabled: true supportAccessEnabled: true rules: - - target: 127.0.0.1 - block: true - - target: 0:0:0:0:0:0:0:1 - block: false + - target: 127.0.0.1 + block: true + - target: '0:0:0:0:0:0:0:1' + block: false lastChangedAt: 1762356274224 lastVerifiedAt: null schema: @@ -18696,8 +20114,9 @@ paths: application/json: example: errors: - - Denying all access is prevented. You need to provide at least one - allow rule. + - >- + Denying all access is prevented. You need to provide at + least one allow rule. schema: type: string description: Bad request. @@ -18706,12 +20125,12 @@ paths: application/json: example: errors: - - supportAccessEnabled must not be null - - denyAll must not be null - - rules must not be null - - enabled must not be null - - rules must not be empty - - rules size must be between 1 and 75 + - supportAccessEnabled must not be null + - denyAll must not be null + - rules must not be null + - enabled must not be null + - rules must not be empty + - rules size must be between 1 and 75 schema: type: string description: Unprocessable request - missing/invalid data. @@ -18720,21 +20139,21 @@ paths: application/json: example: errors: - - failed to upsert ip-filtering setting + - failed to upsert ip-filtering setting schema: type: string description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureIPFiltering + - ApiKeyAuth: + - CanConfigureIPFiltering summary: Upsert ip-filtering tags: - - IP Filtering - x-ibm-ahub-byok: true + - IP Filtering /api/settings/ip-filtering/disable: patch: - description: Disable and retrieve the currently configured ip-filtering for - the current tenant unit. + description: >- + Disable and retrieve the currently configured ip-filtering for the + current tenant unit. operationId: disableIPFiltering responses: '200': @@ -18746,10 +20165,10 @@ paths: enabled: false supportAccessEnabled: true rules: - - target: 127.0.0.1 - block: true - - target: 0:0:0:0:0:0:0:1 - block: false + - target: 127.0.0.1 + block: true + - target: '0:0:0:0:0:0:0:1' + block: false lastChangedAt: 1762356861555 lastVerifiedAt: 1762356492161 schema: @@ -18760,7 +20179,7 @@ paths: application/json: example: errors: - - no ip-filtering setting set + - no ip-filtering setting set schema: type: string description: Resource not found. @@ -18769,23 +20188,23 @@ paths: application/json: example: errors: - - failed to disable ip-filtering setting + - failed to disable ip-filtering setting schema: type: string description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureIPFiltering + - ApiKeyAuth: + - CanConfigureIPFiltering summary: Disable the current ip-filtering tags: - - IP Filtering - x-ibm-ahub-byok: true + - IP Filtering /api/settings/ip-filtering/verify: patch: - description: Verify and retrieve the currently configured ip-filtering for the - current tenant unit. This action is required to promote a configuration from - temporary active to permanently active. This action can only be performed - whilst the configuration is temporary active. + description: >- + Verify and retrieve the currently configured ip-filtering for the + current tenant unit. This action is required to promote a configuration + from temporary active to permanently active. This action can only be + performed whilst the configuration is temporary active. operationId: verifyIPFiltering responses: '200': @@ -18797,10 +20216,10 @@ paths: enabled: true supportAccessEnabled: true rules: - - target: 127.0.0.1 - block: true - - target: 0:0:0:0:0:0:0:1 - block: false + - target: 127.0.0.1 + block: true + - target: '0:0:0:0:0:0:0:1' + block: false lastChangedAt: 1762356274224 lastVerifiedAt: 1762356492161 schema: @@ -18811,7 +20230,7 @@ paths: application/json: example: errors: - - unable to verify either no ip-filtering set or not active + - unable to verify either no ip-filtering set or not active schema: type: string description: Resource not found. @@ -18820,54 +20239,55 @@ paths: application/json: example: errors: - - failed to verify ip-filtering setting + - failed to verify ip-filtering setting schema: type: string description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureIPFiltering + - ApiKeyAuth: + - CanConfigureIPFiltering summary: Verify current ip-filtering tags: - - IP Filtering - x-ibm-ahub-byok: true + - IP Filtering /api/settings/llm-pricing: delete: - description: Delete a tenant-specific price configuration for a specific provider+model. - Optionally specify a platform. Only user-defined prices can be deleted. + description: >- + Delete a tenant-specific price configuration for a specific + provider+model. Optionally specify a platform. Only user-defined prices + can be deleted. operationId: deleteLlmModelPriceByQuery parameters: - - in: query - name: provider - schema: - type: string - description: Provider - example: openai - - in: query - name: modelName - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, deletes all-platforms - pricing. - example: aws + - in: query + name: provider + schema: + type: string + description: Provider + example: openai + - in: query + name: modelName + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, deletes all-platforms + pricing. + example: aws responses: '204': description: No Content - Successfully deleted '404': description: Not Found - Price configuration does not exist security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Delete LLM model price tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration get: description: Fetch all LLM price configurations for the current tenant unit. operationId: getAllLlmModelPrices @@ -18879,15 +20299,15 @@ paths: $ref: '#/components/schemas/LlmModelPrice' description: OK security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Get all LLM model prices tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration put: - description: Create or update price for a specific provider+model. Optionally - specify a platform for platform-specific pricing. + description: >- + Create or update price for a specific provider+model. Optionally specify + a platform for platform-specific pricing. operationId: upsertLlmModelPriceFromBody requestBody: content: @@ -18903,12 +20323,11 @@ paths: '200': description: OK security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Upsert LLM model price tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration /api/settings/llm-pricing/currency: get: description: Fetch the currency code used for LLM model pricing. @@ -18923,12 +20342,11 @@ paths: '404': description: Not Found security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Get currency for LLM model prices tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration put: description: Set the currency code used for LLM model pricing. operationId: setLLMModelCurrency @@ -18947,64 +20365,66 @@ paths: $ref: '#/components/schemas/LlmModelPriceMetadata' description: OK security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Set currency for LLM model prices tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration /api/settings/llm-pricing/model/{modelName}: delete: - description: Delete a tenant-specific price configuration for a model without - specifying provider. Optionally specify a platform. Only user-defined prices - can be deleted. + description: >- + Delete a tenant-specific price configuration for a model without + specifying provider. Optionally specify a platform. Only user-defined + prices can be deleted. operationId: deleteLlmModelPriceWithoutProvider parameters: - - in: path - name: modelName - required: true - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, deletes all-platforms - pricing. - example: aws + - in: path + name: modelName + required: true + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, deletes all-platforms + pricing. + example: aws responses: '204': description: No Content - Successfully deleted '404': description: Not Found - Price configuration does not exist security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Delete LLM model price without provider tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration get: - description: Fetch the price for a model without specifying provider. Optionally + description: >- + Fetch the price for a model without specifying provider. Optionally specify a platform for platform-specific pricing. operationId: getLlmModelPriceWithoutProvider parameters: - - in: path - name: modelName - required: true - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, returns pricing for - all platforms. - example: aws + - in: path + name: modelName + required: true + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, returns pricing for all + platforms. + example: aws responses: '200': content: @@ -19015,31 +20435,32 @@ paths: '404': description: Not Found security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Get LLM model price without provider tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration put: - description: Create or update price for a model without specifying provider. + description: >- + Create or update price for a model without specifying provider. Optionally specify a platform for platform-specific pricing. operationId: upsertLlmModelPriceWithoutProvider parameters: - - in: path - name: modelName - required: true - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, pricing applies to all - platforms. - example: aws + - in: path + name: modelName + required: true + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, pricing applies to all + platforms. + example: aws requestBody: content: application/json: @@ -19052,77 +20473,80 @@ paths: '200': description: OK security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Upsert LLM model price without provider tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration /api/settings/llm-pricing/{provider}/{modelName}: delete: - description: Delete a tenant-specific price configuration for a specific provider+model. - Optionally specify a platform. Only user-defined prices can be deleted. + description: >- + Delete a tenant-specific price configuration for a specific + provider+model. Optionally specify a platform. Only user-defined prices + can be deleted. operationId: deleteLlmModelPrice parameters: - - in: path - name: provider - required: true - schema: - type: string - description: Provider - example: openai - - in: path - name: modelName - required: true - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, deletes all-platforms - pricing. - example: aws + - in: path + name: provider + required: true + schema: + type: string + description: Provider + example: openai + - in: path + name: modelName + required: true + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, deletes all-platforms + pricing. + example: aws responses: '204': description: No Content - Successfully deleted '404': description: Not Found - Price configuration does not exist security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Delete LLM model price tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration get: - description: Fetch the price for a specific provider+model. Optionally specify - a platform for platform-specific pricing. + description: >- + Fetch the price for a specific provider+model. Optionally specify a + platform for platform-specific pricing. operationId: getLlmModelPrice parameters: - - in: path - name: provider - required: true - schema: - type: string - description: Provider - example: openai - - in: path - name: modelName - required: true - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, returns pricing for - all platforms. - example: aws + - in: path + name: provider + required: true + schema: + type: string + description: Provider + example: openai + - in: path + name: modelName + required: true + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, returns pricing for all + platforms. + example: aws responses: '200': content: @@ -19133,38 +20557,39 @@ paths: '404': description: Not Found security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Get LLM model price tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration put: - description: Create or update price for a specific provider+model. Optionally - specify a platform for platform-specific pricing. + description: >- + Create or update price for a specific provider+model. Optionally specify + a platform for platform-specific pricing. operationId: upsertLlmModelPrice parameters: - - in: path - name: provider - required: true - schema: - type: string - description: Provider - example: openai - - in: path - name: modelName - required: true - schema: - type: string - description: Model name - example: gpt-4 - - in: query - name: platform - schema: - type: string - description: Platform (optional). If not specified, pricing applies to all - platforms. - example: aws + - in: path + name: provider + required: true + schema: + type: string + description: Provider + example: openai + - in: path + name: modelName + required: true + schema: + type: string + description: Model name + example: gpt-4 + - in: query + name: platform + schema: + type: string + description: >- + Platform (optional). If not specified, pricing applies to all + platforms. + example: aws requestBody: content: application/json: @@ -19177,18 +20602,18 @@ paths: '200': description: OK security: - - ApiKeyAuth: - - CanConfigureLlmModelPrice + - ApiKeyAuth: + - CanConfigureLlmModelPrice summary: Upsert LLM model price tags: - - LLM Price Configuration - x-ibm-ahub-byok: true + - LLM Price Configuration /api/settings/maintenance: get: deprecated: true - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: getMaintenanceConfigs responses: '200': @@ -19200,54 +20625,53 @@ paths: $ref: '#/components/schemas/ValidatedMaintenanceConfigWithStatus' description: OK security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: All maintenance configurations tags: - - Maintenance Configuration - x-ibm-ahub-byok: true + - Maintenance Configuration /api/settings/maintenance/{id}: delete: deprecated: true - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: deleteMaintenanceConfig parameters: - - description: ID of the Maintenance Window Configuration to delete. - example: MPhKWoXRp0PBelqk - in: path - name: id - required: true - schema: - type: string + - description: ID of the Maintenance Window Configuration to delete. + example: MPhKWoXRp0PBelqk + in: path + name: id + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Delete maintenance configuration tags: - - Maintenance Configuration - x-ibm-ahub-byok: true + - Maintenance Configuration get: deprecated: true - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: getMaintenanceConfig - parameters: - - description: ID of the Maintenance Window Configuration to get. - example: MPhKWoXRp0PBelqk - in: path - name: id - required: true - schema: - type: string + parameters: + - description: ID of the Maintenance Window Configuration to get. + example: MPhKWoXRp0PBelqk + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -19256,26 +20680,26 @@ paths: $ref: '#/components/schemas/MaintenanceConfigWithLastUpdated' description: OK security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Maintenance configuration tags: - - Maintenance Configuration - x-ibm-ahub-byok: true + - Maintenance Configuration put: deprecated: true - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: putMaintenanceConfig parameters: - - description: ID of the Maintenance Window Configuration to update. - example: MPhKWoXRp0PBelqk - in: path - name: id - required: true - schema: - type: string + - description: ID of the Maintenance Window Configuration to update. + example: MPhKWoXRp0PBelqk + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -19284,46 +20708,48 @@ paths: required: true responses: '200': - description: Maintenance config has been created or updated, and successfully + description: >- + Maintenance config has been created or updated, and successfully scheduled immediately if needed '202': - description: Maintenance config has been created or updated, but could not - to be scheduled immediately. It will therefore be scheduled during the + description: >- + Maintenance config has been created or updated, but could not to be + scheduled immediately. It will therefore be scheduled during the next auto-refresh with a delay of up to 4 minutes. '400': description: Invalid JSON or mismatching IDs have been provided security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Create or update maintenance configuration tags: - - Maintenance Configuration - x-ibm-ahub-byok: true + - Maintenance Configuration /api/settings/rbac/groups: get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getGroups responses: '200': content: application/json: example: - - id: groupId1 - name: group1 - members: - - userId: userId1 - email: username1@example.com - - userId: userId2 - email: username2@example.com - - id: groupId2 - name: group2 - members: - - userId: userId1 - email: username1@example.com - - userId: userId3 - email: username3@example.com + - id: groupId1 + name: group1 + members: + - userId: userId1 + email: username1@example.com + - userId: userId2 + email: username2@example.com + - id: groupId2 + name: group2 + members: + - userId: userId1 + email: username1@example.com + - userId: userId3 + email: username3@example.com schema: type: array items: @@ -19332,17 +20758,17 @@ paths: '404': description: No groups found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get groups tags: - - Groups + - Groups x-description: getGroups - x-ibm-ahub-byok: true post: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: createGroup requestBody: content: @@ -19350,25 +20776,21 @@ paths: example: name: group name members: - - userId: userId - email: username@example.com + - userId: userId + email: username@example.com permissionSet: permissions: - - CAN_VIEW_LOGS + - CAN_VIEW_LOGS applicationIds: - - scopeId: scopeId1 - scopeRoleId: '-102' - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] + - scopeId: scopeId1 + scopeRoleId: '-102' + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] syntheticTestIds: - - scopeId: scopeId10 - scopeRoleId: '-1' + - scopeId: scopeId10 + scopeRoleId: '-1' restrictedApplicationFilter: label: group name tagFilterExpression: @@ -19398,25 +20820,21 @@ paths: example: name: group name members: - - userId: userId - email: username@example.com + - userId: userId + email: username@example.com permissionSet: permissions: - - CAN_VIEW_LOGS + - CAN_VIEW_LOGS applicationIds: - - scopeId: scopeId1 - scopeRoleId: '-102' - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] + - scopeId: scopeId1 + scopeRoleId: '-102' + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] syntheticTestIds: - - scopeId: scopeId10 - scopeRoleId: '-1' + - scopeId: scopeId10 + scopeRoleId: '-1' restrictedApplicationFilter: label: group name tagFilterExpression: @@ -19440,18 +20858,19 @@ paths: $ref: '#/components/schemas/ApiGroup' description: OK security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Create group tags: - - Groups + - Groups x-description: createGroup - x-ibm-ahub-byok: true /api/settings/rbac/groups/delete: put: - description: |- + description: >- Delete multiple groups - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: deleteGroups requestBody: content: @@ -19465,79 +20884,73 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Delete groups tags: - - Groups - x-ibm-ahub-byok: true + - Groups /api/settings/rbac/groups/user/{email}: get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getGroupsByUser parameters: - - description: Email of the user for retrieval - example: username@example.com - in: path - name: email - required: true - schema: - type: string - style: simple - responses: - '200': - content: - application/json: - example: - - id: groupId - name: group name - members: - - userId: userId - email: username@example.com - permissionSet: - permissions: - - CAN_VIEW_LOGS - - LIMITED_APPLICATIONS_SCOPE - - ACCESS_APPLICATIONS - - CAN_VIEW_TRACE_DETAILS - applicationIds: - - scopeId: scopeId1 - scopeRoleId: '-102' - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] - syntheticTestIds: [ - ] - restrictedApplicationFilter: - label: filter name - tagFilterExpression: - type: TAG_FILTER - name: service.name - stringValue: acceptor - numberValue: null - booleanValue: null - key: null - value: acceptor - operator: EQUALS - entity: DESTINATION - scope: INCLUDE_NO_DOWNSTREAM - infraDfqFilter: - scopeId: '' - scopeRoleId: '-1' - actionFilter: - scopeId: '' - scopeRoleId: '-1' + - description: Email of the user for retrieval + example: username@example.com + in: path + name: email + required: true + schema: + type: string + style: simple + responses: + '200': + content: + application/json: + example: + - id: groupId + name: group name + members: + - userId: userId + email: username@example.com + permissionSet: + permissions: + - CAN_VIEW_LOGS + - LIMITED_APPLICATIONS_SCOPE + - ACCESS_APPLICATIONS + - CAN_VIEW_TRACE_DETAILS + applicationIds: + - scopeId: scopeId1 + scopeRoleId: '-102' + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] + syntheticTestIds: [] + restrictedApplicationFilter: + label: filter name + tagFilterExpression: + type: TAG_FILTER + name: service.name + stringValue: acceptor + numberValue: null + booleanValue: null + key: null + value: acceptor + operator: EQUALS + entity: DESTINATION + scope: INCLUDE_NO_DOWNSTREAM + infraDfqFilter: + scopeId: '' + scopeRoleId: '-1' + actionFilter: + scopeId: '' + scopeRoleId: '-1' schema: type: array items: @@ -19546,35 +20959,35 @@ paths: '404': description: No groups found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get groups of a single user tags: - - Groups + - Groups x-description: getGroupsByUser - x-ibm-ahub-byok: true /api/settings/rbac/groups/{groupId}/permissions: put: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: addPermissionsOnGroup parameters: - - description: Id of the group to add permissions - example: groupId - in: path - name: groupId - required: true - schema: - type: string - style: simple + - description: Id of the group to add permissions + example: groupId + in: path + name: groupId + required: true + schema: + type: string + style: simple requestBody: content: application/json: example: - - CAN_VIEW_SYNTHETIC_TESTS - - CAN_VIEW_SYNTHETIC_LOCATIONS - - CAN_CONFIGURE_AUTOMATION_ACTIONS + - CAN_VIEW_SYNTHETIC_TESTS + - CAN_VIEW_SYNTHETIC_LOCATIONS + - CAN_CONFIGURE_AUTOMATION_ACTIONS schema: type: array items: @@ -19588,26 +21001,20 @@ paths: id: groupId name: group name members: - - userId: userId1 - email: username1@example.com + - userId: userId1 + email: username1@example.com permissionSet: permissions: - - CAN_VIEW_LOGS - - CAN_VIEW_SYNTHETIC_TESTS - - CAN_VIEW_SYNTHETIC_LOCATIONS - - CAN_CONFIGURE_AUTOMATION_ACTIONS - applicationIds: [ - ] - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] - syntheticTestIds: [ - ] + - CAN_VIEW_LOGS + - CAN_VIEW_SYNTHETIC_TESTS + - CAN_VIEW_SYNTHETIC_LOCATIONS + - CAN_CONFIGURE_AUTOMATION_ACTIONS + applicationIds: [] + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] + syntheticTestIds: [] infraDfqFilter: scopeId: '' scopeRoleId: '-1' @@ -19618,34 +21025,34 @@ paths: $ref: '#/components/schemas/ApiGroup' description: OK security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Add permissions to group tags: - - Groups + - Groups x-description: updateGroup - x-ibm-ahub-byok: true /api/settings/rbac/groups/{groupId}/users: put: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: addUsersToGroup parameters: - - description: Id of the group to add users - example: groupId - in: path - name: groupId - required: true - schema: - type: string - style: simple + - description: Id of the group to add users + example: groupId + in: path + name: groupId + required: true + schema: + type: string + style: simple requestBody: content: application/json: example: - - userId1 - - userId3 + - userId1 + - userId3 schema: type: array items: @@ -19659,27 +21066,21 @@ paths: id: groupId name: group name members: - - userId: userId1 - email: username1@example.com - - userId: userId2 - email: username2@example.com - - userId: userId3 - email: username3@example.com + - userId: userId1 + email: username1@example.com + - userId: userId2 + email: username2@example.com + - userId: userId3 + email: username3@example.com permissionSet: permissions: - - CAN_VIEW_LOGS - applicationIds: [ - ] - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] - syntheticTestIds: [ - ] + - CAN_VIEW_LOGS + applicationIds: [] + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] + syntheticTestIds: [] infraDfqFilter: scopeId: '' scopeRoleId: '-1' @@ -19690,27 +21091,28 @@ paths: $ref: '#/components/schemas/ApiGroup' description: OK security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Add users to group tags: - - Groups + - Groups x-description: addUsersToGroup - x-ibm-ahub-byok: true /api/settings/rbac/groups/{id}: delete: - description: |- + description: >- Delete the group data. - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: deleteGroup parameters: - - description: Id of the group to delete - example: groupId - in: path - name: id - required: true - schema: - type: string + - description: Id of the group to delete + example: groupId + in: path + name: id + required: true + schema: + type: string responses: '204': description: No Content - Group successfully deleted @@ -19721,28 +21123,29 @@ paths: schema: type: string example: Deletion of this group is not allowed - description: Pre-Condition Failed - Returned when attempting to delete protected + description: >- + Pre-Condition Failed - Returned when attempting to delete protected system groups. security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Delete group tags: - - Groups - x-ibm-ahub-byok: true + - Groups get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getGroup parameters: - - description: Id of the group for retrieval - example: groupId - in: path - name: id - required: true - schema: - type: string + - description: Id of the group for retrieval + example: groupId + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -19751,49 +21154,45 @@ paths: id: groupId name: group name members: - - userId: userId - email: username@example.com + - userId: userId + email: username@example.com permissionSet: permissions: - - ACCESS_INFRASTRUCTURE - - LIMITED_WEBSITES_SCOPE - - CAN_VIEW_SYNTHETIC_TESTS - - CAN_VIEW_SYNTHETIC_LOCATIONS - - CAN_VIEW_TRACE_DETAILS - - CAN_CONFIGURE_AGENT_RUN_MODE - - CAN_CONFIGURE_AUTOMATION_ACTIONS - - CAN_CONFIGURE_USERS - - ACCESS_SYNTHETICS - - CAN_VIEW_LOGS - - LIMITED_KUBERNETES_SCOPE - - CAN_CONFIGURE_TEAMS - - CAN_VIEW_SYNTHETIC_TEST_RESULTS - - LIMITED_SYNTHETICS_SCOPE - - LIMITED_INFRASTRUCTURE_SCOPE + - ACCESS_INFRASTRUCTURE + - LIMITED_WEBSITES_SCOPE + - CAN_VIEW_SYNTHETIC_TESTS + - CAN_VIEW_SYNTHETIC_LOCATIONS + - CAN_VIEW_TRACE_DETAILS + - CAN_CONFIGURE_AGENT_RUN_MODE + - CAN_CONFIGURE_AUTOMATION_ACTIONS + - CAN_CONFIGURE_USERS + - ACCESS_SYNTHETICS + - CAN_VIEW_LOGS + - LIMITED_KUBERNETES_SCOPE + - CAN_CONFIGURE_TEAMS + - CAN_VIEW_SYNTHETIC_TEST_RESULTS + - LIMITED_SYNTHETICS_SCOPE + - LIMITED_INFRASTRUCTURE_SCOPE applicationIds: - - scopeId: scopeId1 - scopeRoleId: '-102' - - scopeId: scopeId2 - scopeRoleId: '-102' - - scopeId: scopeId3 - scopeRoleId: '-102' - - scopeId: scopeId4 - scopeRoleId: '-102' - - scopeId: scopeId5 - scopeRoleId: '-102' - - scopeId: scopeId6 - scopeRoleId: '-102' - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] + - scopeId: scopeId1 + scopeRoleId: '-102' + - scopeId: scopeId2 + scopeRoleId: '-102' + - scopeId: scopeId3 + scopeRoleId: '-102' + - scopeId: scopeId4 + scopeRoleId: '-102' + - scopeId: scopeId5 + scopeRoleId: '-102' + - scopeId: scopeId6 + scopeRoleId: '-102' + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] syntheticTestIds: - - scopeId: scopeId10 - scopeRoleId: '-1' + - scopeId: scopeId10 + scopeRoleId: '-1' restrictedApplicationFilter: label: filter name tagFilterExpression: @@ -19817,51 +21216,47 @@ paths: $ref: '#/components/schemas/ApiGroup' description: OK security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get group tags: - - Groups + - Groups x-description: getGroup - x-ibm-ahub-byok: true put: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: updateGroup parameters: - - description: Id of the group to update - example: groupId - in: path - name: id - required: true - schema: - type: string + - description: Id of the group to update + example: groupId + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: example: name: group name members: - - userId: userId - email: username@example.com + - userId: userId + email: username@example.com permissionSet: permissions: - - CAN_VIEW_LOGS + - CAN_VIEW_LOGS applicationIds: - - scopeId: scopeId1 - scopeRoleId: '-102' - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] + - scopeId: scopeId1 + scopeRoleId: '-102' + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] syntheticTestIds: - - scopeId: scopeId10 - scopeRoleId: '-1' + - scopeId: scopeId10 + scopeRoleId: '-1' restrictedApplicationFilter: label: group name tagFilterExpression: @@ -19891,25 +21286,21 @@ paths: example: name: group name members: - - userId: userId - email: username@example.com + - userId: userId + email: username@example.com permissionSet: permissions: - - CAN_VIEW_LOGS + - CAN_VIEW_LOGS applicationIds: - - scopeId: scopeId1 - scopeRoleId: '-102' - kubernetesClusterUUIDs: [ - ] - kubernetesNamespaceUIDs: [ - ] - websiteIds: [ - ] - mobileAppIds: [ - ] + - scopeId: scopeId1 + scopeRoleId: '-102' + kubernetesClusterUUIDs: [] + kubernetesNamespaceUIDs: [] + websiteIds: [] + mobileAppIds: [] syntheticTestIds: - - scopeId: scopeId10 - scopeRoleId: '-1' + - scopeId: scopeId10 + scopeRoleId: '-1' restrictedApplicationFilter: label: group name tagFilterExpression: @@ -19941,65 +21332,66 @@ paths: schema: type: string example: Modification of this group is not allowed - description: Pre-Condition Failed - Returned when attempting to modify protected + description: >- + Pre-Condition Failed - Returned when attempting to modify protected groups in a forbidden way. security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Update group tags: - - Groups + - Groups x-description: updateGroup - x-ibm-ahub-byok: true /api/settings/rbac/groups/{id}/user/{userId}: delete: - description: |- + description: >- Remove the user from a group. - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: removeUserFromGroup parameters: - - description: Id of the group to remove user from - example: groupId - in: path - name: id - required: true - schema: - type: string - - description: Id of the user to remove - example: userId - in: path - name: userId - required: true - schema: - type: string + - description: Id of the group to remove user from + example: groupId + in: path + name: id + required: true + schema: + type: string + - description: Id of the user to remove + example: userId + in: path + name: userId + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Remove user from group tags: - - Groups - x-ibm-ahub-byok: true + - Groups /api/settings/rbac/mappings: get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getGroupMappings responses: '200': content: application/json: example: - - id: mappingId - key: roles - value: analyst - groupId: '-3' + - id: mappingId + key: roles + value: analyst + groupId: '-3' schema: type: array items: @@ -20008,17 +21400,17 @@ paths: '404': description: No group mapping found security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Get all group mappings tags: - - Groups + - Groups x-description: getGroupMappings - x-ibm-ahub-byok: true post: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: createGroupMapping requestBody: content: @@ -20043,18 +21435,18 @@ paths: $ref: '#/components/schemas/GroupMapping' description: OK security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Create group mapping tags: - - Groups + - Groups x-description: createGroupMapping - x-ibm-ahub-byok: true /api/settings/rbac/mappings/identityProvider/restrictEmptyIdpGroups: get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getIdentityProviderPatch responses: '200': @@ -20068,17 +21460,17 @@ paths: '404': description: No group mapping restriction found security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Check user restrictions for empty Idp group mapping tags: - - Groups + - Groups x-description: getIdentityProviderPatch - x-ibm-ahub-byok: true put: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: updateIdentityProvider requestBody: content: @@ -20091,33 +21483,32 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Allow/Restrict users with empty Idp group mapping tags: - - Groups + - Groups x-description: updateIdentityProvider - x-ibm-ahub-byok: true /api/settings/rbac/mappings/overview: get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getGroupMappingsOverview responses: '200': content: application/json: example: - - id: mappingId - key: roles - value: analyst - role: default - team: testing + - id: mappingId + key: roles + value: analyst + role: default + team: testing schema: type: array items: @@ -20126,52 +21517,51 @@ paths: '404': description: No group mapping overviews found security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Get all group mappings overview tags: - - Groups + - Groups x-description: getGroupMappingsOverview - x-ibm-ahub-byok: true /api/settings/rbac/mappings/{id}: delete: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: deleteGroupMapping parameters: - - description: Id of the group mapping to delete - example: mappingId - in: path - name: id - required: true - schema: - type: string + - description: Id of the group mapping to delete + example: mappingId + in: path + name: id + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Delete group mapping tags: - - Groups + - Groups x-description: deleteGroupMapping - x-ibm-ahub-byok: true get: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: getGroupMapping parameters: - - in: path - name: id - required: true - schema: - type: string + - in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -20187,26 +21577,26 @@ paths: '404': description: No group mapping found security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Get group mapping tags: - - Groups + - Groups x-description: getGroupMapping - x-ibm-ahub-byok: true put: - description: |2- + description: >- - For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. + For more information on groups please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups. operationId: updateGroupMapping parameters: - - description: Id of the group mapping to update - example: mappingId - in: path - name: id - required: true - schema: - type: string + - description: Id of the group mapping to update + example: mappingId + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -20231,13 +21621,12 @@ paths: $ref: '#/components/schemas/GroupMapping' description: OK security: - - ApiKeyAuth: - - CanConfigureAuthenticationMethods + - ApiKeyAuth: + - CanConfigureAuthenticationMethods summary: Update group mapping tags: - - Groups + - Groups x-description: updateGroupMapping - x-ibm-ahub-byok: true /api/settings/rbac/roles: get: description: Retrieve all roles for the current tenant unit. @@ -20247,35 +21636,35 @@ paths: content: application/json: example: - - id: role-1 - name: Administrator - description: null - members: - - userId: user-1 - email: admin@example.com - name: Admin User - - userId: user-2 - email: manager@example.com - name: Manager User - permissions: - - CAN_CONFIGURE_APPLICATIONS - - CAN_CONFIGURE_EVENTS - - CAN_CONFIGURE_INFRASTRUCTURE - - CAN_CONFIGURE_TEAMS - - id: role-2 - name: Developer - description: my optional description (< 500 characters) - members: - - userId: user-3 - email: dev1@example.com - name: Developer One - - userId: user-4 - email: dev2@example.com - name: Developer Two - permissions: - - CAN_VIEW_APPLICATIONS - - CAN_VIEW_EVENTS - - CAN_VIEW_INFRASTRUCTURE + - id: role-1 + name: Administrator + description: null + members: + - userId: user-1 + email: admin@example.com + name: Admin User + - userId: user-2 + email: manager@example.com + name: Manager User + permissions: + - CAN_CONFIGURE_APPLICATIONS + - CAN_CONFIGURE_EVENTS + - CAN_CONFIGURE_INFRASTRUCTURE + - CAN_CONFIGURE_TEAMS + - id: role-2 + name: Developer + description: my optional description (< 500 characters) + members: + - userId: user-3 + email: dev1@example.com + name: Developer One + - userId: user-4 + email: dev2@example.com + name: Developer Two + permissions: + - CAN_VIEW_APPLICATIONS + - CAN_VIEW_EVENTS + - CAN_VIEW_INFRASTRUCTURE schema: type: array items: @@ -20284,12 +21673,11 @@ paths: '404': description: No roles found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get all roles tags: - - Roles - x-ibm-ahub-byok: true + - Roles post: description: Create a new role. operationId: createRole @@ -20300,12 +21688,12 @@ paths: name: New Role description: optional attribute members: - - userId: user-5 - email: newuser@example.com - name: New User + - userId: user-5 + email: newuser@example.com + name: New User permissions: - - CAN_VIEW_APPLICATIONS - - CAN_VIEW_EVENTS + - CAN_VIEW_APPLICATIONS + - CAN_VIEW_EVENTS schema: $ref: '#/components/schemas/ApiCreateRole' description: Role to create @@ -20319,36 +21707,35 @@ paths: name: New Role description: optional attribute members: - - userId: user-5 - email: newuser@example.com - name: New User + - userId: user-5 + email: newuser@example.com + name: New User permissions: - - CAN_VIEW_APPLICATIONS - - CAN_VIEW_EVENTS + - CAN_VIEW_APPLICATIONS + - CAN_VIEW_EVENTS schema: $ref: '#/components/schemas/ApiRole' description: OK '422': description: Unprocessable entity. security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Create role tags: - - Roles - x-ibm-ahub-byok: true + - Roles /api/settings/rbac/roles/{id}: delete: description: Delete a role by ID. operationId: deleteRole parameters: - - description: Id of the role to delete - example: roleId - in: path - name: id - required: true - schema: - type: string + - description: Id of the role to delete + example: roleId + in: path + name: id + required: true + schema: + type: string responses: '204': description: Role successfully deleted @@ -20361,30 +21748,30 @@ paths: schema: type: string example: Deletion of this group is not allowed - description: Pre-Condition Failed - Returned when attempting to delete protected + description: >- + Pre-Condition Failed - Returned when attempting to delete protected system roles. security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Delete role tags: - - Roles - x-ibm-ahub-byok: true + - Roles get: description: Retrieve a specific role by its ID. operationId: getRole parameters: - - description: Id of the role for retrieval - example: roleId - in: path - name: id - required: true - schema: - type: string - - in: query - name: includeTeamUsage - schema: - type: boolean + - description: Id of the role for retrieval + example: roleId + in: path + name: id + required: true + schema: + type: string + - in: query + name: includeTeamUsage + schema: + type: boolean responses: '200': content: @@ -20393,40 +21780,39 @@ paths: id: role-1 name: Administrator members: - - userId: user-1 - email: admin@example.com - name: Admin User - - userId: user-2 - email: manager@example.com - name: Manager User + - userId: user-1 + email: admin@example.com + name: Admin User + - userId: user-2 + email: manager@example.com + name: Manager User permissions: - - CAN_CONFIGURE_APPLICATIONS - - CAN_CONFIGURE_EVENTS - - CAN_CONFIGURE_INFRASTRUCTURE - - CAN_CONFIGURE_TEAMS + - CAN_CONFIGURE_APPLICATIONS + - CAN_CONFIGURE_EVENTS + - CAN_CONFIGURE_INFRASTRUCTURE + - CAN_CONFIGURE_TEAMS schema: $ref: '#/components/schemas/ApiRole' description: OK '404': description: Role not found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get role by ID tags: - - Roles - x-ibm-ahub-byok: true + - Roles put: description: Update an existing role by ID. operationId: updateRole parameters: - - description: Id of the role to update - example: roleId - in: path - name: id - required: true - schema: - type: string + - description: Id of the role to update + example: roleId + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -20435,20 +21821,20 @@ paths: name: Updated Developer Role description: optional attribute members: - - userId: user-3 - email: dev1@example.com - name: Developer One - - userId: user-4 - email: dev2@example.com - name: Developer Two - - userId: user-6 - email: dev3@example.com - name: Developer Three + - userId: user-3 + email: dev1@example.com + name: Developer One + - userId: user-4 + email: dev2@example.com + name: Developer Two + - userId: user-6 + email: dev3@example.com + name: Developer Three permissions: - - CAN_VIEW_APPLICATIONS - - CAN_VIEW_EVENTS - - CAN_VIEW_INFRASTRUCTURE - - CAN_CONFIGURE_APPLICATIONS + - CAN_VIEW_APPLICATIONS + - CAN_VIEW_EVENTS + - CAN_VIEW_INFRASTRUCTURE + - CAN_CONFIGURE_APPLICATIONS schema: $ref: '#/components/schemas/ApiRole' description: Updated role data @@ -20462,20 +21848,20 @@ paths: name: Updated Developer Role description: optional attribute members: - - userId: user-3 - email: dev1@example.com - name: Developer One - - userId: user-4 - email: dev2@example.com - name: Developer Two - - userId: user-6 - email: dev3@example.com - name: Developer Three + - userId: user-3 + email: dev1@example.com + name: Developer One + - userId: user-4 + email: dev2@example.com + name: Developer Two + - userId: user-6 + email: dev3@example.com + name: Developer Three permissions: - - CAN_VIEW_APPLICATIONS - - CAN_VIEW_EVENTS - - CAN_VIEW_INFRASTRUCTURE - - CAN_CONFIGURE_APPLICATIONS + - CAN_VIEW_APPLICATIONS + - CAN_VIEW_EVENTS + - CAN_VIEW_INFRASTRUCTURE + - CAN_CONFIGURE_APPLICATIONS schema: $ref: '#/components/schemas/ApiRole' description: OK @@ -20488,25 +21874,25 @@ paths: schema: type: string example: Modification of this group is not allowed - description: Pre-Condition Failed - Returned when attempting to modify protected + description: >- + Pre-Condition Failed - Returned when attempting to modify protected roles in a forbidden way. security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Update role tags: - - Roles - x-ibm-ahub-byok: true + - Roles /api/settings/rbac/roles/{roleId}/mappings: get: description: Retrieve IdP role mappings applicable to a specific role operationId: getRoleMappings parameters: - - in: path - name: roleId - required: true - schema: - type: string + - in: path + name: roleId + required: true + schema: + type: string responses: '200': content: @@ -20519,12 +21905,11 @@ paths: '404': description: role mapping not found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get role mappings tags: - - Roles - x-ibm-ahub-byok: true + - Roles /api/settings/rbac/teams: get: description: Retrieve all user teams for the current tenant unit. @@ -20534,96 +21919,82 @@ paths: content: application/json: example: - - id: teamId1 - tag: team1 - info: - description: Team 1 description - scope: - accessPermissions: - - CAN_CONFIGURE_APPLICATIONS - - CAN_CONFIGURE_EVENTS - restrictedApplicationFilter: null - applications: - - app-123 - - app-456 - websites: [ - ] - mobileApps: [ - ] - kubernetesClusters: - - cluster-1 - kubernetesNamespaces: [ - ] - syntheticTests: [ - ] - syntheticCredentials: [ - ] - businessPerspectives: [ - ] - tagIds: - - tag-1 - actionFilter: '' - logFilter: '' - infraDfqFilter: '' - members: - - userId: userId1 - email: username1@example.com - name: User One - roles: - - roleId: role-1 - roleName: Admin - viaIdP: false - - userId: userId2 - email: username2@example.com - name: User Two - roles: - - roleId: role-2 - roleName: Developer - viaIdP: false - - id: teamId2 - tag: team2 - info: - description: Team 2 description - scope: - accessPermissions: - - CAN_CONFIGURE_INFRASTRUCTURE - restrictedApplicationFilter: null - applications: [ - ] - websites: [ - ] - mobileApps: [ - ] - kubernetesClusters: [ - ] - kubernetesNamespaces: - - namespace-1 - syntheticTests: [ - ] - syntheticCredentials: [ - ] - businessPerspectives: [ - ] - tagIds: [ - ] - actionFilter: '' - logFilter: '' - infraDfqFilter: '' - members: - - userId: userId1 - email: username1@example.com - name: User One - roles: - - roleId: role-1 - roleName: Admin - viaIdP: false - - userId: userId3 - email: username3@example.com - name: User Three - roles: - - roleId: role-3 - roleName: Operator - viaIdP: true + - id: teamId1 + tag: team1 + info: + description: Team 1 description + scope: + accessPermissions: + - CAN_CONFIGURE_APPLICATIONS + - CAN_CONFIGURE_EVENTS + restrictedApplicationFilter: null + applications: + - app-123 + - app-456 + websites: [] + mobileApps: [] + kubernetesClusters: + - cluster-1 + kubernetesNamespaces: [] + syntheticTests: [] + syntheticCredentials: [] + businessPerspectives: [] + tagIds: + - tag-1 + actionFilter: '' + logFilter: '' + infraDfqFilter: '' + members: + - userId: userId1 + email: username1@example.com + name: User One + roles: + - roleId: role-1 + roleName: Admin + viaIdP: false + - userId: userId2 + email: username2@example.com + name: User Two + roles: + - roleId: role-2 + roleName: Developer + viaIdP: false + - id: teamId2 + tag: team2 + info: + description: Team 2 description + scope: + accessPermissions: + - CAN_CONFIGURE_INFRASTRUCTURE + restrictedApplicationFilter: null + applications: [] + websites: [] + mobileApps: [] + kubernetesClusters: [] + kubernetesNamespaces: + - namespace-1 + syntheticTests: [] + syntheticCredentials: [] + businessPerspectives: [] + tagIds: [] + actionFilter: '' + logFilter: '' + infraDfqFilter: '' + members: + - userId: userId1 + email: username1@example.com + name: User One + roles: + - roleId: role-1 + roleName: Admin + viaIdP: false + - userId: userId3 + email: username3@example.com + name: User Three + roles: + - roleId: role-3 + roleName: Operator + viaIdP: true schema: type: array items: @@ -20632,12 +22003,11 @@ paths: '404': description: No teams found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get all teams tags: - - Teams - x-ibm-ahub-byok: true + - Teams post: description: Create a new team. operationId: createTeam @@ -20652,52 +22022,49 @@ paths: '200': description: Team created successfully security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Create team tags: - - Teams - x-ibm-ahub-byok: true + - Teams /api/settings/rbac/teams/{id}: delete: description: Delete the team data. operationId: deleteTeam parameters: - - description: Id of the team to delete - example: teamId - in: path - name: id - required: true - schema: - type: string + - description: Id of the team to delete + example: teamId + in: path + name: id + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Delete team tags: - - Teams - x-ibm-ahub-byok: true + - Teams get: description: Retrieve a specific team by its ID. operationId: getTeam parameters: - - description: Id of the team for retrieval - example: teamId - in: path - name: id - required: true - schema: - type: string - - in: query - name: includeTeamUsage - schema: - type: boolean + - description: Id of the team for retrieval + example: teamId + in: path + name: id + required: true + schema: + type: string + - in: query + name: includeTeamUsage + schema: + type: boolean responses: '200': content: @@ -20709,108 +22076,75 @@ paths: description: Team responsible for application development scope: accessPermissions: - - CAN_CONFIGURE_APPLICATIONS - - CAN_CONFIGURE_EVENTS + - CAN_CONFIGURE_APPLICATIONS + - CAN_CONFIGURE_EVENTS restrictedApplicationFilter: restrictingApplicationId: app-123 applications: - - app-123 - - app-456 + - app-123 + - app-456 websites: - - website-1 + - website-1 mobileApps: - - mobile-1 + - mobile-1 kubernetesClusters: - - cluster-1 + - cluster-1 kubernetesNamespaces: - - namespace-1 + - namespace-1 syntheticTests: - - test-1 - syntheticCredentials: [ - ] + - test-1 + syntheticCredentials: [] businessPerspectives: - - bp-1 + - bp-1 tagIds: - - tag-1 - - tag-2 + - tag-1 + - tag-2 actionFilter: '' logFilter: '' infraDfqFilter: '' members: - - userId: user-1 - email: user1@example.com - name: John Doe - roles: - - roleId: role-1 - roleName: Admin - viaIdP: false - - userId: user-2 - email: user2@example.com - name: Jane Smith - roles: - - roleId: role-2 - roleName: Developer - viaIdP: false + - userId: user-1 + email: user1@example.com + name: John Doe + roles: + - roleId: role-1 + roleName: Admin + viaIdP: false + - userId: user-2 + email: user2@example.com + name: Jane Smith + roles: + - roleId: role-2 + roleName: Developer + viaIdP: false schema: $ref: '#/components/schemas/ApiTeam' description: Successfully retrieved the team '404': description: Team not found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get team by ID tags: - - Teams - x-ibm-ahub-byok: true + - Teams put: description: Update an existing team by ID. operationId: updateTeam parameters: - - description: Id of the team to update - example: teamId - in: path - name: id - required: true - schema: - type: string + - description: Id of the team to update + example: teamId + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: - example: - id: teamId - tag: teamTag - info: - description: description for the team - scope: - accessPermissions: - - LIMITED_APPLICATIONS_SCOPE - actionFilter: '' - applications: - - applicationId1 - - applicationId2 - restrictedApplicationFilter: - restrictingApplicationId: applicationId3 - label: demo - tagFilterExpression: - type: TAG_FILTER - name: service.name - operator: EQUALS - entity: DESTINATION - value: butler - scope: INCLUDE_NO_DOWNSTREAM - members: - - userId: userId - email: username@example.com - name: userName - roles: - - roleId: '-3' - roleName: Default - viaIdP: false - entities: [ - ] schema: $ref: '#/components/schemas/ApiTeam' + description: Team to update required: true responses: '200': @@ -20820,22 +22154,21 @@ paths: '404': description: Team not found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Update team tags: - - Teams - x-ibm-ahub-byok: true + - Teams /api/settings/rbac/teams/{teamId}/mappings: get: description: Retrieve IdP role mappings applicable to a specific team operationId: getTeamRoleMappings parameters: - - in: path - name: teamId - required: true - schema: - type: string + - in: path + name: teamId + required: true + schema: + type: string responses: '200': content: @@ -20848,12 +22181,11 @@ paths: '404': description: role mapping not found security: - - ApiKeyAuth: - - CanConfigureTeams + - ApiKeyAuth: + - CanConfigureTeams summary: Get team role mappings tags: - - Teams - x-ibm-ahub-byok: true + - Teams /api/settings/session: delete: description: Delete tenant unit session settings. @@ -20861,16 +22193,14 @@ paths: responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureSessionSettings + - ApiKeyAuth: + - CanConfigureSessionSettings summary: Delete session settings tags: - - Session Settings - x-ibm-ahub-byok: true + - Session Settings get: description: Get the tenant unit session settings operationId: getSessionSettings @@ -20887,12 +22217,11 @@ paths: $ref: '#/components/schemas/SessionSettings' description: OK security: - - ApiKeyAuth: - - CanConfigureSessionSettings + - ApiKeyAuth: + - CanConfigureSessionSettings summary: Get session settings tags: - - Session Settings - x-ibm-ahub-byok: true + - Session Settings put: description: Update individual tenant unit session settings. operationId: setSessionSettings @@ -20919,12 +22248,11 @@ paths: $ref: '#/components/schemas/SessionSettings' description: OK security: - - ApiKeyAuth: - - CanConfigureSessionSettings + - ApiKeyAuth: + - CanConfigureSessionSettings summary: Configure session settings tags: - - Session Settings - x-ibm-ahub-byok: true + - Session Settings /api/settings/sli: get: deprecated: true @@ -20954,12 +22282,11 @@ paths: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All SLI Configs tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings post: deprecated: true operationId: createSliConfig @@ -21004,49 +22331,46 @@ paths: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Create SLI Config tags: - - SLI Settings + - SLI Settings x-description: createSliConfiguration - x-ibm-ahub-byok: true /api/settings/sli/{id}: delete: deprecated: true operationId: deleteSliConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: Service Levels Indicator ID - example: 7iydEfqJQP6AKzd3yR3byw + - in: path + name: id + required: true + schema: + type: string + description: Service Levels Indicator ID + example: 7iydEfqJQP6AKzd3yR3byw responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Delete SLI Config tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings get: deprecated: true operationId: getSliConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: Service Levels Indicator ID - example: 3J0RDgfyQz-P_hVzbNNb4A + - in: path + name: id + required: true + schema: + type: string + description: Service Levels Indicator ID + example: 3J0RDgfyQz-P_hVzbNNb4A responses: '200': content: @@ -21070,23 +22394,22 @@ paths: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get SLI Config tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings put: deprecated: true operationId: updateSliConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: Service Levels Indicator ID - example: 3J0RDgfyQz-P_hVzbNNb4A + - in: path + name: id + required: true + schema: + type: string + description: Service Levels Indicator ID + example: 3J0RDgfyQz-P_hVzbNNb4A requestBody: content: application/json: @@ -21131,243 +22454,253 @@ paths: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Update SLI Config tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings /api/settings/slo: get: operationId: getAllSloConfigs parameters: - - in: query - name: pageSize - schema: - type: integer - format: int32 - description: Size of the Page - example: 1 - - in: query - name: page - schema: - type: integer - format: int32 - description: Page Number - example: 1 - - in: query - name: orderBy - schema: - type: string - description: Order By Value - enum: - - name - - entityType - - entityName - - blueprint - - sloStatus - - sloWindowRemain - - timeWindow - - 'null' - example: name - - in: query - name: orderDirection - schema: - type: string - description: Order Direction of the Result, it could be ascending or descending - enum: - - ASC - - DESC - example: ASC - - in: query - name: query - schema: - type: string - description: Keyword or Query which needs to be searched - example: test SLO - - in: query - name: tag - schema: - type: array - description: List of tags which needs to be searched - example: Testing - items: + - in: query + name: pageSize + schema: + type: integer + format: int32 + description: Size of the Page + example: 1 + - in: query + name: page + schema: + type: integer + format: int32 + description: Page Number + example: 1 + - in: query + name: orderBy + schema: type: string + description: Order By Value + enum: + - name + - entityType + - entityName + - blueprint + - sloStatus + - sloWindowRemain + - timeWindow + - 'null' + example: name + - in: query + name: orderDirection + schema: + type: string + description: Order Direction of the Result, it could be ascending or descending + enum: + - ASC + - DESC + example: ASC + - in: query + name: query + schema: + type: string + description: Keyword or Query which needs to be searched + example: test SLO + - in: query + name: tag + schema: + type: array description: List of tags which needs to be searched example: Testing - uniqueItems: true - - in: query - name: entityType - schema: - type: array - description: SLO Entity Type which needs to be filtered. (This filter could - occurs multiple times.) - example: application - items: - type: string - description: SLO Entity Type which needs to be filtered. (This filter - could occurs multiple times.) - enum: - - application - - website - - synthetic - - infrastructure + items: + type: string + description: List of tags which needs to be searched + example: Testing + uniqueItems: true + - in: query + name: entityType + schema: + type: array + description: >- + SLO Entity Type which needs to be filtered. (This filter could + occurs multiple times.) example: application - uniqueItems: true - - in: query - name: infraEntityTypes - schema: - type: array - description: Infrastructure Entity Type which needs to be filtered for Infrastructure - SLOs. - example: KubernetesCluster - items: - type: string - description: Infrastructure Entity Type which needs to be filtered for + items: + type: string + description: >- + SLO Entity Type which needs to be filtered. (This filter could + occurs multiple times.) + enum: + - application + - website + - synthetic + - infrastructure + - mobile + example: application + uniqueItems: true + - in: query + name: infraEntityTypes + schema: + type: array + description: >- + Infrastructure Entity Type which needs to be filtered for Infrastructure SLOs. example: KubernetesCluster - uniqueItems: true - - in: query - name: kubernetesClusterUuid - schema: - type: string - description: Kubernetes Cluster UUID which needs to be filtered for Infrastructure - SLOs with KubernetesCluster as infraType. - example: 823b8c2e-5bc3-11ee-a0f4-42010a8000ff - - in: query - name: blueprint - schema: - type: array - description: SLO blueprint Type which needs to be filtered. (This filter - could occurs multiple times.) - example: latency - items: - type: string - description: SLO blueprint Type which needs to be filtered. (This filter - could occurs multiple times.) - enum: - - latency - - availability - - traffic - - saturation - - custom + items: + type: string + description: >- + Infrastructure Entity Type which needs to be filtered for + Infrastructure SLOs. + example: KubernetesCluster + uniqueItems: true + - in: query + name: kubernetesClusterUuid + schema: + type: string + description: >- + Kubernetes Cluster UUID which needs to be filtered for + Infrastructure SLOs with KubernetesCluster as infraType. + example: 823b8c2e-5bc3-11ee-a0f4-42010a8000ff + - in: query + name: blueprint + schema: + type: array + description: >- + SLO blueprint Type which needs to be filtered. (This filter could + occurs multiple times.) example: latency - uniqueItems: true - - in: query - name: sloIds - schema: - type: array - description: List of SLO IDs for which details need to be fetched - example: SLOdCTspkHlS_OzNOATQWgsuw - items: - type: string + items: + type: string + description: >- + SLO blueprint Type which needs to be filtered. (This filter + could occurs multiple times.) + enum: + - latency + - availability + - traffic + - saturation + - custom + - advanced-custom + example: latency + uniqueItems: true + - in: query + name: sloIds + schema: + type: array description: List of SLO IDs for which details need to be fetched example: SLOdCTspkHlS_OzNOATQWgsuw - - in: query - name: sloStatus - schema: - type: string - description: Filter by the SLO status - example: green - - in: query - name: entityIds - schema: - type: array - description: List of entity IDs for which details need to be fetched - example: adsewby312sdfd1 - items: - type: string + items: + type: string + description: List of SLO IDs for which details need to be fetched + example: SLOdCTspkHlS_OzNOATQWgsuw + - in: query + name: sloStatus + schema: + type: string + description: Filter by the SLO status + example: green + - in: query + name: entityIds + schema: + type: array description: List of entity IDs for which details need to be fetched example: adsewby312sdfd1 - - in: query - name: grouped - schema: - type: boolean - description: Boolean operator which specifies if the results are grouped - example: false - - in: query - name: refresh - schema: - type: boolean - description: Boolean operator which specifies if the cache needs to be refreshed - example: false - - in: query - name: rbacTags - schema: - type: array - description: List of rbac teams tags which needs to be searched - example: Testing - items: - type: string + items: + type: string + description: List of entity IDs for which details need to be fetched + example: adsewby312sdfd1 + - in: query + name: grouped + schema: + type: boolean + description: Boolean operator which specifies if the results are grouped + example: false + - in: query + name: refresh + schema: + type: boolean + description: >- + Boolean operator which specifies if the cache needs to be + refreshed + example: false + - in: query + name: rbacTags + schema: + type: array description: List of rbac teams tags which needs to be searched example: Testing - uniqueItems: true + items: + type: string + description: List of rbac teams tags which needs to be searched + example: Testing + uniqueItems: true responses: '200': content: application/json: example: items: - - id: SLOY2KDCFExTvmsLyf4W067JQ - name: Stans test SLO 2 - target: 0.99 - lastUpdated: 1680182215442 - entity: - type: application - applicationId: VTNvC_sATZqMj4vSZfsjKA - serviceId: null - endpointId: null - boundaryScope: INBOUND - includeInternal: false - includeSynthetic: false - tagFilterExpression: null - rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 - indicator: - type: timeBased - blueprint: latency - threshold: 100 - aggregation: P90 - timeWindow: - type: rolling - duration: 1 - durationUnit: week - tags: - - Stan - - testing - - id: SLOsmbQLI8ORcuhF_L-QquFWQ - name: '[Should match no nothing test] website entity tag filter' - target: 0.9999 - lastUpdated: 1683792839372 - rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 - entity: - type: website - websiteId: XIZGGVT1TX2O-0OFeT2Yig - beaconType: httpRequest - tagFilterExpression: - type: TAG_FILTER - name: beacon.geo.country - stringValue: Moon - numberValue: null - booleanValue: null - key: null - value: Moon - operator: EQUALS - entity: NOT_APPLICABLE - indicator: - type: eventBased - blueprint: latency - threshold: 60000 - timeWindow: - type: rolling - duration: 1 - durationUnit: week - tags: - - test - - no matches + - id: SLOY2KDCFExTvmsLyf4W067JQ + name: Stans test SLO 2 + target: 0.99 + lastUpdated: 1680182215442 + entity: + type: application + applicationId: VTNvC_sATZqMj4vSZfsjKA + serviceId: null + endpointId: null + boundaryScope: INBOUND + includeInternal: false + includeSynthetic: false + tagFilterExpression: null + rbacTags: + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 + indicator: + type: timeBased + blueprint: latency + threshold: 100 + aggregation: P90 + timeWindow: + type: rolling + duration: 1 + durationUnit: week + tags: + - Stan + - testing + - id: SLOsmbQLI8ORcuhF_L-QquFWQ + name: '[Should match no nothing test] website entity tag filter' + target: 0.9999 + lastUpdated: 1683792839372 + rbacTags: + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 + entity: + type: website + websiteId: XIZGGVT1TX2O-0OFeT2Yig + beaconType: httpRequest + tagFilterExpression: + type: TAG_FILTER + name: beacon.geo.country + stringValue: Moon + numberValue: null + booleanValue: null + key: null + value: Moon + operator: EQUALS + entity: NOT_APPLICABLE + indicator: + type: eventBased + blueprint: latency + threshold: 60000 + timeWindow: + type: rolling + duration: 1 + durationUnit: week + tags: + - test + - no matches page: 1 pageSize: 10000 totalHits: 2 @@ -21375,12 +22708,11 @@ paths: $ref: '#/components/schemas/PaginatedResult' description: Fetched list of the SLO Configurations Successfully security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All SLO Configs tags: - - SLO Configurations - x-ibm-ahub-byok: true + - SLO Configurations post: operationId: createSloConfig requestBody: @@ -21390,8 +22722,8 @@ paths: name: Stans test SLO 4 target: 0.99 rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 entity: type: application applicationId: VTNvC_sATZqMj4vSZfsjKA @@ -21411,8 +22743,8 @@ paths: duration: 1 durationUnit: week tags: - - Stan - - testing + - Stan + - testing schema: $ref: '#/components/schemas/SLOConfigWithRBACTag' required: true @@ -21423,8 +22755,8 @@ paths: example: id: SLOdCTspkHlS_OzNOATQWgsuw rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 createdDate: 1680182236227 name: Stans test SLO 4 target: 0.99 @@ -21448,8 +22780,8 @@ paths: duration: 1 durationUnit: week tags: - - Stan - - testing + - Stan + - testing schema: $ref: '#/components/schemas/SLOConfigWithRBACTag' description: New SLO Configuration Created Successfully @@ -21461,117 +22793,117 @@ paths: type: string description: Invalid Tag Filter security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Create a new SLO Config tags: - - SLO Configurations + - SLO Configurations x-description: createSloConfiguration - x-ibm-ahub-byok: true /api/settings/slo/tags: get: operationId: getAllSloConfigTags parameters: - - in: query - name: query - schema: - type: string - description: Keyword or Query which needs to be searched - example: test SLO - - in: query - name: tag - schema: - type: array - description: List of tags which needs to be searched - example: Testing - items: + - in: query + name: query + schema: type: string + description: Keyword or Query which needs to be searched + example: test SLO + - in: query + name: tag + schema: + type: array description: List of tags which needs to be searched example: Testing - uniqueItems: true - - in: query - name: entityType - schema: - type: string - description: SLO Entity Type which needs to be filtered - enum: - - application - - website - - synthetic - - infrastructure - example: application - responses: - '200': - content: - application/json: - example: - - andre - - test - - testing - - drinks - - got no snacks - - timeBased - - Stan - - no matches - - availability - - Lab - - demo - - thiemo - - TimeWindow Test - - robot-shop - - eventBased - - got snacks - - migration - - robert-creates-a-new-sli + items: + type: string + description: List of tags which needs to be searched + example: Testing + uniqueItems: true + - in: query + name: entityType + schema: + type: string + description: SLO Entity Type which needs to be filtered + enum: + - application + - website + - synthetic + - infrastructure + - mobile + example: application + responses: + '200': + content: + application/json: + example: + - andre + - test + - testing + - drinks + - got no snacks + - timeBased + - Stan + - no matches + - availability + - Lab + - demo + - thiemo + - TimeWindow Test + - robot-shop + - eventBased + - got snacks + - migration + - robert-creates-a-new-sli schema: type: array items: type: string description: Fetched list of SLO Configuration tags Successfully security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All SLO Config tags tags: - - SLO Configurations - x-ibm-ahub-byok: true + - SLO Configurations /api/settings/slo/{id}: delete: operationId: deleteSloConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: Service Levels Objective Configuration ID - example: SLOdCTspkHlS_OzNOATQWgsuw + - in: path + name: id + required: true + schema: + type: string + description: Service Levels Objective Configuration ID + example: SLOdCTspkHlS_OzNOATQWgsuw responses: '204': description: SLO Configuration Deleted Successfully security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Delete an existing SLO Config tags: - - SLO Configurations - x-ibm-ahub-byok: true + - SLO Configurations get: operationId: getSloConfigById parameters: - - in: path - name: id - required: true - schema: - type: string - description: Service Levels Objective Configuration ID - example: SLOdCTspkHlS_OzNOATQWgsuw - - in: query - name: refresh - schema: - type: boolean - description: Boolean operator which specifies if the cache needs to be refreshed - example: false + - in: path + name: id + required: true + schema: + type: string + description: Service Levels Objective Configuration ID + example: SLOdCTspkHlS_OzNOATQWgsuw + - in: query + name: refresh + schema: + type: boolean + description: >- + Boolean operator which specifies if the cache needs to be + refreshed + example: false responses: '200': content: @@ -21579,8 +22911,8 @@ paths: example: id: SLOdCTspkHlS_OzNOATQWgsuw rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 createdDate: 1680182236227 name: Stans test SLO 4 target: 0.99 @@ -21604,8 +22936,8 @@ paths: duration: 1 durationUnit: week tags: - - Stan - - testing + - Stan + - testing schema: $ref: '#/components/schemas/SLOConfigWithRBACTag' description: Fetched SLO Configuration Successfully @@ -21614,27 +22946,26 @@ paths: application/json: example: errors: - - The sloConfiguration you are looking for does not exist. + - The sloConfiguration you are looking for does not exist. schema: type: string description: SLO Configuration Not Found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get an existing SLO Config tags: - - SLO Configurations - x-ibm-ahub-byok: true + - SLO Configurations put: operationId: updateSloConfig parameters: - - in: path - name: id - required: true - schema: - type: string - description: Service Levels Objective Configuration ID - example: SLOdCTspkHlS_OzNOATQWgsuw + - in: path + name: id + required: true + schema: + type: string + description: Service Levels Objective Configuration ID + example: SLOdCTspkHlS_OzNOATQWgsuw requestBody: content: application/json: @@ -21642,8 +22973,8 @@ paths: name: Stans test SLO 4 target: 0.99 rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 entity: type: application applicationId: VTNvC_sATZqMj4vSZfsjKA @@ -21663,8 +22994,8 @@ paths: duration: 1 durationUnit: week tags: - - Stan - - testing + - Stan + - testing schema: $ref: '#/components/schemas/SLOConfigWithRBACTag' required: true @@ -21675,8 +23006,8 @@ paths: example: id: SLOdCTspkHlS_OzNOATQWgsuw rbacTags: - - id: R3_hPrHXSMe0yGsnlFdReA - displayName: team 1 + - id: R3_hPrHXSMe0yGsnlFdReA + displayName: team 1 createdDate: 1680182236227 name: Stans test SLO 4 target: 0.99 @@ -21700,8 +23031,8 @@ paths: duration: 1 durationUnit: week tags: - - Stan - - testing + - Stan + - testing schema: $ref: '#/components/schemas/SLOConfigWithRBACTag' description: Updated SLO Configuration Successfully @@ -21710,51 +23041,70 @@ paths: application/json: example: errors: - - 'SloConfiguration with id: GC8r6gbZT4WIhtsMx_YgLg was not found' + - >- + SloConfiguration with id: GC8r6gbZT4WIhtsMx_YgLg was not + found schema: type: string description: Bad Request security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Update an existing SLO Config tags: - - SLO Configurations + - SLO Configurations x-description: updateSloConfiguration - x-ibm-ahub-byok: true /api/settings/synthetic-calls: delete: - description: |- - Use this API endpoint if one wants to delete all custom synthetic call configurations. + description: >- + Use this API endpoint if one wants to delete all custom synthetic call + configurations. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Synthetic Calls please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Synthetic Calls please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls. operationId: deleteSyntheticCall responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Delete synthetic call configurations tags: - - Synthetic Calls - x-ibm-ahub-byok: true + - Synthetic Calls get: - description: |- - Use this API endpoint if one wants to get all custom synthetic call configurations. + description: >- + Use this API endpoint if one wants to get all custom synthetic call + configurations. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Synthetic Calls please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Synthetic Calls please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls. operationId: getSyntheticCalls responses: '200': @@ -21764,21 +23114,30 @@ paths: $ref: '#/components/schemas/SyntheticCallWithDefaultsConfig' description: OK security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Synthetic call configurations tags: - - Synthetic Calls - x-ibm-ahub-byok: true + - Synthetic Calls put: - description: |- - Use this API endpoint if one wants to get all custom synthetic call configurations. + description: >- + Use this API endpoint if one wants to get all custom synthetic call + configurations. + This endpoint requires `CanConfigureServiceMapping` permission. - One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`. - If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token. - There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`. - For more information on Synthetic Calls please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls. + One can use `Create or update an API token` endpoint to update the + permission by setting `canConfigureServiceMapping` to `true`. + + If one wants to enable the permission from Instana UI, go to Settings -> + Security & Access -> Access Control -> API Token. + + There one can update the existing token or create a new token and set + `Customize service rules and endpoint mapping` to `true`. + + + For more information on Synthetic Calls please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls. operationId: updateSyntheticCall requestBody: content: @@ -21794,30 +23153,95 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - ConfigureServiceMapping + - ApiKeyAuth: + - ConfigureServiceMapping summary: Update synthetic call configurations tags: - - Synthetic Calls - x-ibm-ahub-byok: true + - Synthetic Calls + /api/settings/trace-sampling: + delete: + description: Deletes the trace sampling configuration for the current tenant + operationId: deleteTraceSamplingConfig + responses: + '204': + description: Trace sampling configuration deleted successfully + '401': + description: Unauthorized access - requires user authentication. + '403': + description: Insufficient permissions or limited in access. + '500': + description: Internal server error + security: + - ApiKeyAuth: + - ConfigureApplications + summary: Delete trace sampling configuration + get: + description: Retrieves the trace sampling configuration for the current tenant + operationId: getTraceSamplingConfig + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TraceSamplingConfig' + description: Trace sampling configuration retrieved successfully + '401': + description: Unauthorized access - requires user authentication. + '403': + description: Insufficient permissions or limited in access. + '500': + description: Internal server error + security: + - ApiKeyAuth: + - ConfigureApplications + summary: Get trace sampling configuration + put: + description: >- + Creates or updates the trace sampling configuration for the current + tenant + operationId: updateTraceSamplingConfig + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TraceSamplingConfig' + description: Trace sampling configuration + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TraceSamplingConfig' + description: Trace sampling configuration updated successfully + '401': + description: Unauthorized access - requires user authentication. + '403': + description: Insufficient permissions or limited in access. + '500': + description: Internal server error + security: + - ApiKeyAuth: + - ConfigureApplications + summary: Update trace sampling configuration /api/settings/users: get: - description: Retrieves all users with access to the tenant. The result will - not contain pending invitations. + description: >- + Retrieves all users with access to the tenant. The result will not + contain pending invitations. operationId: getUsers responses: '200': content: application/json: example: - - id: userId - email: username@example.com - fullName: username - lastLoggedIn: 1636434847190 - groupCount: 1 - teamNames: [ - ] - tfaEnabled: false + - id: userId + email: username@example.com + fullName: username + lastLoggedIn: 1636434847190 + groupCount: 1 + teamNames: [] + tfaEnabled: false schema: type: array items: @@ -21828,16 +23252,16 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: All users (without invitations) tags: - - User - x-ibm-ahub-byok: true + - User /api/settings/users/overview: get: - description: Retrieves all users with access to the tenant. The result will - also contain pending invitations. + description: >- + Retrieves all users with access to the tenant. The result will also + contain pending invitations. operationId: getUsersIncludingInvitations responses: '200': @@ -21845,16 +23269,16 @@ paths: application/json: example: users: - - id: userId1 - email: username@example.com - fullName: fullName - lastLoggedIn: 1699313025975 - groupCount: null - tfaEnabled: null + - id: userId1 + email: username@example.com + fullName: fullName + lastLoggedIn: 1699313025975 + groupCount: null + tfaEnabled: null invitations: - - id: userId2 - email: username2@example.com - groupId: '-3' + - id: userId2 + email: username2@example.com + groupId: '-3' schema: $ref: '#/components/schemas/UsersResult' description: OK @@ -21863,22 +23287,21 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: All users (incl. invitations) tags: - - User - x-ibm-ahub-byok: true + - User /api/settings/users/{email}: put: description: Updates the full name of the user. operationId: updateUser parameters: - - in: path - name: email - required: true - schema: - type: string + - in: path + name: email + required: true + schema: + type: string requestBody: content: application/json: @@ -21896,25 +23319,25 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: Change user name of single user tags: - - User - x-ibm-ahub-byok: true + - User /api/settings/users/{userId}: delete: - description: Remove the users access to the tenant. Removing a user from a tenant + description: >- + Remove the users access to the tenant. Removing a user from a tenant does not delete their user account. operationId: removeUserFromTenant parameters: - - description: Id of the user for removal - example: userId - in: path - name: userId - required: true - schema: - type: string + - description: Id of the user for removal + example: userId + in: path + name: userId + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -21923,24 +23346,23 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: Remove user from tenant tags: - - User - x-ibm-ahub-byok: true + - User get: description: Retrieves the user with access to the tenant. operationId: getUserById parameters: - - description: Id of the user for retrieval - example: userId - in: path - name: userId - required: true - schema: - type: string - style: simple + - description: Id of the user for retrieval + example: userId + in: path + name: userId + required: true + schema: + type: string + style: simple responses: '200': content: @@ -21956,14 +23378,12 @@ paths: timestampAcceptedPrivacyAgreement: 1696404223545 acceptedTosVersion: 6 acceptedPrivacyAgreementVersion: 9 - tenantsWhereMainContact: [ - ] - tenants: [ - ] + tenantsWhereMainContact: [] + tenants: [] createDate: 1696404196256 emailConfirmed: true tenantIds: - - 55557f97186b9c0007857730 + - 55557f97186b9c0007857730 passwordResetAttempt: 0 groupCount: null tfaEnabled: null @@ -21978,161 +23398,208 @@ paths: '403': description: Insufficient permissions or limited in access. security: - - ApiKeyAuth: - - CanConfigureUsers + - ApiKeyAuth: + - CanConfigureUsers summary: Get single user tags: - - User - x-ibm-ahub-byok: true + - User + /api/settings/users/{userId}/mappings: + get: + description: Retrieves all IdP role mappings applicable to the specified user. + operationId: getUserMappings + parameters: + - description: Id of the user + example: userId + in: path + name: userId + required: true + schema: + type: string + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/RoleMappingOverview' + description: OK + '401': + description: Unauthorized access - requires user authentication. + '403': + description: Insufficient permissions or limited in access. + security: + - ApiKeyAuth: + - CanConfigureUsers + summary: Get user role mappings + tags: + - User + /api/settings/users/{userId}/mergedPermissions: + get: + operationId: getMergedUserPermissions + parameters: + - in: path + name: userId + required: true + schema: + type: string + responses: + default: + content: + application/json: {} + description: default response + security: + - ApiKeyAuth: + - CanConfigureUsers /api/settings/v2/maintenance: get: - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: getMaintenanceConfigsV2 responses: '200': content: application/json: example: - - id: maintenanceConfigId - name: maintenanceConfig - query: entity.application.id:"anApplicationId" - scheduling: - start: 1680703219486 - duration: - amount: 2 - unit: HOURS - rrule: FREQ=DAILY;INTERVAL=1;COUNT=1 - timezoneId: UTC - type: RECURRENT - paused: false - lastUpdated: 1680703219678 - state: EXPIRED - validVersion: 1 - occurrence: - start: 1680703219000 - end: 1680710419000 - invalid: false - applicationNames: - - anApplicationName - - id: anotherMaintenanceConfigId - name: anotherMaintenanceConfig - query: entity.type:ibmz.db2 - scheduling: - start: 1680703219486 - duration: - amount: 2 - unit: HOURS - rrule: FREQ=DAILY;INTERVAL=1;COUNT=1 - timezoneId: UTC - type: RECURRENT - paused: false - lastUpdated: 1680703219678 - state: EXPIRED - validVersion: 1 - occurrence: - start: 1680703219000 - end: 1680710419000 - invalid: false - applicationNames: [ - ] - - id: '1698949644924' - name: sampleMaintenanceConfig - query: '' - scheduling: - start: 1698949644924 - duration: - amount: 2 - unit: HOURS - rrule: FREQ=WEEKLY;INTERVAL=2;BYDAY=SA;COUNT=10 - timezoneId: America/New_York - type: RECURRENT - paused: false - validVersion: 1 - tagFilterExpression: - type: EXPRESSION - logicalOperator: OR - elements: - - type: TAG_FILTER - name: synthetic.locationLabelAggregated - stringValue: us-east - numberValue: null - booleanValue: null - key: null - value: us-east - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: synthetic.syntheticType - stringValue: HTTPScript - numberValue: null - booleanValue: null - key: null - value: HTTPScript - operator: EQUALS - entity: NOT_APPLICABLE - tagFilterExpressionEnabled: true - retriggerOpenAlertsEnabled: true - lastUpdated: 1698949645163 - state: SCHEDULED - occurrence: - start: 1699122444000 - end: 1699129644000 + - id: maintenanceConfigId + name: maintenanceConfig + query: entity.application.id:"anApplicationId" + scheduling: + start: 1680703219486 + duration: + amount: 2 + unit: HOURS + rrule: FREQ=DAILY;INTERVAL=1;COUNT=1 + timezoneId: UTC + type: RECURRENT + paused: false + lastUpdated: 1680703219678 + state: EXPIRED + validVersion: 1 + occurrence: + start: 1680703219000 + end: 1680710419000 + invalid: false + applicationNames: + - anApplicationName + - id: anotherMaintenanceConfigId + name: anotherMaintenanceConfig + query: entity.type:ibmz.db2 + scheduling: + start: 1680703219486 + duration: + amount: 2 + unit: HOURS + rrule: FREQ=DAILY;INTERVAL=1;COUNT=1 + timezoneId: UTC + type: RECURRENT + paused: false + lastUpdated: 1680703219678 + state: EXPIRED + validVersion: 1 + occurrence: + start: 1680703219000 + end: 1680710419000 + invalid: false + applicationNames: [] + - id: '1698949644924' + name: sampleMaintenanceConfig + query: '' + scheduling: + start: 1698949644924 + duration: + amount: 2 + unit: HOURS + rrule: FREQ=WEEKLY;INTERVAL=2;BYDAY=SA;COUNT=10 + timezoneId: America/New_York + type: RECURRENT + paused: false + validVersion: 1 + tagFilterExpression: + type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: synthetic.locationLabelAggregated + stringValue: us-east + numberValue: null + booleanValue: null + key: null + value: us-east + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: synthetic.syntheticType + stringValue: HTTPScript + numberValue: null + booleanValue: null + key: null + value: HTTPScript + operator: EQUALS + entity: NOT_APPLICABLE + tagFilterExpressionEnabled: true + retriggerOpenAlertsEnabled: true + lastUpdated: 1698949645163 + state: SCHEDULED + occurrence: + start: 1699122444000 + end: 1699129644000 schema: type: array items: - $ref: '#/components/schemas/ValidatedMaintenanceConfigV2WithStateAndOccurrence' + $ref: >- + #/components/schemas/ValidatedMaintenanceConfigV2WithStateAndOccurrence description: OK security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: All maintenance configurations tags: - - Maintenance Configuration + - Maintenance Configuration x-description: getMaintenanceConfigs - x-ibm-ahub-byok: true /api/settings/v2/maintenance/{id}: delete: - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: deleteMaintenanceConfigV2 parameters: - - description: Id of the Maintenance Window configuration to delete. - example: 8924aa6b - in: path - name: id - required: true - schema: - type: string + - description: Id of the Maintenance Window configuration to delete. + example: 8924aa6b + in: path + name: id + required: true + schema: + type: string responses: default: content: - application/json: { - } + application/json: {} description: default response security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Delete maintenance configuration tags: - - Maintenance Configuration + - Maintenance Configuration x-description: deleteMaintenanceConfig - x-ibm-ahub-byok: true get: - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: getMaintenanceConfigV2 parameters: - - description: Id of the Maintenance Window Configuration to get. - example: 8924aa6b - in: path - name: id - required: true - schema: - type: string + - description: Id of the Maintenance Window Configuration to get. + example: 8924aa6b + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -22158,26 +23625,26 @@ paths: $ref: '#/components/schemas/MaintenanceConfigV2WithStateAndOccurrence' description: OK security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Get maintenance configuration tags: - - Maintenance Configuration + - Maintenance Configuration x-description: getMaintenanceConfig - x-ibm-ahub-byok: true put: - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: putMaintenanceConfigV2 parameters: - - description: Id of the Maintenance Window configuration to update. - example: 8924aa6b - in: path - name: id - required: true - schema: - type: string + - description: Id of the Maintenance Window configuration to update. + example: 8924aa6b + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -22195,34 +23662,34 @@ paths: query: '' scheduling: start: 1698938631036 - duration: - amount: 2 - unit: HOURS - type: ONE_TIME - paused: false - validVersion: 1 - tagFilterExpression: - type: EXPRESSION - logicalOperator: OR - elements: - - type: TAG_FILTER - name: synthetic.locationLabelAggregated - stringValue: us-east - numberValue: null - booleanValue: null - key: null - value: us-east - operator: EQUALS - entity: NOT_APPLICABLE - - type: TAG_FILTER - name: synthetic.syntheticType - stringValue: HTTPScript - numberValue: null - booleanValue: null - key: null - value: HTTPScript - operator: EQUALS - entity: NOT_APPLICABLE + duration: + amount: 2 + unit: HOURS + type: ONE_TIME + paused: false + validVersion: 1 + tagFilterExpression: + type: EXPRESSION + logicalOperator: OR + elements: + - type: TAG_FILTER + name: synthetic.locationLabelAggregated + stringValue: us-east + numberValue: null + booleanValue: null + key: null + value: us-east + operator: EQUALS + entity: NOT_APPLICABLE + - type: TAG_FILTER + name: synthetic.syntheticType + stringValue: HTTPScript + numberValue: null + booleanValue: null + key: null + value: HTTPScript + operator: EQUALS + entity: NOT_APPLICABLE tagFilterExpressionEnabled: true retriggerOpenAlertsEnabled: true lastUpdated: 1698938631408 @@ -22230,39 +23697,42 @@ paths: occurrence: start: 1698938631036 end: 1698945831036 - description: Maintenance config has been created or updated, and successfully + description: >- + Maintenance config has been created or updated, and successfully scheduled immediately if needed '202': - description: Maintenance config has been created or updated, but could not - to be scheduled immediately. It will therefore be scheduled during the + description: >- + Maintenance config has been created or updated, but could not to be + scheduled immediately. It will therefore be scheduled during the next auto-refresh with a delay of up to 4 minutes. '400': description: The provided maintenance configuration is invalid. '422': - description: The provided maintenance configuration is incomplete or cannot - be processed. + description: >- + The provided maintenance configuration is incomplete or cannot be + processed. security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Create or update maintenance configuration tags: - - Maintenance Configuration + - Maintenance Configuration x-description: putMaintenanceConfig - x-ibm-ahub-byok: true /api/settings/v2/maintenance/{id}/pause: put: - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: pauseRecurrentMaintenanceConfiguration parameters: - - description: Id of the Maintenance Window configuration to pause. - example: 8924aa6b - in: path - name: id - required: true - schema: - type: string + - description: Id of the Maintenance Window configuration to pause. + example: 8924aa6b + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -22288,27 +23758,27 @@ paths: $ref: '#/components/schemas/MaintenanceConfigV2WithStateAndOccurrence' description: OK security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Pause maintenance configuration tags: - - Maintenance Configuration + - Maintenance Configuration x-description: pauseMaintenanceConfig - x-ibm-ahub-byok: true /api/settings/v2/maintenance/{id}/resume: put: - description: |2- + description: >- - For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. + For more information on Maintenance Configurations please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations. operationId: resumeRecurrentMaintenanceConfiguration parameters: - - description: Id of the Maintenance Window configuration to resume. - example: 8924aa6b - in: path - name: id - required: true - schema: - type: string + - description: Id of the Maintenance Window configuration to resume. + example: 8924aa6b + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -22334,13 +23804,12 @@ paths: $ref: '#/components/schemas/MaintenanceConfigV2WithStateAndOccurrence' description: OK security: - - ApiKeyAuth: - - CanConfigureMaintenanceWindows + - ApiKeyAuth: + - CanConfigureMaintenanceWindows summary: Resume maintenance configuration tags: - - Maintenance Configuration + - Maintenance Configuration x-description: resumeMaintenanceConfig - x-ibm-ahub-byok: true /api/settings/v2/sli: get: operationId: getAllSliConfigsV2 @@ -22349,32 +23818,31 @@ paths: content: application/json: example: - - id: T0yCMBR4G - sliName: Siva SLI test - initialEvaluationTimestamp: 1637758860000 - metricConfiguration: - metricName: latency - metricAggregation: P90 - threshold: 100.0 - sliEntity: - sliType: application - applicationId: 1qvXgVfLTNqi8gGTcCaNUw - serviceId: 6097d596c3d9024034b3d03b2b5c43acea65e5a4 - endpointId: oETFj2WyPusvXgRW_181J3fH_t8 - boundaryScope: INBOUND - lastUpdated: 1637758839104 + - id: T0yCMBR4G + sliName: Siva SLI test + initialEvaluationTimestamp: 1637758860000 + metricConfiguration: + metricName: latency + metricAggregation: P90 + threshold: 100 + sliEntity: + sliType: application + applicationId: 1qvXgVfLTNqi8gGTcCaNUw + serviceId: 6097d596c3d9024034b3d03b2b5c43acea65e5a4 + endpointId: oETFj2WyPusvXgRW_181J3fH_t8 + boundaryScope: INBOUND + lastUpdated: 1637758839104 schema: type: array items: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get All SLI Configs tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings post: operationId: createSliConfigV2 requestBody: @@ -22432,114 +23900,111 @@ paths: type: string description: Unprocessable Entity security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Create SLI Config tags: - - SLI Settings + - SLI Settings x-description: createSliConfiguration - x-ibm-ahub-byok: true /api/settings/v2/sli/{entityType}/{entityId}: get: operationId: getSliConfigsForEntityTypeAndIdV2 parameters: - - description: Type of the Entity, whether it is an application or website - in: path - name: entityType - required: true - schema: - type: string - enum: - - APPLICATION - - WEBSITE - - description: Unique ID of the Entity - example: DkPX-x9VQuKBKopuilrkYw - in: path - name: entityId - required: true - schema: - type: string + - description: Type of the Entity, whether it is an application or website + in: path + name: entityType + required: true + schema: + type: string + enum: + - APPLICATION + - WEBSITE + - description: Unique ID of the Entity + example: DkPX-x9VQuKBKopuilrkYw + in: path + name: entityId + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: HXcNRWhDSWiZs3HiUAKr7g - sliName: turbo time 1 - initialEvaluationTimestamp: 1648133520000 - metricConfiguration: - metricName: latency - metricAggregation: P90 - threshold: 300.0 - sliEntity: - sliType: application - applicationId: 1qvXgVfLTNqi8gGTcCaNUw - serviceId: null - endpointId: null - boundaryScope: INBOUND - lastUpdated: 1648133508938 + - id: HXcNRWhDSWiZs3HiUAKr7g + sliName: turbo time 1 + initialEvaluationTimestamp: 1648133520000 + metricConfiguration: + metricName: latency + metricAggregation: P90 + threshold: 300 + sliEntity: + sliType: application + applicationId: 1qvXgVfLTNqi8gGTcCaNUw + serviceId: null + endpointId: null + boundaryScope: INBOUND + lastUpdated: 1648133508938 schema: type: array items: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all SLI configs for entity type and entity id tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings /api/settings/v2/sli/{id}: delete: operationId: deleteSliConfigV2 parameters: - - description: ID of the Service Level Indicator (SLI) - example: HXcNRWhDSWiZs3HiUAKr7g - in: path - name: id - required: true - schema: - type: string + - description: ID of the Service Level Indicator (SLI) + example: HXcNRWhDSWiZs3HiUAKr7g + in: path + name: id + required: true + schema: + type: string responses: '204': description: SLI Configuration Deleted Successfully security: - - ApiKeyAuth: - - canConfigureServiceLevels + - ApiKeyAuth: + - canConfigureServiceLevels summary: Delete SLI Config tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings get: operationId: getSliConfigV2 parameters: - - description: ID of the Service Level Indicator (SLI) - example: HXcNRWhDSWiZs3HiUAKr7g - in: path - name: id - required: true - schema: - type: string + - description: ID of the Service Level Indicator (SLI) + example: HXcNRWhDSWiZs3HiUAKr7g + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: example: - - id: HXcNRWhDSWiZs3HiUAKr7g - sliName: turbo time 1 - initialEvaluationTimestamp: 1648133520000 - metricConfiguration: - metricName: latency - metricAggregation: P90 - threshold: 300.0 - sliEntity: - sliType: application - applicationId: 1qvXgVfLTNqi8gGTcCaNUw - serviceId: null - endpointId: null - boundaryScope: INBOUND - lastUpdated: 1648133508938 + - id: HXcNRWhDSWiZs3HiUAKr7g + sliName: turbo time 1 + initialEvaluationTimestamp: 1648133520000 + metricConfiguration: + metricName: latency + metricAggregation: P90 + threshold: 300 + sliEntity: + sliType: application + applicationId: 1qvXgVfLTNqi8gGTcCaNUw + serviceId: null + endpointId: null + boundaryScope: INBOUND + lastUpdated: 1648133508938 schema: $ref: '#/components/schemas/SliConfigurationWithLastUpdated' description: OK @@ -22548,52 +24013,51 @@ paths: application/json: example: errors: - - The SLI Configuration you are looking for does not exist. + - The SLI Configuration you are looking for does not exist. schema: type: string description: SLI Configuration Not Found security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get SLI Config tags: - - SLI Settings - x-ibm-ahub-byok: true + - SLI Settings /api/sli/report/{sliId}: get: operationId: getSli parameters: - - description: ID of the Service Level Indicator (SLI) - example: nCtEoR6NSPqG61QkIkwwCw - in: path - name: sliId - required: true - schema: - type: string - - description: Target SLO - example: 0.99 - in: query - name: slo - required: true - schema: - type: number - format: double - - description: From Timestamp in milliseconds (13-digit) - example: 1706713140000 - in: query - name: from - required: true - schema: - type: integer - format: int64 - - description: To Timestamp in milliseconds (13-digit) - example: 1706713140000 - in: query - name: to - required: true - schema: - type: integer - format: int64 + - description: ID of the Service Level Indicator (SLI) + example: nCtEoR6NSPqG61QkIkwwCw + in: path + name: sliId + required: true + schema: + type: string + - description: Target SLO + example: 0.99 + in: query + name: slo + required: true + schema: + type: number + format: double + - description: From Timestamp in milliseconds (13-digit) + example: 1706713140000 + in: query + name: from + required: true + schema: + type: integer + format: int64 + - description: To Timestamp in milliseconds (13-digit) + example: 1706713140000 + in: query + name: to + required: true + schema: + type: integer + format: int64 responses: '200': content: @@ -22616,37 +24080,40 @@ paths: application/json: example: errors: - - There is no SLI configuration for the given ID or the report hasn't - been generated yet. + - >- + There is no SLI configuration for the given ID or the report + hasn't been generated yet. schema: type: array items: type: string - description: There is no SLI configuration for the given ID or the report - hasn't been generated yet. - security: - - ApiKeyAuth: - - Default - summary: 'Generate SLI report (Limitation: the Classic Edition API report can - be available one hour after the SLI configuration created; other editions - are around one minute.)' - tags: - - SLI Report - x-ibm-ahub-byok: true + description: >- + There is no SLI configuration for the given ID or the report hasn't + been generated yet. + security: + - ApiKeyAuth: + - Default + summary: >- + Generate SLI report (Limitation: the Classic Edition API report can be + available one hour after the SLI configuration created; other editions + are around one minute.) + tags: + - SLI Report /api/slo/catalog/metrics/mobile: get: - description: API request to get mobile app SLI metric catalog filtered by golden + description: >- + API request to get mobile app SLI metric catalog filtered by golden signal and beacon type. operationId: getMobileAppSliMetricCatalog parameters: - - in: query - name: sloBlueprint - schema: - type: string - - in: query - name: beaconType - schema: - type: string + - in: query + name: sloBlueprint + schema: + type: string + - in: query + name: beaconType + schema: + type: string responses: '200': content: @@ -22753,437 +24220,421 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Mobile app SLI metric catalog tags: - - SLO Catalog for Mobile App - x-ibm-ahub-byok: true + - SLO Catalog for Mobile App /api/slo/catalog/tags/mobile: get: operationId: getMobileAppSloTagCatalog parameters: - - in: query - name: beaconType - schema: - type: string + - in: query + name: beaconType + schema: + type: string responses: '200': content: application/json: example: tagTree: - - label: Commonly Used - description: null - icon: null - children: - - label: HTTP Call URL - description: The fully qualified URL of the executed HTTP request. - tagName: mobileBeacon.http.url - type: TAG - scoreBoost: 10 - type: LEVEL - queryable: false - - label: HTTP - description: null - icon: null - children: - - label: URL - description: The fully qualified URL of the executed HTTP request. - tagName: mobileBeacon.http.url - type: TAG - - label: Origin - description: The URL path of the executed HTTP request, i.e., - the combination of scheme, host and (optionally) port. - tagName: mobileBeacon.http.origin - type: TAG - - label: Path - description: The URL path of the executed HTTP request. - tagName: mobileBeacon.http.path - type: TAG - - label: Method - description: The HTTP method used for the request (e.g., GET, - POST, PUT, DELETE) - tagName: mobileBeacon.http.method - type: TAG - - label: Status Code - description: The HTTP status code returned by the server in response - to the mobile app's request - tagName: mobileBeacon.http.status - type: TAG - - label: Backend Trace ID - description: Unique identifier that connects the mobile app beacon - with backend traces - tagName: mobileBeacon.backend.traceId - type: TAG - - label: HTTP Headers - description: HTTP Headers collected via our Mobile App agent. - tagName: mobileBeacon.http.headers - type: TAG - - label: Cache + - label: Commonly Used + description: null + icon: null + children: + - label: HTTP Call URL + description: The fully qualified URL of the executed HTTP request. + tagName: mobileBeacon.http.url + type: TAG + scoreBoost: 10 + type: LEVEL + queryable: false + - label: HTTP description: null icon: null children: - - label: Encoded Body Size - description: The size in bytes of a response body, e.g. HTTP - entity or cache retrieval, with any content-encoding, e.g. - gzip, still applied. - tagName: mobileBeacon.http.encodedBodySize - type: TAG - - label: Decoded Body Size - description: The size in bytes of a response body, e.g. HTTP - entity or cache retrieval, after content decoding, e.g. after - decompression. - tagName: mobileBeacon.http.decodedBodySize - type: TAG - - label: Transfer Size - description: The size in bytes of HTTP responses. - tagName: mobileBeacon.http.transferSize - type: TAG + - label: URL + description: The fully qualified URL of the executed HTTP request. + tagName: mobileBeacon.http.url + type: TAG + - label: Origin + description: >- + The URL path of the executed HTTP request, i.e., the + combination of scheme, host and (optionally) port. + tagName: mobileBeacon.http.origin + type: TAG + - label: Path + description: The URL path of the executed HTTP request. + tagName: mobileBeacon.http.path + type: TAG + - label: Method + description: >- + The HTTP method used for the request (e.g., GET, POST, + PUT, DELETE) + tagName: mobileBeacon.http.method + type: TAG + - label: Status Code + description: >- + The HTTP status code returned by the server in + response to the mobile app's request + tagName: mobileBeacon.http.status + type: TAG + - label: Backend Trace ID + description: >- + Unique identifier that connects the mobile app beacon + with backend traces + tagName: mobileBeacon.backend.traceId + type: TAG + - label: HTTP Headers + description: HTTP Headers collected via our Mobile App agent. + tagName: mobileBeacon.http.headers + type: TAG + - label: Cache + description: null + icon: null + children: + - label: Encoded Body Size + description: >- + The size in bytes of a response body, e.g. HTTP + entity or cache retrieval, with any + content-encoding, e.g. gzip, still applied. + tagName: mobileBeacon.http.encodedBodySize + type: TAG + - label: Decoded Body Size + description: >- + The size in bytes of a response body, e.g. HTTP + entity or cache retrieval, after content decoding, + e.g. after decompression. + tagName: mobileBeacon.http.decodedBodySize + type: TAG + - label: Transfer Size + description: The size in bytes of HTTP responses. + tagName: mobileBeacon.http.transferSize + type: TAG + scoreBoost: null + type: LEVEL + queryable: false scoreBoost: null type: LEVEL queryable: false - scoreBoost: null - type: LEVEL - queryable: false - - label: Error - description: null - icon: null - children: - - label: Error Count - description: The number of errors recorded for a single beacon. - tagName: mobileBeacon.error.count - type: TAG - - label: Erroneous - description: Whether or not a beacon has an error count > 0. - tagName: mobileBeacon.erroneous - type: TAG - - label: ID - description: A hash over a subset of the error properties. - tagName: mobileBeacon.error.id - type: TAG - - label: Error Type - description: The type or classification of the error that occurred - in the mobile app - tagName: mobileBeacon.error.type - type: TAG - - label: Error Message - description: The detailed error message describing what went wrong - in the mobile app - tagName: mobileBeacon.error.message - type: TAG - - label: Stack Trace + - label: Error description: null icon: null children: - - label: Stack Trace - description: The stack trace of errors passed to our reportEvent - API. - tagName: mobileBeacon.stackTrace - type: TAG + - label: Error Count + description: The number of errors recorded for a single beacon. + tagName: mobileBeacon.error.count + type: TAG + - label: Erroneous + description: Whether or not a beacon has an error count > 0. + tagName: mobileBeacon.erroneous + type: TAG + - label: ID + description: A hash over a subset of the error properties. + tagName: mobileBeacon.error.id + type: TAG + - label: Error Type + description: >- + The type or classification of the error that occurred + in the mobile app + tagName: mobileBeacon.error.type + type: TAG + - label: Error Message + description: >- + The detailed error message describing what went wrong + in the mobile app + tagName: mobileBeacon.error.message + type: TAG + - label: Stack Trace + description: null + icon: null + children: + - label: Stack Trace + description: >- + The stack trace of errors passed to our + reportEvent API. + tagName: mobileBeacon.stackTrace + type: TAG + scoreBoost: null + type: LEVEL + queryable: false scoreBoost: null type: LEVEL queryable: false - scoreBoost: null - type: LEVEL - queryable: false tags: - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.status - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - status - name: mobileBeacon.http.status - type: STRING - aliases: [ - ] - label: Status Code - description: The HTTP status code returned by the server in response - to the mobile app's request - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.error.type - availability: [ - ] - idTag: false - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - error - - type - name: mobileBeacon.error.type - type: STRING - aliases: [ - ] - label: Error Type - description: The type or classification of the error that occurred - in the mobile app - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.origin - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - origin - name: mobileBeacon.http.origin - type: STRING - aliases: [ - ] - label: Origin - description: The URL path of the executed HTTP request, i.e., the - combination of scheme, host and (optionally) port. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.method - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - method - name: mobileBeacon.http.method - type: STRING - aliases: [ - ] - label: Method - description: The HTTP method used for the request (e.g., GET, POST, - PUT, DELETE) - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.error.id - availability: [ - ] - idTag: true - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - error - - id - name: mobileBeacon.error.id - type: STRING - aliases: [ - ] - label: ID - description: A hash over a subset of the error properties. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.path - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - path - name: mobileBeacon.http.path - type: STRING - aliases: [ - ] - label: Path - description: The URL path of the executed HTTP request. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.stackTrace - availability: [ - ] - idTag: false - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - stackTrace - name: mobileBeacon.stackTrace - type: STRING - aliases: [ - ] - label: Stack Trace - description: The stack trace of errors passed to our reportEvent - API. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.transferSize - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - transferSize - name: mobileBeacon.http.transferSize - type: NUMBER - aliases: [ - ] - label: Transfer Size - description: The size in bytes of HTTP responses. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.backend.traceId - availability: [ - ] - idTag: true - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - backend - - traceId - name: mobileBeacon.backend.traceId - type: STRING - aliases: [ - ] - label: Backend Trace ID - description: Unique identifier that connects the mobile app beacon - with backend traces - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.headers - availability: [ - ] - idTag: false - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - http - - headers - name: mobileBeacon.http.headers - type: KEY_VALUE_PAIR - aliases: [ - ] - label: HTTP Headers - description: HTTP Headers collected via our Mobile App agent. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.error.count - availability: [ - ] - idTag: false - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - error - - count - name: mobileBeacon.error.count - type: NUMBER - aliases: [ - ] - label: Error Count - description: The number of errors recorded for a single beacon. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.encodedBodySize - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - encodedBodySize - name: mobileBeacon.http.encodedBodySize - type: NUMBER - aliases: [ - ] - label: Encoded Body Size - description: The size in bytes of a response body, e.g. HTTP entity - or cache retrieval, with any content-encoding, e.g. gzip, still - applied. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.url - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - url - name: mobileBeacon.http.url - type: STRING - aliases: [ - ] - label: URL - description: The fully qualified URL of the executed HTTP request. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.erroneous - availability: [ - ] - idTag: false - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - erroneous - name: mobileBeacon.erroneous - type: BOOLEAN - aliases: [ - ] - label: Erroneous - description: Whether or not a beacon has an error count > 0. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.http.decodedBodySize - availability: [ - ] - idTag: false - level1: Mobile - level2: HTTP - namePartsWithoutCategory: - - mobileBeacon - - http - - decodedBodySize - name: mobileBeacon.http.decodedBodySize - type: NUMBER - aliases: [ - ] - label: Decoded Body Size - description: The size in bytes of a response body, e.g. HTTP entity - or cache retrieval, after content decoding, e.g. after decompression. - - canApplyToDestination: false - canApplyToSource: false - nameWithoutCategory: mobileBeacon.error.message - availability: [ - ] - idTag: false - level1: Mobile - level2: null - namePartsWithoutCategory: - - mobileBeacon - - error - - message - name: mobileBeacon.error.message - type: STRING - aliases: [ - ] - label: Error Message - description: The detailed error message describing what went wrong - in the mobile app + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.status + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - status + name: mobileBeacon.http.status + type: STRING + aliases: [] + label: Status Code + description: >- + The HTTP status code returned by the server in response to + the mobile app's request + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.error.type + availability: [] + idTag: false + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - error + - type + name: mobileBeacon.error.type + type: STRING + aliases: [] + label: Error Type + description: >- + The type or classification of the error that occurred in + the mobile app + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.origin + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - origin + name: mobileBeacon.http.origin + type: STRING + aliases: [] + label: Origin + description: >- + The URL path of the executed HTTP request, i.e., the + combination of scheme, host and (optionally) port. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.method + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - method + name: mobileBeacon.http.method + type: STRING + aliases: [] + label: Method + description: >- + The HTTP method used for the request (e.g., GET, POST, + PUT, DELETE) + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.error.id + availability: [] + idTag: true + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - error + - id + name: mobileBeacon.error.id + type: STRING + aliases: [] + label: ID + description: A hash over a subset of the error properties. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.path + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - path + name: mobileBeacon.http.path + type: STRING + aliases: [] + label: Path + description: The URL path of the executed HTTP request. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.stackTrace + availability: [] + idTag: false + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - stackTrace + name: mobileBeacon.stackTrace + type: STRING + aliases: [] + label: Stack Trace + description: The stack trace of errors passed to our reportEvent API. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.transferSize + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - transferSize + name: mobileBeacon.http.transferSize + type: NUMBER + aliases: [] + label: Transfer Size + description: The size in bytes of HTTP responses. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.backend.traceId + availability: [] + idTag: true + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - backend + - traceId + name: mobileBeacon.backend.traceId + type: STRING + aliases: [] + label: Backend Trace ID + description: >- + Unique identifier that connects the mobile app beacon with + backend traces + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.headers + availability: [] + idTag: false + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - http + - headers + name: mobileBeacon.http.headers + type: KEY_VALUE_PAIR + aliases: [] + label: HTTP Headers + description: HTTP Headers collected via our Mobile App agent. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.error.count + availability: [] + idTag: false + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - error + - count + name: mobileBeacon.error.count + type: NUMBER + aliases: [] + label: Error Count + description: The number of errors recorded for a single beacon. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.encodedBodySize + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - encodedBodySize + name: mobileBeacon.http.encodedBodySize + type: NUMBER + aliases: [] + label: Encoded Body Size + description: >- + The size in bytes of a response body, e.g. HTTP entity or + cache retrieval, with any content-encoding, e.g. gzip, + still applied. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.url + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - url + name: mobileBeacon.http.url + type: STRING + aliases: [] + label: URL + description: The fully qualified URL of the executed HTTP request. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.erroneous + availability: [] + idTag: false + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - erroneous + name: mobileBeacon.erroneous + type: BOOLEAN + aliases: [] + label: Erroneous + description: Whether or not a beacon has an error count > 0. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.http.decodedBodySize + availability: [] + idTag: false + level1: Mobile + level2: HTTP + namePartsWithoutCategory: + - mobileBeacon + - http + - decodedBodySize + name: mobileBeacon.http.decodedBodySize + type: NUMBER + aliases: [] + label: Decoded Body Size + description: >- + The size in bytes of a response body, e.g. HTTP entity or + cache retrieval, after content decoding, e.g. after + decompression. + - canApplyToDestination: false + canApplyToSource: false + nameWithoutCategory: mobileBeacon.error.message + availability: [] + idTag: false + level1: Mobile + level2: null + namePartsWithoutCategory: + - mobileBeacon + - error + - message + name: mobileBeacon.error.message + type: STRING + aliases: [] + label: Error Message + description: >- + The detailed error message describing what went wrong in + the mobile app schema: $ref: '#/components/schemas/TagCatalog' description: OK @@ -23194,70 +24645,68 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get mobile app monitoring tag catalog for Mobile App SLOs tags: - - SLO Catalog for Mobile App + - SLO Catalog for Mobile App x-description: getMobileAppSloTagCatalog - x-ibm-ahub-byok: true /api/slo/correction: get: operationId: getSloCorrection parameters: - - in: query - name: sloId - schema: - type: array - description: List of SLO IDs for which Correction Windows needs to be fetched - example: SLOdCTspkHlS_OzNOATQWgsuw - items: - type: string - description: List of SLO IDs for which Correction Windows needs to be - fetched + - in: query + name: sloId + schema: + type: array + description: List of SLO IDs for which Correction Windows needs to be fetched example: SLOdCTspkHlS_OzNOATQWgsuw - uniqueItems: true - - description: IDs of Correction Configurations to be Excluded from the result - example: N1Xj6q8QTZu_cfJOGqy4mg - in: query - name: excludeCorrectionId - schema: - type: array - items: - type: string - uniqueItems: true - - description: IDs of Correction Configurations to be Included in the result - example: uvP7Z03pSUuybDT8-WHLDA - in: query - name: includeCorrectionId - schema: - type: array - items: - type: string - uniqueItems: true - - in: query - name: tags - schema: - type: array - items: - type: string - uniqueItems: true - - description: Correction starting timestamp in milliseconds (13-digit) - example: 1706713140000 - in: query - name: from - required: true - schema: - type: integer - format: int64 - - description: Correction ending timestamp in milliseconds (13-digit) - example: 1706713140000 - in: query - name: to - required: true - schema: - type: integer - format: int64 + items: + type: string + description: List of SLO IDs for which Correction Windows needs to be fetched + example: SLOdCTspkHlS_OzNOATQWgsuw + uniqueItems: true + - description: IDs of Correction Configurations to be Excluded from the result + example: N1Xj6q8QTZu_cfJOGqy4mg + in: query + name: excludeCorrectionId + schema: + type: array + items: + type: string + uniqueItems: true + - description: IDs of Correction Configurations to be Included in the result + example: uvP7Z03pSUuybDT8-WHLDA + in: query + name: includeCorrectionId + schema: + type: array + items: + type: string + uniqueItems: true + - in: query + name: tags + schema: + type: array + items: + type: string + uniqueItems: true + - description: Correction starting timestamp in milliseconds (13-digit) + example: 1706713140000 + in: query + name: from + required: true + schema: + type: integer + format: int64 + - description: Correction ending timestamp in milliseconds (13-digit) + example: 1706713140000 + in: query + name: to + required: true + schema: + type: integer + format: int64 responses: '200': content: @@ -23266,51 +24715,50 @@ paths: from: 1750125600000 to: 1750176418243 correctionWindows: - - from: 1750165200000 - to: 1750176418243 - correctionConfigs: - - CpCe85NeQC2xOKXQluC30g - sloConfigs: - - SLOwfOpxuCJQjauS2IeHDUpAw - - from: 1750158000000 - to: 1750176418243 - correctionConfigs: - - p9kWax0uS7K2Who1WegsSg - sloConfigs: - - SLOffwtrVkfRmCjOZbdv3Ls9g - - from: 1750150800000 - to: 1750165200000 - correctionConfigs: - - uvP7Z03pSUuybDT8-WHLDA - sloConfigs: - - SLOukNGcoooQlev1z7aqONkIg - - from: 1750125600000 - to: 1750136400000 - correctionConfigs: + - from: 1750165200000 + to: 1750176418243 + correctionConfigs: + - CpCe85NeQC2xOKXQluC30g + sloConfigs: + - SLOwfOpxuCJQjauS2IeHDUpAw + - from: 1750158000000 + to: 1750176418243 + correctionConfigs: + - p9kWax0uS7K2Who1WegsSg + sloConfigs: + - SLOffwtrVkfRmCjOZbdv3Ls9g + - from: 1750150800000 + to: 1750165200000 + correctionConfigs: + - uvP7Z03pSUuybDT8-WHLDA + sloConfigs: + - SLOukNGcoooQlev1z7aqONkIg + - from: 1750125600000 + to: 1750136400000 + correctionConfigs: + - S8rHrE93Rz2TXScTjBw1eg + sloConfigs: + - SLO4s-fs-GuT56c3v4KzQKBuQ + - from: 1750172400000 + to: 1750176418243 + correctionConfigs: + - 9Uf9TtvVRgOIMR0DkLB2Ng + sloConfigs: [] + - from: 1750125600000 + to: 1750136400000 + correctionConfigs: + - 96MtLg5zRP-lmT4WOUE3Yg + sloConfigs: + - SLO4s-fs-GuT56c3v4KzQKBuQ + activeCorrectionConfigIds: - S8rHrE93Rz2TXScTjBw1eg - sloConfigs: - - SLO4s-fs-GuT56c3v4KzQKBuQ - - from: 1750172400000 - to: 1750176418243 - correctionConfigs: + - uvP7Z03pSUuybDT8-WHLDA + - CpCe85NeQC2xOKXQluC30g - 9Uf9TtvVRgOIMR0DkLB2Ng - sloConfigs: [ - ] - - from: 1750125600000 - to: 1750136400000 - correctionConfigs: - 96MtLg5zRP-lmT4WOUE3Yg - sloConfigs: - - SLO4s-fs-GuT56c3v4KzQKBuQ - activeCorrectionConfigIds: - - S8rHrE93Rz2TXScTjBw1eg - - uvP7Z03pSUuybDT8-WHLDA - - CpCe85NeQC2xOKXQluC30g - - 9Uf9TtvVRgOIMR0DkLB2Ng - - 96MtLg5zRP-lmT4WOUE3Yg - - p9kWax0uS7K2Who1WegsSg + - p9kWax0uS7K2Who1WegsSg inActiveCorrectionConfigIds: - - nNMSbRwFQEKoQ1Wj0BCWcg + - nNMSbRwFQEKoQ1Wj0BCWcg schema: type: array items: @@ -23321,80 +24769,83 @@ paths: application/json: example: errors: - - No SLO Correction Windows found for the given parameters in this - time range + - >- + No SLO Correction Windows found for the given parameters in + this time range schema: type: array items: type: string - description: No SLO Correction Windows found for the given parameters in - this time range + description: >- + No SLO Correction Windows found for the given parameters in this + time range security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Generate SLO Correction Windows tags: - - SLO Correction Windows - x-ibm-ahub-byok: true + - SLO Correction Windows /api/slo/entities/{sloId}: get: operationId: entitiesSlo parameters: - - description: Service Levels Objective(SLO) Configuration ID - example: SLOEANnWh9tQOa2h88kGxK6wQ - in: path - name: sloId - required: true - schema: - type: string - - description: Size of the time window in which the monitored entities must - be fetched, specified in milliseconds. If not provided or set to 0, the - default value of 3600000 milliseconds (1 hour) is used. - example: 360000 - in: query - name: windowSize - schema: - type: integer - format: int64 - - description: Ending point for the data retrieval, specified as a 13-digit - Unix timestamp in milliseconds. If not provided or set to 0, the current - system time will be used. - example: 1706813100000 - in: query - name: to - schema: - type: integer - format: int64 - - description: Size of the Page - example: 1 - in: query - name: pageSize - schema: - type: integer - format: int32 - - description: Page Number - example: 1 - in: query - name: page - schema: - type: integer - format: int32 + - description: Service Levels Objective(SLO) Configuration ID + example: SLOEANnWh9tQOa2h88kGxK6wQ + in: path + name: sloId + required: true + schema: + type: string + - description: >- + Size of the time window in which the monitored entities must be + fetched, specified in milliseconds. If not provided or set to 0, the + default value of 3600000 milliseconds (1 hour) is used. + example: 360000 + in: query + name: windowSize + schema: + type: integer + format: int64 + - description: >- + Ending point for the data retrieval, specified as a 13-digit Unix + timestamp in milliseconds. If not provided or set to 0, the current + system time will be used. + example: 1706813100000 + in: query + name: to + schema: + type: integer + format: int64 + - description: Size of the Page + example: 1 + in: query + name: pageSize + schema: + type: integer + format: int32 + - description: Page Number + example: 1 + in: query + name: page + schema: + type: integer + format: int32 responses: '200': content: application/json: example: items: - - 0KmqAFCLeONAGzW4NRbV - - 174tEB4Oe7YsedZA25bh - - 1gV7O4bmdpGZYDG4Ojdd - - 1oYkh2uPmFQAEa3IraUq - - 1tHGNPXKWeaLV2pAN0gT - - 1uZxs5rQvJdf1jwMH6zq - - 3hmyDjiWBJotlh06MKGR - - 4H6WNu3RoluhkEo7iNJC - - 6K627mcw5jxHOkAUXHkm - - 7MKJz441px6U5U0L7Xcb + - 0KmqAFCLeONAGzW4NRbV + - 174tEB4Oe7YsedZA25bh + - 1gV7O4bmdpGZYDG4Ojdd + - 1oYkh2uPmFQAEa3IraUq + - 1tHGNPXKWeaLV2pAN0gT + - 1uZxs5rQvJdf1jwMH6zq + - 3hmyDjiWBJotlh06MKGR + - 4H6WNu3RoluhkEo7iNJC + - 6K627mcw5jxHOkAUXHkm + - 7MKJz441px6U5U0L7Xcb page: 1 pageSize: 10 totalHits: 100 @@ -23415,70 +24866,82 @@ paths: type: string description: There is no SLO configuration for the given ID security: - - ApiKeyAuth: - - Default - summary: Get the entities monitored by a SLO (Service Level Objective) configuration + - ApiKeyAuth: + - Default + summary: >- + Get the entities monitored by a SLO (Service Level Objective) + configuration tags: - - Service Levels Objective(SLO) Report - x-ibm-ahub-byok: true + - Service Levels Objective(SLO) Report /api/slo/explain/{sloId}: get: operationId: explainSlo parameters: - - description: Service Levels Objective(SLO) Configuration ID - example: SLOEANnWh9tQOa2h88kGxK6wQ - in: path - name: sloId - required: true - schema: - type: string - - description: Starting point for the data retrieval, specified as 13 digit - Unix Timestamp milliseconds - example: 1706713140000 - in: query - name: from - schema: - type: string - - description: Ending point for the data retrieval, specified as 13 digit Unix - Timestamp milliseconds - example: 1706813100000 - in: query - name: to - schema: - type: string - responses: - '200': - content: - application/json: - example: " **Slo overview**\n - Name: sample-application-availability-eventBased-fixed-1-week\ - \ \n - Target: 99% \n - Time window: fixed 1 week \n\n \ - \ **Entity context**\n - Type: application \n - Application\ - \ id: jo2-TgULSnqzJp2UgN9oLA \n - Label: All Services \n -\ - \ Scope: include immediate downstream database and messaging, inbound\ - \ boundary \n - Tag filter: call.type not empty \n - Access:\ - \ read/write global \n\n **Current performance status**\n -\ - \ Sli: 92.08% (below target) \n - Error budget total: 467 units\ - \ \n - Error budget remaining: -3232 (overrun) \n - Error\ - \ budget spent: 3699 units \n - Error burn rate: 7 (seven times\ - \ the allowed rate) \n - Error accumulation exhausted the error\ - \ budget by the fourth interval \n - Violation distribution: none\ - \ reported (budget exhausted) \n\n **Key insights**\n - Slo\ - \ is significantly breached, indicating major availability issues.\ - \ \n - Error budget was exhausted quickly, suggesting a sustained\ - \ high error rate. \n - Burn rate consistently above 7, far exceeding\ - \ the safe threshold of 1. \n - Most errors occurred early in\ - \ the reporting period (first 4 intervals). \n - No specific violation\ - \ distribution provided, implying widespread impact across the application.\ - \ \n\n **Recommendations**\n - Initiate immediate incident\ - \ response to identify root causes of availability failures. \n \ - \ - Review downstream database and messaging dependencies for latency\ - \ or failures. \n - Increase monitoring granularity on the affected\ - \ services and error events. \n - Implement automated alerts when\ - \ burn rate exceeds 2× the target. \n - Consider short‑term remediation\ - \ (restart services, roll back recent changes) to restore availability.\ - \ \n - Conduct a post‑mortem and update runbooks to prevent recurrence.\ - \ \n - Re‑evaluate the slo target or threshold if the current\ - \ environment cannot realistically meet 99% availability.\n" + - description: Service Levels Objective(SLO) Configuration ID + example: SLOEANnWh9tQOa2h88kGxK6wQ + in: path + name: sloId + required: true + schema: + type: string + - description: >- + Starting point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706713140000 + in: query + name: from + schema: + type: string + - description: >- + Ending point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706813100000 + in: query + name: to + schema: + type: string + responses: + '200': + content: + application/json: + example: |2 + **Slo overview** + - Name: sample-application-availability-eventBased-fixed-1-week + - Target: 99% + - Time window: fixed 1 week + + **Entity context** + - Type: application + - Application id: jo2-TgULSnqzJp2UgN9oLA + - Label: All Services + - Scope: include immediate downstream database and messaging, inbound boundary + - Tag filter: call.type not empty + - Access: read/write global + + **Current performance status** + - Sli: 92.08% (below target) + - Error budget total: 467 units + - Error budget remaining: -3232 (overrun) + - Error budget spent: 3699 units + - Error burn rate: 7 (seven times the allowed rate) + - Error accumulation exhausted the error budget by the fourth interval + - Violation distribution: none reported (budget exhausted) + + **Key insights** + - Slo is significantly breached, indicating major availability issues. + - Error budget was exhausted quickly, suggesting a sustained high error rate. + - Burn rate consistently above 7, far exceeding the safe threshold of 1. + - Most errors occurred early in the reporting period (first 4 intervals). + - No specific violation distribution provided, implying widespread impact across the application. + + **Recommendations** + - Initiate immediate incident response to identify root causes of availability failures. + - Review downstream database and messaging dependencies for latency or failures. + - Increase monitoring granularity on the affected services and error events. + - Implement automated alerts when burn rate exceeds 2× the target. + - Consider short‑term remediation (restart services, roll back recent changes) to restore availability. + - Conduct a post‑mortem and update runbooks to prevent recurrence. + - Re‑evaluate the slo target or threshold if the current environment cannot realistically meet 99% availability. schema: type: array items: @@ -23489,64 +24952,67 @@ paths: application/json: example: errors: - - There is no SLO configuration for the given ID or the report hasn't - been generated yet. + - >- + There is no SLO configuration for the given ID or the report + hasn't been generated yet. schema: type: array items: type: string - description: There is no SLO configuration for the given ID or the explain - result hasn't been generated yet. + description: >- + There is no SLO configuration for the given ID or the explain result + hasn't been generated yet. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Explain Service Levels objective with more details. tags: - - Service Levels Objective(SLO) Report - x-ibm-ahub-byok: true + - Service Levels Objective(SLO) Report /api/slo/report/{sloId}: get: operationId: getSlo parameters: - - description: SLO Configuration ID - example: SLOEANnWh9tQOa2h88kGxK6wQ - in: path - name: sloId - required: true - schema: - type: string - - description: Starting point for the data retrieval, specified as 13 digit - Unix Timestamp milliseconds - example: 1706713140000 - in: query - name: from - schema: - type: string - - description: Ending point for the data retrieval, specified as 13 digit Unix - Timestamp milliseconds - example: 1706813100000 - in: query - name: to - schema: - type: string - - description: IDs of Correction Configurations to be Excluded from the result - example: N1Xj6q8QTZu_cfJOGqy4mg - in: query - name: excludeCorrectionId - schema: - type: array - items: + - description: SLO Configuration ID + example: SLOEANnWh9tQOa2h88kGxK6wQ + in: path + name: sloId + required: true + schema: type: string - uniqueItems: true - - description: IDs of Correction Configurations to be Included in the result - example: uvP7Z03pSUuybDT8-WHLDA - in: query - name: includeCorrectionId - schema: - type: array - items: + - description: >- + Starting point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706713140000 + in: query + name: from + schema: type: string - uniqueItems: true + - description: >- + Ending point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706813100000 + in: query + name: to + schema: + type: string + - description: IDs of Correction Configurations to be Excluded from the result + example: N1Xj6q8QTZu_cfJOGqy4mg + in: query + name: excludeCorrectionId + schema: + type: array + items: + type: string + uniqueItems: true + - description: IDs of Correction Configurations to be Included in the result + example: uvP7Z03pSUuybDT8-WHLDA + in: query + name: includeCorrectionId + schema: + type: array + items: + type: string + uniqueItems: true responses: '200': content: @@ -24245,52 +25711,62 @@ paths: application/json: example: errors: - - There is no SLO configuration for the given ID or the report hasn't - been generated yet. + - >- + There is no SLO configuration for the given ID or the report + hasn't been generated yet. schema: type: array items: type: string - description: There is no SLO configuration for the given ID or the report - hasn't been generated yet. + description: >- + There is no SLO configuration for the given ID or the report hasn't + been generated yet. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Generate Service Levels report tags: - - Service Levels Objective(SLO) Report - x-ibm-ahub-byok: true + - Service Levels Objective(SLO) Report /api/slo/summarize/{sloId}: get: operationId: summarizeSlo parameters: - - description: Service Levels Objective(SLO) Configuration ID - example: SLOEANnWh9tQOa2h88kGxK6wQ - in: path - name: sloId - required: true - schema: - type: string - - description: Starting point for the data retrieval, specified as 13 digit - Unix Timestamp milliseconds - example: 1706713140000 - in: query - name: from - schema: - type: string - - description: Ending point for the data retrieval, specified as 13 digit Unix - Timestamp milliseconds - example: 1706813100000 - in: query - name: to - schema: - type: string + - description: Service Levels Objective(SLO) Configuration ID + example: SLOEANnWh9tQOa2h88kGxK6wQ + in: path + name: sloId + required: true + schema: + type: string + - description: >- + Starting point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706713140000 + in: query + name: from + schema: + type: string + - description: >- + Ending point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds + example: 1706813100000 + in: query + name: to + schema: + type: string responses: '200': content: application/json: - example: | - **sample-application-availability-eventBased-fixed-1-week** targets 99 % availability over a fixed one‑week window for the **All Services** application. It monitors event‑based availability across the entire application boundary, excluding internal and synthetic traffic. Current reporting shows the SLO is not meeting its target, with the error budget fully consumed and a sustained high burn rate, indicating a significant performance shortfall that warrants immediate attention. + example: > + **sample-application-availability-eventBased-fixed-1-week** + targets 99 % availability over a fixed one‑week window for the + **All Services** application. It monitors event‑based + availability across the entire application boundary, excluding + internal and synthetic traffic. Current reporting shows the SLO + is not meeting its target, with the error budget fully consumed + and a sustained high burn rate, indicating a significant + performance shortfall that warrants immediate attention. schema: type: array items: @@ -24301,193 +25777,195 @@ paths: application/json: example: errors: - - There is no SLO configuration for the given ID or the report hasn't - been generated yet. + - >- + There is no SLO configuration for the given ID or the report + hasn't been generated yet. schema: type: array items: type: string - description: There is no SLO configuration for the given ID or the summarization + description: >- + There is no SLO configuration for the given ID or the summarization result hasn't been generated yet. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Summarize Service Levels objective results. tags: - - Service Levels Objective(SLO) Report - x-ibm-ahub-byok: true + - Service Levels Objective(SLO) Report /api/synthetics/catalog: get: operationId: getSyntheticTagCatalog parameters: - - in: query - name: useCase - required: true - schema: - type: string - enum: - - GROUPING - - FILTERING - - SERVICE_MAPPING - - SMART_ALERTS - - SMART_ALERTS_LOGS - - SMART_ALERTS_ADAPTIVE_BASELINE - - SMART_ALERTS_CUSTOM_PAYLOAD - - SLI_MANAGEMENT - - APPLICATION_CONFIG - - APPLICATION_CONFIG_BLUEPRINT - - MAINTENANCE_WINDOWS - - BIZOPS_CUSTOM_DASHBOARDS_FILTERING + - in: query + name: useCase + required: true + schema: + type: string + enum: + - GROUPING + - FILTERING + - SERVICE_MAPPING + - SMART_ALERTS + - SMART_ALERTS_LOGS + - SMART_ALERTS_ADAPTIVE_BASELINE + - SMART_ALERTS_ADAPTIVE_BASELINE_FAST_INIT + - SMART_ALERTS_CUSTOM_PAYLOAD + - SLI_MANAGEMENT + - APPLICATION_CONFIG + - APPLICATION_CONFIG_BLUEPRINT + - MAINTENANCE_WINDOWS + - BIZOPS_CUSTOM_DASHBOARDS_FILTERING responses: '200': content: application/json: example: tagTree: - - label: Commonly Used - description: null - icon: null - children: - - label: Location Label - tagName: synthetic.locationLabel - type: TAG - - label: Synthetic Type Label - tagName: synthetic.typeLabel - type: TAG - - label: Tags - tagName: synthetic.tags - type: TAG - type: LEVEL - queryable: false - - label: Application - description: null - icon: null - children: - - label: Application Id - tagName: synthetic.applicationId - type: TAG - type: LEVEL - queryable: false - - label: Synthetic Test - description: null - icon: null - children: - - label: Errors - tagName: synthetic.errors - type: TAG - - label: Synthetic Type - tagName: synthetic.syntheticType - type: TAG - - label: Synthetic Type Label - tagName: synthetic.typeLabel - type: TAG - - label: Tags - tagName: synthetic.tags - type: TAG - - label: Test Active - tagName: synthetic.testActive - type: TAG - - label: Test Id - tagName: synthetic.testId - type: TAG - - label: Test Name - tagName: synthetic.testName - type: TAG - type: LEVEL - queryable: false - - label: Location - description: null - icon: null - children: - - label: Location Id - tagName: synthetic.locationId - type: TAG - - label: Location Label - tagName: synthetic.locationLabel - type: TAG - - label: Location Type - tagName: synthetic.locationType - type: TAG - type: LEVEL - queryable: false + - label: Commonly Used + description: null + icon: null + children: + - label: Location Label + tagName: synthetic.locationLabel + type: TAG + - label: Synthetic Type Label + tagName: synthetic.typeLabel + type: TAG + - label: Tags + tagName: synthetic.tags + type: TAG + type: LEVEL + queryable: false + - label: Application + description: null + icon: null + children: + - label: Application Id + tagName: synthetic.applicationId + type: TAG + type: LEVEL + queryable: false + - label: Synthetic Test + description: null + icon: null + children: + - label: Errors + tagName: synthetic.errors + type: TAG + - label: Synthetic Type + tagName: synthetic.syntheticType + type: TAG + - label: Synthetic Type Label + tagName: synthetic.typeLabel + type: TAG + - label: Tags + tagName: synthetic.tags + type: TAG + - label: Test Active + tagName: synthetic.testActive + type: TAG + - label: Test Id + tagName: synthetic.testId + type: TAG + - label: Test Name + tagName: synthetic.testName + type: TAG + type: LEVEL + queryable: false + - label: Location + description: null + icon: null + children: + - label: Location Id + tagName: synthetic.locationId + type: TAG + - label: Location Label + tagName: synthetic.locationLabel + type: TAG + - label: Location Type + tagName: synthetic.locationType + type: TAG + type: LEVEL + queryable: false tags: - - name: synthetic.locationId - label: Location Id - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.locationLabel - label: Location Label - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.syntheticType - label: Synthetic Type - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.typeLabel - label: Synthetic Type Label - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.applicationId - label: Application Id - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.tags - label: Tags - type: KEY_VALUE_PAIR - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.testId - label: Test Id - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.testName - label: Test Name - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.errors - label: Errors - type: STRING_LIST - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.testActive - label: Test Active - type: BOOLEAN - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false - - name: synthetic.locationType - label: Location Type - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false + - name: synthetic.locationId + label: Location Id + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.locationLabel + label: Location Label + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.syntheticType + label: Synthetic Type + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.typeLabel + label: Synthetic Type Label + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.applicationId + label: Application Id + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.tags + label: Tags + type: KEY_VALUE_PAIR + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.testId + label: Test Id + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.testName + label: Test Name + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.errors + label: Errors + type: STRING_LIST + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.testActive + label: Test Active + type: BOOLEAN + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false + - name: synthetic.locationType + label: Location Type + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false schema: $ref: '#/components/schemas/TagCatalog' description: OK @@ -24498,13 +25976,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get synthetic tag catalog tags: - - Synthetic Catalog + - Synthetic Catalog x-description: getSyntheticTagCatalog - x-ibm-ahub-byok: true /api/synthetics/catalog/metrics: get: description: API to get catalog of synthetic metrics. @@ -24514,21 +25991,21 @@ paths: content: application/json: example: - - metricId: synthetic.metricResponseTime - label: Response Time - formatter: MILLIS - description: Script response time in milliseconds - aggregations: - - MEAN - - 25th - - 50th - - 75th - - 90th - - 95th - - 98th - - 99th - - SUM - defaultAggregation: null + - metricId: synthetic.metricResponseTime + label: Response Time + formatter: MILLIS + description: Script response time in milliseconds + aggregations: + - MEAN + - 25th + - 50th + - 75th + - 90th + - 95th + - 98th + - 99th + - SUM + defaultAggregation: null schema: type: array items: @@ -24539,18 +26016,19 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Metric catalog tags: - - Synthetic Catalog + - Synthetic Catalog x-description: getSyntheticCatalogMetrics - x-ibm-ahub-byok: true /api/synthetics/metrics: post: - description: |- + description: >- API request to retrieve Synthetic Metrics. - For more information on Synthetic Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-metrics. + + For more information on Synthetic Metrics please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-metrics. operationId: getMetricsResult requestBody: content: @@ -24560,15 +26038,15 @@ paths: page: 1 pageSize: 3 metrics: - - metric: synthetic.metricsResponseTime - aggregation: SUM + - metric: synthetic.metricsResponseTime + aggregation: SUM timeFrame: to: 0 windowSize: 3600000 groups: - - groupbyTag: synthetic.applicationId - - groupbyTag: synthetic.tags - groupbyTagSecondLevelTag: region + - groupbyTag: synthetic.applicationId + - groupbyTag: synthetic.tags + groupbyTagSecondLevelTag: region schema: $ref: '#/components/schemas/GetMetricsResult' x-payload: getMetricsResult @@ -24578,41 +26056,41 @@ paths: application/json: example: metricsResult: - - tests: - - testId: 6GwdCuiMjGdMrtz8THjo - testName: rumattach-BasicNavTest - locationId: - - f7cEoG61DJfVyWcDnWsc - applicationId: application1 - serviceId: serviceId1 - metrics: - - synthetic.metricsResponseTime: 1276 - customMetrics: - - region: region1 - - tests: - - testId: OCnmrLSlNgzntI68094j - testName: test-javascript-bundled - locationId: - - wHICfVoIpiHbwawo5xQ6 - applicationId: application2 - serviceId: serviceId2 - metrics: - - synthetic.metricsResponseTime: 14 - customMetrics: - - location: location1 - region: region2 - - tests: - - testId: 9i6gpys6whaYtN5k9VeD - testName: My_Test_ReadFile - locationId: - - DemoPoP1_saas_instana_test - applicationId: application3 - serviceId: serviceid3 - metrics: - - synthetic.metricsResponseTime: 7 - customMetrics: - - location: location3 - region: region3 + - tests: + - testId: 6GwdCuiMjGdMrtz8THjo + testName: rumattach-BasicNavTest + locationId: + - f7cEoG61DJfVyWcDnWsc + applicationId: application1 + serviceId: serviceId1 + metrics: + - synthetic.metricsResponseTime: 1276 + customMetrics: + - region: region1 + - tests: + - testId: OCnmrLSlNgzntI68094j + testName: test-javascript-bundled + locationId: + - wHICfVoIpiHbwawo5xQ6 + applicationId: application2 + serviceId: serviceId2 + metrics: + - synthetic.metricsResponseTime: 14 + customMetrics: + - location: location1 + region: region2 + - tests: + - testId: 9i6gpys6whaYtN5k9VeD + testName: My_Test_ReadFile + locationId: + - DemoPoP1_saas_instana_test + applicationId: application3 + serviceId: serviceid3 + metrics: + - synthetic.metricsResponseTime: 7 + customMetrics: + - location: location3 + region: region3 page: 1 pageSize: 3 totalHits: 2212 @@ -24626,17 +26104,20 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Synthetic Metrics tags: - - Synthetic Metrics - x-ibm-ahub-byok: true + - Synthetic Metrics /api/synthetics/results: post: - description: |- - Get a list of aggregated playback results metrics for Synthetic tests matching the specified parameters - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Get a list of aggregated playback results metrics for Synthetic tests + matching the specified parameters + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getSyntheticResult requestBody: content: @@ -24646,8 +26127,8 @@ paths: page: 1 pageSize: 3 metrics: - - metric: synthetic.metricsResponseTime - aggregation: SUM + - metric: synthetic.metricsResponseTime + aggregation: SUM order: by: synthetic.startTime direction: DESC @@ -24663,24 +26144,24 @@ paths: application/json: example: testResult: - - testId: 6GwdCuiMjGdMrtz8THjo - testName: rumattach-BasicNavTest - locationId: - - f7cEoG61DJfVyWcDnWsc - metrics: - - synthetic.metricsResponseTime: 1276 - - testId: OCnmrLSlNgzntI68094j - testName: test-javascript-bundled - locationId: - - wHICfVoIpiHbwawo5xQ6 - metrics: - - synthetic.metricsResponseTime: 14 - - testId: 9i6gpys6whaYtN5k9VeD - testName: My_Test_ReadFile - locationId: - - DemoPoP1_saas_instana_test - metrics: - - synthetic.metricsResponseTime: 7 + - testId: 6GwdCuiMjGdMrtz8THjo + testName: rumattach-BasicNavTest + locationId: + - f7cEoG61DJfVyWcDnWsc + metrics: + - synthetic.metricsResponseTime: 1276 + - testId: OCnmrLSlNgzntI68094j + testName: test-javascript-bundled + locationId: + - wHICfVoIpiHbwawo5xQ6 + metrics: + - synthetic.metricsResponseTime: 14 + - testId: 9i6gpys6whaYtN5k9VeD + testName: My_Test_ReadFile + locationId: + - DemoPoP1_saas_instana_test + metrics: + - synthetic.metricsResponseTime: 7 page: 1 pageSize: 3 totalHits: 2212 @@ -24694,17 +26175,20 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Synthetic test playback results tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/analytic: post: - description: |- - Get a list of playback results metrics for Synthetic tests matching the specified parameters for the specified analytic - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Get a list of playback results metrics for Synthetic tests matching the + specified parameters for the specified analytic + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getSyntheticResultAnalytic requestBody: content: @@ -24714,9 +26198,9 @@ paths: page: 1 pageSize: 3 syntheticMetrics: - - synthetic.metricsResponseTime - - status - - synthetic.errors + - synthetic.metricsResponseTime + - status + - synthetic.errors order: by: start_time direction: DESC @@ -24726,12 +26210,12 @@ paths: TagFilterExpression: type: EXPRESSION elements: - - type: EXPRESSION - elements: - - name: synthetic.errors - stringValue: Exception - operator: CONTAINS - logicalOperator: OR + - type: EXPRESSION + elements: + - name: synthetic.errors + stringValue: Exception + operator: CONTAINS + logicalOperator: OR logicalOperator: OR analyticFunction: LAST_VALUE schema: @@ -24743,77 +26227,87 @@ paths: application/json: example: items: - - testResultCommonProperties: - testId: 9i6gpys6whaYtN5k9VeD - testName: My_Test_ReadFile - locationId: DemoPoP1_saas_instana_test - clientId: saas_instana_test - id: 8f3bedbb-e278-4584-81b8-6efe07286a55 - errors: - - |- - {timeStamp=1706131087368, errorType=Exception, errorMessage=access to path /etc/pop/redispass/redis-password is denied, stackTrace=Error: access to path /etc/pop/redispass/redis-password is denied - at /opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750914 - at Array.forEach () - at s (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750876) - at Object.openSync (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1751693) - at VM Wrapper.apply (vm/bridge.js:468:15) - at /tmp/9i6gpys6whaYtN5k9VeD/script.js:7:13 - at /tmp/9i6gpys6whaYtN5k9VeD/script.js:21:3 - at VM Wrapper.apply (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1806330) - at k.run (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1771939) - at Object.e.exports.execute (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1739863) - at process. (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:2197562) - at Object.onceWrapper (node:events:628:26) - at process.emit (node:events:513:28) - at emit (node:internal/child_process:946:14) - at processTicksAndRejections (node:internal/process/task_queues:84:21)} - locationDisplayLabel: DemoPoP1(vm) - metrics: - response_time: - - - 1706131087358 - - 9 - status: - - - 1706131087358 - - 0 - - testResultCommonProperties: - testId: QRN50tqvJPnwKIjn2qKx - testName: Demo_IBM_simple_ping - locationId: DemoPoP1_saas_instana_test - clientId: saas_instana_test - id: 7f503812-c428-4ea8-995d-dbdf97c145b7 - errors: - - '{timeStamp=1706131070262, errorType=Exception, errorMessage=Ping: - http://httpbin.org/status/200%2C400 -> Expected a success status - (status < 400) but got 400, stackTrace=}' - locationDisplayLabel: DemoPoP1(vm) - metrics: - response_time: - - - 1706131070111 - - 149 - status: - - - 1706131070111 - - 0 - - testResultCommonProperties: - testId: mfwdxHpvwXM1PGUBAFeP - testName: test-disable-api-simple-jul17 - locationId: f7cEoG61DJfVyWcDnWsc - clientId: saas_instana_test - id: a1a4ed1c-7c87-45d5-bf45-3f3c462445d7 - errors: - - |- - {timeStamp=1706131069537, errorType=Exception, errorMessage=Unable to parse response body as JSON: Unexpected token < in JSON at position 0, stackTrace=Error: Unable to parse response body as JSON: Unexpected token < in JSON at position 0 - at /opt/ibm/microservice/javascript-playback/bin/index.js:2:1057667 - at k. (/opt/ibm/microservice/javascript-playback/bin/index.js:2:1058257) - at runMicrotasks () - at processTicksAndRejections (node:internal/process/task_queues:96:5)} - locationDisplayLabel: Test-Pop-101 - metrics: - response_time: - - - 1706131069036 - - 490 - status: - - - 1706131069036 - - 0 + - testResultCommonProperties: + testId: 9i6gpys6whaYtN5k9VeD + testName: My_Test_ReadFile + locationId: DemoPoP1_saas_instana_test + clientId: saas_instana_test + id: 8f3bedbb-e278-4584-81b8-6efe07286a55 + errors: + - >- + {timeStamp=1706131087368, errorType=Exception, + errorMessage=access to path + /etc/pop/redispass/redis-password is denied, + stackTrace=Error: access to path + /etc/pop/redispass/redis-password is denied + at /opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750914 + at Array.forEach () + at s (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750876) + at Object.openSync (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1751693) + at VM Wrapper.apply (vm/bridge.js:468:15) + at /tmp/9i6gpys6whaYtN5k9VeD/script.js:7:13 + at /tmp/9i6gpys6whaYtN5k9VeD/script.js:21:3 + at VM Wrapper.apply (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1806330) + at k.run (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1771939) + at Object.e.exports.execute (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1739863) + at process. (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:2197562) + at Object.onceWrapper (node:events:628:26) + at process.emit (node:events:513:28) + at emit (node:internal/child_process:946:14) + at processTicksAndRejections (node:internal/process/task_queues:84:21)} + locationDisplayLabel: DemoPoP1(vm) + metrics: + response_time: + - - 1706131087358 + - 9 + status: + - - 1706131087358 + - 0 + - testResultCommonProperties: + testId: QRN50tqvJPnwKIjn2qKx + testName: Demo_IBM_simple_ping + locationId: DemoPoP1_saas_instana_test + clientId: saas_instana_test + id: 7f503812-c428-4ea8-995d-dbdf97c145b7 + errors: + - >- + {timeStamp=1706131070262, errorType=Exception, + errorMessage=Ping: http://httpbin.org/status/200%2C400 + -> Expected a success status (status < 400) but got + 400, stackTrace=} + locationDisplayLabel: DemoPoP1(vm) + metrics: + response_time: + - - 1706131070111 + - 149 + status: + - - 1706131070111 + - 0 + - testResultCommonProperties: + testId: mfwdxHpvwXM1PGUBAFeP + testName: test-disable-api-simple-jul17 + locationId: f7cEoG61DJfVyWcDnWsc + clientId: saas_instana_test + id: a1a4ed1c-7c87-45d5-bf45-3f3c462445d7 + errors: + - >- + {timeStamp=1706131069537, errorType=Exception, + errorMessage=Unable to parse response body as JSON: + Unexpected token < in JSON at position 0, + stackTrace=Error: Unable to parse response body as + JSON: Unexpected token < in JSON at position 0 + at /opt/ibm/microservice/javascript-playback/bin/index.js:2:1057667 + at k. (/opt/ibm/microservice/javascript-playback/bin/index.js:2:1058257) + at runMicrotasks () + at processTicksAndRejections (node:internal/process/task_queues:96:5)} + locationDisplayLabel: Test-Pop-101 + metrics: + response_time: + - - 1706131069036 + - 490 + status: + - - 1706131069036 + - 0 page: 1 pageSize: 3 totalHits: 14305 @@ -24827,17 +26321,20 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get a list of Synthetic tests based on the specified analytic function tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/list: post: - description: |- - Get a list of playback results metrics for Synthetic tests matching the specified parameters - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Get a list of playback results metrics for Synthetic tests matching the + specified parameters + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getSyntheticResultList requestBody: content: @@ -24847,9 +26344,9 @@ paths: page: 1 pageSize: 3 syntheticMetrics: - - synthetic.metricsResponseTime - - status - - synthetic.errors + - synthetic.metricsResponseTime + - status + - synthetic.errors order: by: start_time direction: DESC @@ -24859,12 +26356,12 @@ paths: TagFilterExpression: type: EXPRESSION elements: - - type: EXPRESSION - elements: - - name: synthetic.errors - stringValue: Exception - operator: CONTAINS - logicalOperator: OR + - type: EXPRESSION + elements: + - name: synthetic.errors + stringValue: Exception + operator: CONTAINS + logicalOperator: OR logicalOperator: OR schema: $ref: '#/components/schemas/GetTestResultList' @@ -24875,77 +26372,87 @@ paths: application/json: example: items: - - testResultCommonProperties: - testId: 9i6gpys6whaYtN5k9VeD - testName: My_Test_ReadFile - locationId: DemoPoP1_saas_instana_test - clientId: saas_instana_test - id: 8f3bedbb-e278-4584-81b8-6efe07286a55 - errors: - - |- - {timeStamp=1706131087368, errorType=Exception, errorMessage=access to path /etc/pop/redispass/redis-password is denied, stackTrace=Error: access to path /etc/pop/redispass/redis-password is denied - at /opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750914 - at Array.forEach () - at s (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750876) - at Object.openSync (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1751693) - at VM Wrapper.apply (vm/bridge.js:468:15) - at /tmp/9i6gpys6whaYtN5k9VeD/script.js:7:13 - at /tmp/9i6gpys6whaYtN5k9VeD/script.js:21:3 - at VM Wrapper.apply (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1806330) - at k.run (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1771939) - at Object.e.exports.execute (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1739863) - at process. (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:2197562) - at Object.onceWrapper (node:events:628:26) - at process.emit (node:events:513:28) - at emit (node:internal/child_process:946:14) - at processTicksAndRejections (node:internal/process/task_queues:84:21)} - locationDisplayLabel: DemoPoP1(vm) - metrics: - response_time: - - - 1706131087358 - - 9 - status: - - - 1706131087358 - - 0 - - testResultCommonProperties: - testId: QRN50tqvJPnwKIjn2qKx - testName: Demo_IBM_simple_ping - locationId: DemoPoP1_saas_instana_test - clientId: saas_instana_test - id: 7f503812-c428-4ea8-995d-dbdf97c145b7 - errors: - - '{timeStamp=1706131070262, errorType=Exception, errorMessage=Ping: - http://httpbin.org/status/200%2C400 -> Expected a success status - (status < 400) but got 400, stackTrace=}' - locationDisplayLabel: DemoPoP1(vm) - metrics: - response_time: - - - 1706131070111 - - 149 - status: - - - 1706131070111 - - 0 - - testResultCommonProperties: - testId: mfwdxHpvwXM1PGUBAFeP - testName: test-disable-api-simple-jul17 - locationId: f7cEoG61DJfVyWcDnWsc - clientId: saas_instana_test - id: a1a4ed1c-7c87-45d5-bf45-3f3c462445d7 - errors: - - |- - {timeStamp=1706131069537, errorType=Exception, errorMessage=Unable to parse response body as JSON: Unexpected token < in JSON at position 0, stackTrace=Error: Unable to parse response body as JSON: Unexpected token < in JSON at position 0 - at /opt/ibm/microservice/javascript-playback/bin/index.js:2:1057667 - at k. (/opt/ibm/microservice/javascript-playback/bin/index.js:2:1058257) - at runMicrotasks () - at processTicksAndRejections (node:internal/process/task_queues:96:5)} - locationDisplayLabel: Test-Pop-101 - metrics: - response_time: - - - 1706131069036 - - 490 - status: - - - 1706131069036 - - 0 + - testResultCommonProperties: + testId: 9i6gpys6whaYtN5k9VeD + testName: My_Test_ReadFile + locationId: DemoPoP1_saas_instana_test + clientId: saas_instana_test + id: 8f3bedbb-e278-4584-81b8-6efe07286a55 + errors: + - >- + {timeStamp=1706131087368, errorType=Exception, + errorMessage=access to path + /etc/pop/redispass/redis-password is denied, + stackTrace=Error: access to path + /etc/pop/redispass/redis-password is denied + at /opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750914 + at Array.forEach () + at s (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750876) + at Object.openSync (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1751693) + at VM Wrapper.apply (vm/bridge.js:468:15) + at /tmp/9i6gpys6whaYtN5k9VeD/script.js:7:13 + at /tmp/9i6gpys6whaYtN5k9VeD/script.js:21:3 + at VM Wrapper.apply (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1806330) + at k.run (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1771939) + at Object.e.exports.execute (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1739863) + at process. (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:2197562) + at Object.onceWrapper (node:events:628:26) + at process.emit (node:events:513:28) + at emit (node:internal/child_process:946:14) + at processTicksAndRejections (node:internal/process/task_queues:84:21)} + locationDisplayLabel: DemoPoP1(vm) + metrics: + response_time: + - - 1706131087358 + - 9 + status: + - - 1706131087358 + - 0 + - testResultCommonProperties: + testId: QRN50tqvJPnwKIjn2qKx + testName: Demo_IBM_simple_ping + locationId: DemoPoP1_saas_instana_test + clientId: saas_instana_test + id: 7f503812-c428-4ea8-995d-dbdf97c145b7 + errors: + - >- + {timeStamp=1706131070262, errorType=Exception, + errorMessage=Ping: http://httpbin.org/status/200%2C400 + -> Expected a success status (status < 400) but got + 400, stackTrace=} + locationDisplayLabel: DemoPoP1(vm) + metrics: + response_time: + - - 1706131070111 + - 149 + status: + - - 1706131070111 + - 0 + - testResultCommonProperties: + testId: mfwdxHpvwXM1PGUBAFeP + testName: test-disable-api-simple-jul17 + locationId: f7cEoG61DJfVyWcDnWsc + clientId: saas_instana_test + id: a1a4ed1c-7c87-45d5-bf45-3f3c462445d7 + errors: + - >- + {timeStamp=1706131069537, errorType=Exception, + errorMessage=Unable to parse response body as JSON: + Unexpected token < in JSON at position 0, + stackTrace=Error: Unable to parse response body as + JSON: Unexpected token < in JSON at position 0 + at /opt/ibm/microservice/javascript-playback/bin/index.js:2:1057667 + at k. (/opt/ibm/microservice/javascript-playback/bin/index.js:2:1058257) + at runMicrotasks () + at processTicksAndRejections (node:internal/process/task_queues:96:5)} + locationDisplayLabel: Test-Pop-101 + metrics: + response_time: + - - 1706131069036 + - 490 + status: + - - 1706131069036 + - 0 page: 1 pageSize: 3 totalHits: 14305 @@ -24959,17 +26466,20 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get a list of Synthetic test playback results tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/locationsummarylist: post: - description: |- - Get summary information for Synthetic locations matching the specified parameters - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Get summary information for Synthetic locations matching the specified + parameters + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getLocationSummaryList requestBody: content: @@ -24990,46 +26500,45 @@ paths: application/json: example: items: - - id: wFulJMRXA3bZgAlhCuZV - label: test101-pop - displayLabel: west-12(Idaho) - type: Private - status: Online - linkedTests: 0 - lastRunOn: 0 - namespace: my-kedatest - clusterName: test101-pop - description: PoP in region test101 for my-kedatest - popSnapshotId: null - popVersion: 1.1.2 - - id: 0po5d5MxSZx91moqCbri - label: apminstana-pop - displayLabel: apminstana-pop - type: Private - status: Online - linkedTests: 12 - lastRunOn: 0 - namespace: redwood - clusterName: apminstana-pop - description: This is a Synthetic Point of Presence - popSnapshotId: ZFOBIU_Stg9FWs4DMRVY7VTSmBs - entityHealthInfo: - maxSeverity: 0 - openIssues: [ - ] - popVersion: 1.1.1 - - id: c7sXV7jZcuiD2ewGAjYI - label: Aggie - displayLabel: Aggie popLoc - type: Private - status: Offline - linkedTests: 9 - lastRunOn: 0 - namespace: poploc - clusterName: instana-pop-deployment - description: My City Kubecost - popSnapshotId: null - popVersion: 1.0.15 + - id: wFulJMRXA3bZgAlhCuZV + label: test101-pop + displayLabel: west-12(Idaho) + type: Private + status: Online + linkedTests: 0 + lastRunOn: 0 + namespace: my-kedatest + clusterName: test101-pop + description: PoP in region test101 for my-kedatest + popSnapshotId: null + popVersion: 1.1.2 + - id: 0po5d5MxSZx91moqCbri + label: apminstana-pop + displayLabel: apminstana-pop + type: Private + status: Online + linkedTests: 12 + lastRunOn: 0 + namespace: redwood + clusterName: apminstana-pop + description: This is a Synthetic Point of Presence + popSnapshotId: ZFOBIU_Stg9FWs4DMRVY7VTSmBs + entityHealthInfo: + maxSeverity: 0 + openIssues: [] + popVersion: 1.1.1 + - id: c7sXV7jZcuiD2ewGAjYI + label: Aggie + displayLabel: Aggie popLoc + type: Private + status: Offline + linkedTests: 9 + lastRunOn: 0 + namespace: poploc + clusterName: instana-pop-deployment + description: My City Kubecost + popSnapshotId: null + popVersion: 1.0.15 page: 1 pageSize: 3 totalHits: 47 @@ -25043,33 +26552,37 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default - summary: Get a list of Synthetic locations with last run test on each location + - ApiKeyAuth: + - Default + summary: >- + Get a list of Synthetic locations with last run test on each location data tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/testsummarylist: post: - description: |- - Get a summary of the playback results metrics and success rate for Synthetic tests matching the specified parameters - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Get a summary of the playback results metrics and success rate for + Synthetic tests matching the specified parameters + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getTestSummaryList requestBody: content: application/json: example: metrics: - - aggregation: MEAN - metric: success_rate - granularity: 600 + - aggregation: MEAN + metric: success_rate + granularity: 600 TagFilterExpression: type: EXPRESSION elements: - - name: synthetic.testActive - booleanValue: true - operator: EQUALS + - name: synthetic.testActive + booleanValue: true + operator: EQUALS logicalOperator: AND timeFrame: to: 0 @@ -25086,125 +26599,125 @@ paths: application/json: example: items: - - testResultCommonProperties: - testId: 0FzZz41QwOxPjOUE0VhU - testName: 260-browserwebpage - clientId: saas_instana_test - testCommonProperties: - id: 0FzZz41QwOxPjOUE0VhU - label: 260-browserwebpage - type: Webpage Simple - frequency: 3 - active: true - locationIds: - - KHphVmZqqRf9Kp2xSoud - - cs1RvxTXJcavxnbQ6fBE - locationLabels: - - microk8s_PoP - - mini_PoP2_BrowserTest - locationDisplayLabels: - - MicroK8s PoP - - mini_PoP2_BrowserTest - locationStatusList: - - locationId: KHphVmZqqRf9Kp2xSoud - totalTestRuns: 10 - successRuns: 10 - locationDisplayLabel: MicroK8s PoP - successRate: 1 - - locationId: cs1RvxTXJcavxnbQ6fBE - totalTestRuns: 0 - successRuns: 0 - locationDisplayLabel: mini_PoP2_BrowserTest - successRate: 0 - createdAt: 1697175933150 - modifiedAt: 1700456221719 - metrics: - total_test_runs: - - - 1706132249095 - - 10 - successful_test_runs: - - - 1706132249095 - - 10 - response_time: - - - 1706132249095 - - 372.9 - success_rate: - - - 1706132249095 - - 1 - - testResultCommonProperties: - testId: 0OKldV7M44UfDxmNt1Ef - testName: Syne2eHttpActionTest - clientId: saas_instana_test - testCommonProperties: - id: 0OKldV7M44UfDxmNt1Ef - label: Syne2eHttpActionTest - type: API Simple - frequency: 5 - active: true - locationIds: - - 18WyhtDb5jpVOsjlNdeV - locationLabels: - - Syne2e - locationDisplayLabels: - - E2ETest PoP - locationStatusList: - - locationId: 18WyhtDb5jpVOsjlNdeV - totalTestRuns: 6 - successRuns: 6 - locationDisplayLabel: E2ETest PoP - successRate: 1 - createdAt: 1703867554340 - modifiedAt: 1703867554340 - metrics: - total_test_runs: - - - 1706132249095 - - 6 - successful_test_runs: - - - 1706132249095 - - 6 - response_time: - - - 1706132249095 - - 157.5 - success_rate: - - - 1706132249095 - - 1 - - testResultCommonProperties: - testId: 0qB3qb9659JBJ86bflnf - testName: Syne2eHttpActionTest - clientId: saas_instana_test - testCommonProperties: - id: 0qB3qb9659JBJ86bflnf - label: Syne2eHttpActionTest - type: API Simple - frequency: 5 - active: true - locationIds: - - 18WyhtDb5jpVOsjlNdeV - locationLabels: - - Syne2e - locationDisplayLabels: - - E2ETest PoP - locationStatusList: - - locationId: 18WyhtDb5jpVOsjlNdeV - totalTestRuns: 6 - successRuns: 6 - locationDisplayLabel: E2ETest PoP - successRate: 1 - createdAt: 1702269153825 - modifiedAt: 1702269153825 - metrics: - total_test_runs: - - - 1706132249095 - - 6 - successful_test_runs: - - - 1706132249095 - - 6 - response_time: - - - 1706132249095 - - 178.66666666666666 - success_rate: - - - 1706132249095 - - 1 + - testResultCommonProperties: + testId: 0FzZz41QwOxPjOUE0VhU + testName: 260-browserwebpage + clientId: saas_instana_test + testCommonProperties: + id: 0FzZz41QwOxPjOUE0VhU + label: 260-browserwebpage + type: Webpage Simple + frequency: 3 + active: true + locationIds: + - KHphVmZqqRf9Kp2xSoud + - cs1RvxTXJcavxnbQ6fBE + locationLabels: + - microk8s_PoP + - mini_PoP2_BrowserTest + locationDisplayLabels: + - MicroK8s PoP + - mini_PoP2_BrowserTest + locationStatusList: + - locationId: KHphVmZqqRf9Kp2xSoud + totalTestRuns: 10 + successRuns: 10 + locationDisplayLabel: MicroK8s PoP + successRate: 1 + - locationId: cs1RvxTXJcavxnbQ6fBE + totalTestRuns: 0 + successRuns: 0 + locationDisplayLabel: mini_PoP2_BrowserTest + successRate: 0 + createdAt: 1697175933150 + modifiedAt: 1700456221719 + metrics: + total_test_runs: + - - 1706132249095 + - 10 + successful_test_runs: + - - 1706132249095 + - 10 + response_time: + - - 1706132249095 + - 372.9 + success_rate: + - - 1706132249095 + - 1 + - testResultCommonProperties: + testId: 0OKldV7M44UfDxmNt1Ef + testName: Syne2eHttpActionTest + clientId: saas_instana_test + testCommonProperties: + id: 0OKldV7M44UfDxmNt1Ef + label: Syne2eHttpActionTest + type: API Simple + frequency: 5 + active: true + locationIds: + - 18WyhtDb5jpVOsjlNdeV + locationLabels: + - Syne2e + locationDisplayLabels: + - E2ETest PoP + locationStatusList: + - locationId: 18WyhtDb5jpVOsjlNdeV + totalTestRuns: 6 + successRuns: 6 + locationDisplayLabel: E2ETest PoP + successRate: 1 + createdAt: 1703867554340 + modifiedAt: 1703867554340 + metrics: + total_test_runs: + - - 1706132249095 + - 6 + successful_test_runs: + - - 1706132249095 + - 6 + response_time: + - - 1706132249095 + - 157.5 + success_rate: + - - 1706132249095 + - 1 + - testResultCommonProperties: + testId: 0qB3qb9659JBJ86bflnf + testName: Syne2eHttpActionTest + clientId: saas_instana_test + testCommonProperties: + id: 0qB3qb9659JBJ86bflnf + label: Syne2eHttpActionTest + type: API Simple + frequency: 5 + active: true + locationIds: + - 18WyhtDb5jpVOsjlNdeV + locationLabels: + - Syne2e + locationDisplayLabels: + - E2ETest PoP + locationStatusList: + - locationId: 18WyhtDb5jpVOsjlNdeV + totalTestRuns: 6 + successRuns: 6 + locationDisplayLabel: E2ETest PoP + successRate: 1 + createdAt: 1702269153825 + modifiedAt: 1702269153825 + metrics: + total_test_runs: + - - 1706132249095 + - 6 + successful_test_runs: + - - 1706132249095 + - 6 + response_time: + - - 1706132249095 + - 178.66666666666666 + success_rate: + - - 1706132249095 + - 1 page: 1 pageSize: 3 totalHits: 567 @@ -25218,42 +26731,47 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default - summary: Get a list of Synthetic tests with success rate and average response + - ApiKeyAuth: + - Default + summary: >- + Get a list of Synthetic tests with success rate and average response time data tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/{testid}/{testresultid}: get: - description: |- - Gets the list of detailed data file names associated to a Synthetic playback result - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Gets the list of detailed data file names associated to a Synthetic + playback result + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getSyntheticResultMetadata parameters: - - description: Test id of the test result detailed description to be retrieved - example: AMl0Y7tsvpp8XXrXt1XO - in: path - name: testid - required: true - schema: - type: string - - description: Test result id of the test result detailed description to be - retrieved - example: 5623c161-31d6-49b8-b314-91d4fb598f55 - in: path - name: testresultid - required: true - schema: - type: string - - description: Start time of the test result detailed description - example: 1730295066008 - in: query - name: startTime - schema: - type: integer - format: int64 + - description: Test id of the test result detailed description to be retrieved + example: AMl0Y7tsvpp8XXrXt1XO + in: path + name: testid + required: true + schema: + type: string + - description: >- + Test result id of the test result detailed description to be + retrieved + example: 5623c161-31d6-49b8-b314-91d4fb598f55 + in: path + name: testresultid + required: true + schema: + type: string + - description: Start time of the test result detailed description + example: 1730295066008 + in: query + name: startTime + schema: + type: integer + format: int64 responses: '200': content: @@ -25264,7 +26782,7 @@ paths: startTime: 1730295066008 metadata: logs.tgz: - - console.log + - console.log schema: $ref: '#/components/schemas/TestResultMetadata' description: OK @@ -25277,60 +26795,64 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Synthetic test playback detail result description(metadata) tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/{testid}/{testresultid}/detail: get: - description: |- - Download the contents of the Synthetic the playback result detail data file matching the specified file type - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Download the contents of the Synthetic the playback result detail data + file matching the specified file type + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getSyntheticResultDetailData parameters: - - description: Test id of the test result detailed file contents to be retrieved - example: AMl0Y7tsvpp8XXrXt1XO - in: path - name: testid - required: true - schema: - type: string - - description: Test result id of the test result detailed file to be retrieved - example: 5623c161-31d6-49b8-b314-91d4fb598f55 - in: path - name: testresultid - required: true - schema: - type: string - - description: Type of the test result detailed file contents - example: LOGS - in: query - name: type - required: true - schema: - type: string - enum: - - HAR - - IMAGES - - LOGS - - SUBTRANSACTIONS - - VIDEOS - - description: Name of the test result detailed file, if more than one file - available for the same type. Can be used when parameter type=LOGS - example: console.log - in: query - name: name - schema: - type: string - - description: Start time of the test result detailed file contents - example: 1730295066008 - in: query - name: startTime - schema: - type: integer - format: int64 + - description: Test id of the test result detailed file contents to be retrieved + example: AMl0Y7tsvpp8XXrXt1XO + in: path + name: testid + required: true + schema: + type: string + - description: Test result id of the test result detailed file to be retrieved + example: 5623c161-31d6-49b8-b314-91d4fb598f55 + in: path + name: testresultid + required: true + schema: + type: string + - description: Type of the test result detailed file contents + example: LOGS + in: query + name: type + required: true + schema: + type: string + enum: + - HAR + - IMAGES + - LOGS + - SUBTRANSACTIONS + - VIDEOS + - description: >- + Name of the test result detailed file, if more than one file + available for the same type. Can be used when parameter type=LOGS + example: console.log + in: query + name: name + schema: + type: string + - description: Start time of the test result detailed file contents + example: 1730295066008 + in: query + name: startTime + schema: + type: integer + format: int64 responses: '200': content: @@ -25338,21 +26860,41 @@ paths: example: testId: AMl0Y7tsvpp8XXrXt1XO testResultId: 5623c161-31d6-49b8-b314-91d4fb598f55 - logs: | - 2024-01-18T19:55:02.162Z [SyntheticPoP] synthetic playback starts - 2024-01-18T19:55:02.169Z [SyntheticPoP] http request undefined https://www.ibm.com/ - 2024-01-18T19:55:02.319Z [SyntheticPoP] http response 303 for https://www.ibm.com/ - 2024-01-18T19:55:02.430Z [SyntheticPoP] http response 200 for https://www.ibm.com/us-en + logs: > + 2024-01-18T19:55:02.162Z [SyntheticPoP] synthetic playback + starts + + 2024-01-18T19:55:02.169Z [SyntheticPoP] http request undefined + https://www.ibm.com/ + + 2024-01-18T19:55:02.319Z [SyntheticPoP] http response 303 for + https://www.ibm.com/ + + 2024-01-18T19:55:02.430Z [SyntheticPoP] http response 200 for + https://www.ibm.com/us-en + 2024-01-18T19:55:02.478Z http request 1/2: 200 - 2024-01-18T19:56:01.103Z [SyntheticPoP] synthetic playback ends + + 2024-01-18T19:56:01.103Z [SyntheticPoP] synthetic playback + ends logFiles: - console.log: | - 2024-01-18T19:55:02.162Z [SyntheticPoP] synthetic playback starts - 2024-01-18T19:55:02.169Z [SyntheticPoP] http request undefined https://www.ibm.com/ - 2024-01-18T19:55:02.319Z [SyntheticPoP] http response 303 for https://www.ibm.com/ - 2024-01-18T19:55:02.430Z [SyntheticPoP] http response 200 for https://www.ibm.com/us-en + console.log: > + 2024-01-18T19:55:02.162Z [SyntheticPoP] synthetic playback + starts + + 2024-01-18T19:55:02.169Z [SyntheticPoP] http request + undefined https://www.ibm.com/ + + 2024-01-18T19:55:02.319Z [SyntheticPoP] http response 303 + for https://www.ibm.com/ + + 2024-01-18T19:55:02.430Z [SyntheticPoP] http response 200 + for https://www.ibm.com/us-en + 2024-01-18T19:55:02.478Z http request 1/2: 200 - 2024-01-18T19:56:01.103Z [SyntheticPoP] synthetic playback ends + + 2024-01-18T19:56:01.103Z [SyntheticPoP] synthetic playback + ends schema: $ref: '#/components/schemas/TestResultDetailData' description: OK @@ -25365,58 +26907,60 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get Synthetic test playback result detail data tags: - - Synthetic Test Playback Results - x-ibm-ahub-byok: true + - Synthetic Test Playback Results /api/synthetics/results/{testid}/{testresultid}/file: get: - description: |- - Download a Synthetic the playback result detail data file matching the specified file type - For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. + description: >- + Download a Synthetic the playback result detail data file matching the + specified file type + + For more information on Synthetic Test Playback Results please access + the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results. operationId: getSyntheticResultDetailDataFile parameters: - - description: Test id of the test result detailed file to be retrieved - example: AMl0Y7tsvpp8XXrXt1XO - in: path - name: testid - required: true - schema: - type: string - - description: Test result id of the test result detailed file to be retrieved - example: 5623c161-31d6-49b8-b314-91d4fb598f55 - in: path - name: testresultid - required: true - schema: - type: string - - description: Type of the test result detailed file - example: LOGS - in: query - name: type - required: true - schema: - type: string - enum: - - HAR - - IMAGES - - LOGS - - SUBTRANSACTIONS - - VIDEOS - - description: Start time of the test result detailed file - example: 1730295066008 - in: query - name: startTime - schema: - type: integer - format: int64 + - description: Test id of the test result detailed file to be retrieved + example: AMl0Y7tsvpp8XXrXt1XO + in: path + name: testid + required: true + schema: + type: string + - description: Test result id of the test result detailed file to be retrieved + example: 5623c161-31d6-49b8-b314-91d4fb598f55 + in: path + name: testresultid + required: true + schema: + type: string + - description: Type of the test result detailed file + example: LOGS + in: query + name: type + required: true + schema: + type: string + enum: + - HAR + - IMAGES + - LOGS + - SUBTRANSACTIONS + - VIDEOS + - description: Start time of the test result detailed file + example: 1730295066008 + in: query + name: startTime + schema: + type: integer + format: int64 responses: '200': content: - application/octet-stream: { - } + application/octet-stream: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -25427,38 +26971,39 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Download the synthetic test playback result detail data file tags: - - Synthetic Test Playback Results + - Synthetic Test Playback Results x-description: getSyntheticResultDetailDataFile - x-ibm-ahub-byok: true /api/synthetics/settings/credentials: get: - description: |- + description: >- API request to retrieve the names of all Synthetic Credentials. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticCredentialNames responses: '200': content: application/json: example: - - kittyhawk_test2 - - user1_password - - user1_name - - MyBearer - - MY_CREDS333 - - Test_Creds - - credName5 - - credName4 - - credName3 - - credName2 - - credName1 - - MY_CREDS1 - - MY_PASS - - USER_NAME_TEST + - kittyhawk_test2 + - user1_password + - user1_name + - MyBearer + - MY_CREDS333 + - Test_Creds + - credName5 + - credName4 + - credName3 + - credName2 + - credName1 + - MY_CREDS1 + - MY_PASS + - USER_NAME_TEST schema: type: array items: @@ -25473,17 +27018,18 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canUseSyntheticCredentials - - canConfigureSyntheticTests + - ApiKeyAuth: + - canUseSyntheticCredentials + - canConfigureSyntheticTests summary: All Synthetic credential names tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings post: - description: |- + description: >- API request to create a Synthetic Credential. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: createSyntheticCredential requestBody: content: @@ -25492,16 +27038,15 @@ paths: credentialName: userPassword credentialValue: '123456' rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticCredential' required: true responses: '200': content: - application/json: { - } + application/json: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -25510,34 +27055,35 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticCredentials + - ApiKeyAuth: + - canConfigureSyntheticCredentials summary: Create a Synthetic credential tags: - - Synthetic Settings + - Synthetic Settings x-payload: createSyntheticCredential - x-ibm-ahub-byok: true /api/synthetics/settings/credentials/associations: get: - description: |- + description: >- API request to retrieve all Synthetic Credentials. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticCredentialAssociations responses: '200': content: application/json: example: - - credentialName: password1 - createdAt: 1717617206785 - modifiedAt: 1717617206785 - - credentialName: password2 - applications: - - f4KX5zd8RW2pERKKFUCZgQ - applicationLabels: - - All Services - createdAt: 1717620972843 - modifiedAt: 1717620972843 + - credentialName: password1 + createdAt: 1717617206785 + modifiedAt: 1717617206785 + - credentialName: password2 + applications: + - f4KX5zd8RW2pERKKFUCZgQ + applicationLabels: + - All Services + createdAt: 1717620972843 + modifiedAt: 1717620972843 schema: type: array items: @@ -25552,27 +27098,28 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canUseSyntheticCredentials - - canConfigureSyntheticTests + - ApiKeyAuth: + - canUseSyntheticCredentials + - canConfigureSyntheticTests summary: All Synthetic credentials tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/credentials/associations/{name}: get: - description: |- + description: >- API request to retrieve a Synthetic Credential with matching name. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getOneSyntheticCredentialAssociations parameters: - - description: Name of the credential to be retrieved - example: password4test - in: path - name: name - required: true - schema: - type: string + - description: Name of the credential to be retrieved + example: password4test + in: path + name: name + required: true + schema: + type: string responses: '200': content: @@ -25580,9 +27127,9 @@ paths: example: credentialName: password4test applications: - - f4KX5zd8RW2pERKKFUCZgQ + - f4KX5zd8RW2pERKKFUCZgQ applicationLabels: - - All Services + - All Services createdAt: 1717620972843 modifiedAt: 1717620972843 schema: @@ -25597,27 +27144,28 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canUseSyntheticCredentials - - canConfigureSyntheticTests + - ApiKeyAuth: + - canUseSyntheticCredentials + - canConfigureSyntheticTests summary: A Synthetic credential tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/credentials/{name}: delete: - description: |- + description: >- API request to delete a Synthetic Credential. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: deleteSyntheticCredential parameters: - - description: Name of the credential to be deleted - example: password4test - in: path - name: name - required: true - schema: - type: string + - description: Name of the credential to be deleted + example: password4test + in: path + name: name + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -25628,43 +27176,43 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticCredentials + - ApiKeyAuth: + - canConfigureSyntheticCredentials summary: Delete a Synthetic credential tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings patch: - description: |- + description: >- API request to patch attributes of a Synthetic Credential. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: patchSyntheticCredential parameters: - - description: Name of the credential to be patched - example: password4test - in: path - name: name - required: true - schema: - type: string + - description: Name of the credential to be patched + example: password4test + in: path + name: name + required: true + schema: + type: string requestBody: content: application/json: example: credentialValue: password4test applications: - - f4KX5zd8RW2pERKKFUCZgQ + - f4KX5zd8RW2pERKKFUCZgQ rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticCredential' required: true responses: '200': content: - application/json: { - } + application/json: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -25673,27 +27221,28 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canUseSyntheticCredentials - - canConfigureSyntheticTests + - ApiKeyAuth: + - canUseSyntheticCredentials + - canConfigureSyntheticTests summary: Patch a Synthetic credential tags: - - Synthetic Settings + - Synthetic Settings x-description: patchSyntheticCredential - x-ibm-ahub-byok: true put: - description: |- + description: >- API request to update a Synthetic Credential. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: updateSyntheticCredential parameters: - - description: Name of the credential to be updated - example: password4db2 - in: path - name: name - required: true - schema: - type: string + - description: Name of the credential to be updated + example: password4db2 + in: path + name: name + required: true + schema: + type: string requestBody: content: application/json: @@ -25701,18 +27250,17 @@ paths: credentialName: password4db2 credentialValue: '123456' applications: - - f4KX5zd8RW2pERKKFUCZgQ + - f4KX5zd8RW2pERKKFUCZgQ rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticCredential' required: true responses: '201': content: - application/json: { - } + application/json: {} description: Successful - resource created '401': description: Unauthorized access - requires user authentication. @@ -25721,52 +27269,53 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticCredentials + - ApiKeyAuth: + - canConfigureSyntheticCredentials summary: Update a Synthetic credential tags: - - Synthetic Settings + - Synthetic Settings x-payload: updateSyntheticCredential - x-ibm-ahub-byok: true /api/synthetics/settings/datacenters: get: - description: |- + description: >- API request to retrieve all Synthetic Datacenters. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticDatacenters responses: '200': content: application/json: example: - - code: us-east-1 - label: us-east-1(NVirginia) - provider: aws - countryName: USA - cityName: NVirginia - latitude: 37.22 - longitude: -81.44 - status: Active - modifiedAt: 1728096600396 - configuration: - ipAddresses: - - 34.226.13.189 - locationLabel: instana-test-aws-us-east-1-NVirginia - datacenterId: aws-us-east-1-NVirginia - - code: eu-central-1 - label: eu-central-1(Frankfurt) - provider: aws - countryName: DEU - cityName: Frankfurt - latitude: 50.11 - longitude: 8.68 - status: Active - modifiedAt: 1710241599981 - configuration: - ipAddresses: - - 3.122.151.177 - locationLabel: instana-test-aws-eu-central-1-Frankfurt - datacenterId: aws-eu-central-1-Frankfurt + - code: us-east-1 + label: us-east-1(NVirginia) + provider: aws + countryName: USA + cityName: NVirginia + latitude: 37.22 + longitude: -81.44 + status: Active + modifiedAt: 1728096600396 + configuration: + ipAddresses: + - 34.226.13.189 + locationLabel: instana-test-aws-us-east-1-NVirginia + datacenterId: aws-us-east-1-NVirginia + - code: eu-central-1 + label: eu-central-1(Frankfurt) + provider: aws + countryName: DEU + cityName: Frankfurt + latitude: 50.11 + longitude: 8.68 + status: Active + modifiedAt: 1710241599981 + configuration: + ipAddresses: + - 3.122.151.177 + locationLabel: instana-test-aws-eu-central-1-Frankfurt + datacenterId: aws-eu-central-1-Frankfurt schema: type: array items: @@ -25779,26 +27328,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticLocations + - ApiKeyAuth: + - canConfigureSyntheticLocations summary: All Synthetic datacenters tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/datacenters/{datacenterId}: get: - description: |- + description: >- API request to retrieve a Synthetic Datacenter with matching id. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticDatacenter parameters: - - description: Id of the datacenter to be retrieved - example: aws-us-east-1-NVirginia - in: path - name: datacenterId - required: true - schema: - type: string + - description: Id of the datacenter to be retrieved + example: aws-us-east-1-NVirginia + in: path + name: datacenterId + required: true + schema: + type: string responses: '200': content: @@ -25815,7 +27365,7 @@ paths: modifiedAt: 1728096600396 configuration: ipAddresses: - - 34.226.13.189 + - 34.226.13.189 locationLabel: instana-test-aws-us-east-1-NVirginia datacenterId: aws-us-east-1-NVirginia schema: @@ -25830,116 +27380,119 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticLocations + - ApiKeyAuth: + - canConfigureSyntheticLocations summary: A Synthetic datacenter tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/locations: get: - description: |- + description: >- API request to retrieve Synthetic Locations. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticLocations parameters: - - description: Defines the attribute by which the returned synthetic locations - will be ordered by. Order using '+' means ASC and '-' means DESC - example: +label - in: query - name: sort - schema: - type: string - pattern: ' <+|->' - - description: Used in conjunction with limit. Defines how many pages will be - skipped before returning the synthetic locations - example: 1 - in: query - name: offset - schema: - type: integer - format: int64 - - description: Defines the size of a page - the number of synthetic locations - that will be returned by the query - example: 10 - in: query - name: limit - schema: - type: integer - format: int64 - - description: Defines the attributes by which the returned synthetic locations - will be filtered by. Multiple filter parameters are allowed. See 'Supported - filter attributes and operators' for complete list of supported attributes - and operators. - example: '{locationType=Managed}' - in: query - name: filter - schema: - type: string - pattern: ' {}' + - description: >- + Defines the attribute by which the returned synthetic locations will + be ordered by. Order using '+' means ASC and '-' means DESC + example: +label + in: query + name: sort + schema: + type: string + pattern: ' <+|->' + - description: >- + Used in conjunction with limit. Defines how many pages will be + skipped before returning the synthetic locations + example: 1 + in: query + name: offset + schema: + type: integer + format: int64 + - description: >- + Defines the size of a page - the number of synthetic locations that + will be returned by the query + example: 10 + in: query + name: limit + schema: + type: integer + format: int64 + - description: >- + Defines the attributes by which the returned synthetic locations + will be filtered by. Multiple filter parameters are allowed. See + 'Supported filter attributes and operators' for complete list of + supported attributes and operators. + example: '{locationType=Managed}' + in: query + name: filter + schema: + type: string + pattern: ' {}' responses: '200': content: application/json: example: - - id: 55bzhnXQ9uqwld4Ha3bD - label: Austin - displayLabel: AUTO - popVersion: 1.1.2 - description: My Location 101 - locationType: Private - playbackCapabilities: - syntheticType: - - HTTPAction - - HTTPScript - - BrowserScript - - WebpageScript - browserType: - - firefox - - chrome - geoPoint: - cityName: austin - countryName: india - latitude: 0 - longitude: 0 - totalTests: 1 - configuration: - namespace: syn-pop-tls - customProperties: { - } - createdAt: 1698742890784 - modifiedAt: 1702372728619 - observedAt: 1704266105229 - status: Offline - - id: OjJPXWHmsE9deLzanNAW - label: Dallas - displayLabel: AUTOscaling - popVersion: 1.1.1 - description: My Location 101 - locationType: Private - playbackCapabilities: - syntheticType: - - HTTPAction - - HTTPScript - - BrowserScript - - WebpageScript - browserType: - - firefox - - chrome - geoPoint: - cityName: dallas - countryName: india - latitude: 0 - longitude: 0 - totalTests: 0 - configuration: - namespace: andy - customProperties: { - } - createdAt: 1698988890723 - modifiedAt: 1700116951600 - observedAt: 1705556766316 - status: Offline + - id: 55bzhnXQ9uqwld4Ha3bD + label: Austin + displayLabel: AUTO + popVersion: 1.1.2 + description: My Location 101 + locationType: Private + playbackCapabilities: + syntheticType: + - HTTPAction + - HTTPScript + - BrowserScript + - WebpageScript + browserType: + - firefox + - chrome + geoPoint: + cityName: austin + countryName: india + latitude: 0 + longitude: 0 + totalTests: 1 + configuration: + namespace: syn-pop-tls + customProperties: {} + createdAt: 1698742890784 + modifiedAt: 1702372728619 + observedAt: 1704266105229 + status: Offline + - id: OjJPXWHmsE9deLzanNAW + label: Dallas + displayLabel: AUTOscaling + popVersion: 1.1.1 + description: My Location 101 + locationType: Private + playbackCapabilities: + syntheticType: + - HTTPAction + - HTTPScript + - BrowserScript + - WebpageScript + browserType: + - firefox + - chrome + geoPoint: + cityName: dallas + countryName: india + latitude: 0 + longitude: 0 + totalTests: 0 + configuration: + namespace: andy + customProperties: {} + createdAt: 1698988890723 + modifiedAt: 1700116951600 + observedAt: 1705556766316 + status: Offline schema: type: array items: @@ -25950,27 +27503,28 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canViewSyntheticLocations + - ApiKeyAuth: + - canViewSyntheticLocations summary: All Synthetic locations tags: - - Synthetic Settings + - Synthetic Settings x-description: getSyntheticLocations - x-ibm-ahub-byok: true /api/synthetics/settings/locations/{id}: delete: - description: |- + description: >- API request to delete a Synthetic Location with matching id. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: deleteSyntheticLocation parameters: - - description: Identifier of the location to be deleted - example: 55bzhnXQ9uqwld4Ha3bD - in: path - name: id - required: true - schema: - type: string + - description: Identifier of the location to be deleted + example: 55bzhnXQ9uqwld4Ha3bD + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -25979,26 +27533,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticLocations + - ApiKeyAuth: + - canConfigureSyntheticLocations summary: Delete a Synthetic location tags: - - Synthetic Settings + - Synthetic Settings x-description: deleteSyntheticLocation - x-ibm-ahub-byok: true get: - description: |- + description: >- API request to retrieve a Synthetic Location with matching id. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticLocation parameters: - - description: Identifier of the location to be retrieved - example: OjJPXWHmsE9deLzanNAW - in: path - name: id - required: true - schema: - type: string + - description: Identifier of the location to be retrieved + example: OjJPXWHmsE9deLzanNAW + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -26012,13 +27567,13 @@ paths: locationType: Private playbackCapabilities: syntheticType: - - HTTPAction - - HTTPScript - - BrowserScript - - WebpageScript + - HTTPAction + - HTTPScript + - BrowserScript + - WebpageScript browserType: - - firefox - - chrome + - firefox + - chrome geoPoint: cityName: austin countryName: india @@ -26027,8 +27582,7 @@ paths: totalTests: 0 configuration: namespace: andy - customProperties: { - } + customProperties: {} createdAt: 1698988890723 modifiedAt: 1700116951600 observedAt: 1705556766316 @@ -26043,170 +27597,185 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canViewSyntheticLocations + - ApiKeyAuth: + - canViewSyntheticLocations summary: A Synthetic location tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/tests: get: - description: |- + description: >- API request to retrieve Synthetic Tests. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticTests parameters: - - description: 'Defines the application id by which the returned synthetic tests - will be filtered by. ' - example: pWoK4onRRN-POTz1RU62UQ - in: query - name: applicationId - schema: - type: string - - description: 'Defines the location id by which the returned synthetic tests - will be filtered by. ' - example: 18WyhtDb5jpVOsjlNdeV - in: query - name: locationId - schema: - type: string - - description: 'Defines the credential name by which the returned synthetic - tests will be filtered by. ' - example: adminPassword - in: query - name: credentialName - schema: - type: string - - description: Defines the attribute by which the returned synthetic tests will - be ordered by. Order using '+' means ASC and '-' means DESC - example: +label - in: query - name: sort - schema: - type: string - pattern: ' <+|->' - - description: Used in conjunction with limit. Defines how many pages will be - skipped before returning the synthetic tests - example: 1 - in: query - name: offset - schema: - type: integer - format: int64 - - description: Defines the size of a page - the number of synthetic tests that - will be returned by the query - example: 10 - in: query - name: limit - schema: - type: integer - format: int64 - - description: Defines the attributes by which the returned synthetic tests - will be filtered by. Multiple filter parameters are allowed. See 'Supported - filter attributes and operators' for complete list of supported attributes - and operators. - example: '{label=MyTest}' - in: query - name: filter - schema: - type: string - pattern: ' {}' + - description: >- + Defines the application id by which the returned synthetic tests + will be filtered by. + example: pWoK4onRRN-POTz1RU62UQ + in: query + name: applicationId + schema: + type: string + - description: >- + Defines the location id by which the returned synthetic tests will + be filtered by. + example: 18WyhtDb5jpVOsjlNdeV + in: query + name: locationId + schema: + type: string + - description: >- + Defines the credential name by which the returned synthetic tests + will be filtered by. + example: adminPassword + in: query + name: credentialName + schema: + type: string + - description: >- + Defines the attribute by which the returned synthetic tests will be + ordered by. Order using '+' means ASC and '-' means DESC + example: +label + in: query + name: sort + schema: + type: string + pattern: ' <+|->' + - description: >- + Used in conjunction with limit. Defines how many pages will be + skipped before returning the synthetic tests + example: 1 + in: query + name: offset + schema: + type: integer + format: int64 + - description: >- + Defines the size of a page - the number of synthetic tests that will + be returned by the query + example: 10 + in: query + name: limit + schema: + type: integer + format: int64 + - description: >- + Defines the attributes by which the returned synthetic tests will be + filtered by. Multiple filter parameters are allowed. See 'Supported + filter attributes and operators' for complete list of supported + attributes and operators. + example: '{label=MyTest}' + in: query + name: filter + schema: + type: string + pattern: ' {}' responses: '200': content: application/json: example: - - id: ic25Vt1T5dgKzi0K7812 - tenantId: saas_instana_test - label: 260-api-feature - active: true - testFrequency: 10 - playbackMode: Simultaneous - applicationId: UOGJ3jBOSMOgN2EBCoOghw - applicationLabel: test_cb - locations: - - KHphVmZqqRf9Kp2xSoud - - cs1RvxTXJcavxnbQ6fBE - locationLabels: - - microk8s_PoP - - mini_PoP2_BrowserTest - locationDisplayLabels: - - MicroK8s PoP - - mini_PoP2_BrowserTest - configuration: - syntheticType: HTTPScript - markSyntheticCall: true - retries: 1 - retryInterval: 1 - timeout: '' - script: "const assert = require('assert');\n\n$got('https://www.ibm.com').then(response=>{\n\ - \ console.log('request 1/2:', response.statusCode);\n assert.equal(response.statusCode,\ - \ 200, 'it should be 200')\n \n setTimeout(()=>{\n \ - \ $got('https://www.bing.com').then(response=>{\n \ - \ console.log('request 2/2:', response.statusCode);\n \ - \ assert.equal(response.statusCode, 200, 'it should be 200')\n\ - \ })\n\n }, 70000);\n});" - scriptType: Basic - customProperties: { - } - createdAt: 1697175907759 - modifiedAt: 1705915155144 - - id: EFNRoPd39SgZBkULeQIf - tenantId: saas_instana_test - label: APITest_getApplication - active: true - testFrequency: 15 - playbackMode: Simultaneous - applicationId: UOGJ3jBOSMOgN2EBCoOghw - applicationLabel: test_cb - locations: - - 18WyhtDb5jpVOsjlNdeV - locationLabels: - - Syne2e - locationDisplayLabels: - - E2ETest PoP - configuration: - syntheticType: HTTPScript - markSyntheticCall: true - retries: 2 - retryInterval: 1 - timeout: 10m - script: |- - const got = require('got'); - const assert = require('assert'); + - id: ic25Vt1T5dgKzi0K7812 + tenantId: saas_instana_test + label: 260-api-feature + active: true + testFrequency: 10 + playbackMode: Simultaneous + applicationId: UOGJ3jBOSMOgN2EBCoOghw + applicationLabel: test_cb + locations: + - KHphVmZqqRf9Kp2xSoud + - cs1RvxTXJcavxnbQ6fBE + locationLabels: + - microk8s_PoP + - mini_PoP2_BrowserTest + locationDisplayLabels: + - MicroK8s PoP + - mini_PoP2_BrowserTest + configuration: + syntheticType: HTTPScript + markSyntheticCall: true + retries: 1 + retryInterval: 1 + timeout: '' + script: |- + const assert = require('assert'); - // Define the API request configuration - const apiConfig = { - method: 'GET', - url: 'https://test-instana.pink.instana.rocks/api/application-monitoring/settings/application/btg-B701Rx6o9QNXUS4TVw', - headers: { - 'Authorization': $secure.apiToken - } - }; + $got('https://www.ibm.com').then(response=>{ + console.log('request 1/2:', response.statusCode); + assert.equal(response.statusCode, 200, 'it should be 200') + + setTimeout(()=>{ + $got('https://www.bing.com').then(response=>{ + console.log('request 2/2:', response.statusCode); + assert.equal(response.statusCode, 200, 'it should be 200') + }) - // Function to perform the API test - const performAPITest = async () => { - const response = await got(apiConfig); - console.info("Get one application API - GET, response code: " + response.statusCode); - assert.ok(response.statusCode == 200, "GET status is " + response.statusCode + ", it should be 200"); + }, 70000); + }); + scriptType: Basic + customProperties: {} + createdAt: 1697175907759 + modifiedAt: 1705915155144 + - id: EFNRoPd39SgZBkULeQIf + tenantId: saas_instana_test + label: APITest_getApplication + active: true + testFrequency: 15 + playbackMode: Simultaneous + applicationId: UOGJ3jBOSMOgN2EBCoOghw + applicationLabel: test_cb + locations: + - 18WyhtDb5jpVOsjlNdeV + locationLabels: + - Syne2e + locationDisplayLabels: + - E2ETest PoP + configuration: + syntheticType: HTTPScript + markSyntheticCall: true + retries: 2 + retryInterval: 1 + timeout: 10m + script: |- + const got = require('got'); + const assert = require('assert'); - const jsonBody = JSON.parse(response.body); - assert.ok(jsonBody.id != "", "Application ID is not in the payload"); - assert.ok(jsonBody.label != "", "Application label is not in the payload"); - assert.ok(jsonBody.tagFilterExpression != null, "tagFilterExpression is not in the payload"); - }; + // Define the API request configuration + const apiConfig = { + method: 'GET', + url: 'https://test-instana.pink.instana.rocks/api/application-monitoring/settings/application/btg-B701Rx6o9QNXUS4TVw', + headers: { + 'Authorization': $secure.apiToken + } + }; - // Initial test - performAPITest(); - scriptType: Basic - customProperties: - test: '123' - createdAt: 1696625954210 - modifiedAt: 1701216106812 - modifiedBy: Internal - rbacTags: - - id: test - displayName: test + // Function to perform the API test + const performAPITest = async () => { + const response = await got(apiConfig); + console.info("Get one application API - GET, response code: " + response.statusCode); + assert.ok(response.statusCode == 200, "GET status is " + response.statusCode + ", it should be 200"); + + const jsonBody = JSON.parse(response.body); + assert.ok(jsonBody.id != "", "Application ID is not in the payload"); + assert.ok(jsonBody.label != "", "Application label is not in the payload"); + assert.ok(jsonBody.tagFilterExpression != null, "tagFilterExpression is not in the payload"); + }; + + // Initial test + performAPITest(); + scriptType: Basic + customProperties: + test: '123' + createdAt: 1696625954210 + modifiedAt: 1701216106812 + modifiedBy: Internal + rbacTags: + - id: test + displayName: test schema: type: array items: @@ -26219,17 +27788,18 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canViewSyntheticTests + - ApiKeyAuth: + - canViewSyntheticTests summary: All Synthetic tests tags: - - Synthetic Settings + - Synthetic Settings x-description: getSyntheticTests - x-ibm-ahub-byok: true post: - description: |- + description: >- API request to create a Synthetic Test. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: createSyntheticTest requestBody: content: @@ -26242,7 +27812,7 @@ paths: testFrequency: 1 playbackMode: Simultaneous locations: - - saas_instana_test + - saas_instana_test configuration: syntheticType: HTTPAction url: https://httpbin.org/post @@ -26255,8 +27825,8 @@ paths: Team: DevTeam Purpose: Demo rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticTest' required: true @@ -26274,7 +27844,7 @@ paths: testFrequency: 1 playbackMode: Simultaneous locations: - - saas_instana_test + - saas_instana_test configuration: syntheticType: HTTPAction url: https://httpbin.org/post @@ -26286,9 +27856,9 @@ paths: customProperties: Team: DevTeam Purpose: Demo - rbacTags: - - id: test - displayName: test + rbacTags: + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticTest' description: Successful - resource created @@ -26299,13 +27869,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Create a Synthetic test tags: - - Synthetic Settings + - Synthetic Settings x-description: createSyntheticTest - x-ibm-ahub-byok: true /api/synthetics/settings/tests/bulk-delete: post: description: API request to delete a list of Synthetic Tests. @@ -26314,10 +27883,10 @@ paths: content: application/json: example: - - ic25Vt1T5dgKzi0K7812 - - EFNRoPd39SgZBkULeQIf - - kaj02pbxbW0XmQP9qu4b - - FrhxAJzKdsXU6V4WxWrY + - ic25Vt1T5dgKzi0K7812 + - EFNRoPd39SgZBkULeQIf + - kaj02pbxbW0XmQP9qu4b + - FrhxAJzKdsXU6V4WxWrY schema: type: array items: @@ -26329,14 +27898,14 @@ paths: content: application/json: example: - - id: ic25Vt1T5dgKzi0K7812 - status: 200 - Success - - id: EFNRoPd39SgZBkULeQIf - status: 404 - Not Found - - id: kaj02pbxbW0XmQP9qu4b - status: 401 - Forbidden - - id: FrhxAJzKdsXU6V4WxWrY - status: 500 - Internal Server Error + - id: ic25Vt1T5dgKzi0K7812 + status: 200 - Success + - id: EFNRoPd39SgZBkULeQIf + status: 404 - Not Found + - id: kaj02pbxbW0XmQP9qu4b + status: 401 - Forbidden + - id: FrhxAJzKdsXU6V4WxWrY + status: 500 - Internal Server Error schema: type: array items: @@ -26349,12 +27918,11 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Delete Synthetic tests tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/tests/bulk-update: post: description: API request to update a list of Synthetic Tests. @@ -26396,14 +27964,14 @@ paths: content: application/json: example: - - id: ic25Vt1T5dgKzi0K7812 - status: 200 - Success - - id: EFNRoPd39SgZBkULeQIf - status: 404 - Not Found - - id: kaj02pbxbW0XmQP9qu4b - status: 401 - Forbidden - - id: FrhxAJzKdsXU6V4WxWrY - status: 500 - Internal Server Error + - id: ic25Vt1T5dgKzi0K7812 + status: 200 - Success + - id: EFNRoPd39SgZBkULeQIf + status: 404 - Not Found + - id: kaj02pbxbW0XmQP9qu4b + status: 401 - Forbidden + - id: FrhxAJzKdsXU6V4WxWrY + status: 500 - Internal Server Error schema: type: array items: @@ -26416,76 +27984,80 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Update Synthetic tests tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings /api/synthetics/settings/tests/ci-cd: get: - description: |- + description: >- API request to retrieve the Synthetic Test CI/CDs - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticTestCICDs parameters: - - description: Defines the attributes by which the returned synthetic test CI/CDs - will be filtered by. Multiple filter parameters are allowed. See 'Supported - filter attributes and operators' for complete list of supported attributes - and operators. - example: '{runType=OnDemand}' - in: query - name: filter - schema: - type: string - pattern: ' {}' - - description: Used in conjunction with limit. Defines how many pages will be - skipped before returning the synthetic test CI/CDs - example: 1 - in: query - name: offset - schema: - type: integer - format: int64 - - description: Defines the size of a page - the number of synthetic test CI/CDs - that will be returned by the query - example: 10 - in: query - name: limit - schema: - type: integer - format: int64 + - description: >- + Defines the attributes by which the returned synthetic test CI/CDs + will be filtered by. Multiple filter parameters are allowed. See + 'Supported filter attributes and operators' for complete list of + supported attributes and operators. + example: '{runType=OnDemand}' + in: query + name: filter + schema: + type: string + pattern: ' {}' + - description: >- + Used in conjunction with limit. Defines how many pages will be + skipped before returning the synthetic test CI/CDs + example: 1 + in: query + name: offset + schema: + type: integer + format: int64 + - description: >- + Defines the size of a page - the number of synthetic test CI/CDs + that will be returned by the query + example: 10 + in: query + name: limit + schema: + type: integer + format: int64 responses: '200': content: application/json: example: - - testResultId: e22aba08-e630-422d-8d7a-19b8a1c75d32 - locationId: r4zo4DjbORqEAES2c8xj - locationLabel: SynTest - testId: 5ufGW4jOnZNhViGmIbnx - testLabel: test - testType: HTTPAction - runType: OnDemand - completed: false - customization: - configuration: - retries: 1 - timeout: 15s - customProperties: - tag: test - - testResultId: 0cf1324b-3022-4116-ae03-6c868daa43d4 - locationId: r4zo4DjbORqEAES2c8xj - locationLabel: SynTest - testId: 5ufGW4jOnZNhViGmIbnx - testLabel: test - testType: HTTPAction - runType: OnDemand - completed: false - customization: - configuration: - retries: 2 - timeout: 5s + - testResultId: e22aba08-e630-422d-8d7a-19b8a1c75d32 + locationId: r4zo4DjbORqEAES2c8xj + locationLabel: SynTest + testId: 5ufGW4jOnZNhViGmIbnx + testLabel: test + testType: HTTPAction + runType: OnDemand + completed: false + customization: + configuration: + retries: 1 + timeout: 15s + customProperties: + tag: test + - testResultId: 0cf1324b-3022-4116-ae03-6c868daa43d4 + locationId: r4zo4DjbORqEAES2c8xj + locationLabel: SynTest + testId: 5ufGW4jOnZNhViGmIbnx + testLabel: test + testType: HTTPAction + runType: OnDemand + completed: false + customization: + configuration: + retries: 2 + timeout: 5s schema: type: array items: @@ -26498,33 +28070,34 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: All Synthetic test CI/CDs tags: - - Synthetic Settings + - Synthetic Settings x-description: getSyntheticTestCICDs - x-ibm-ahub-byok: true post: - description: |- + description: >- API request to create a Synthetic Test CI/CD. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: createSyntheticTestCICD requestBody: content: application/json: example: - - testId: K331gkuCbelN1HI5y1wl - customization: - locations: - - 8mCxCPOI7oEmMSee4ec0 - - lalQTzq7MwO6hZ6c6xDd - configuration: - timeout: 100ms - retries: 2 - customProperties: - Team: DevTeam - Purpose: Demo + - testId: K331gkuCbelN1HI5y1wl + customization: + locations: + - 8mCxCPOI7oEmMSee4ec0 + - lalQTzq7MwO6hZ6c6xDd + configuration: + timeout: 100ms + retries: 2 + customProperties: + Team: DevTeam + Purpose: Demo schema: type: array items: @@ -26536,12 +28109,12 @@ paths: content: application/json: example: - - testResultId: f078443e-468c-4e35-b614-979ad9200fe4 - testId: K331gkuCbelN1HI5y1wl - locationId: 8mCxCPOI7oEmMSee4ec0 - - testResultId: 2cba4974-c73a-45ea-ad63-77c44c19bd36 - testId: K331gkuCbelN1HI5y1wl - locationId: lalQTzq7MwO6hZ6c6xDd + - testResultId: f078443e-468c-4e35-b614-979ad9200fe4 + testId: K331gkuCbelN1HI5y1wl + locationId: 8mCxCPOI7oEmMSee4ec0 + - testResultId: 2cba4974-c73a-45ea-ad63-77c44c19bd36 + testId: K331gkuCbelN1HI5y1wl + locationId: lalQTzq7MwO6hZ6c6xDd schema: type: array items: @@ -26554,27 +28127,29 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Create a Synthetic test CI/CD tags: - - Synthetic Settings + - Synthetic Settings x-description: createSyntheticTestCICD - x-ibm-ahub-byok: true /api/synthetics/settings/tests/ci-cd/{testResultId}: get: - description: |- - API request to retrieve the Synthetic Test CI/CD identified by the given test result id. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + description: >- + API request to retrieve the Synthetic Test CI/CD identified by the given + test result id. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticTestCICD parameters: - - description: The synthetic test result id of the CI/CD to be retrieved - example: 0cf1324b-3022-4116-ae03-6c868daa43d4 - in: path - name: testResultId - required: true - schema: - type: string + - description: The synthetic test result id of the CI/CD to be retrieved + example: 0cf1324b-3022-4116-ae03-6c868daa43d4 + in: path + name: testResultId + required: true + schema: + type: string responses: '200': content: @@ -26604,27 +28179,28 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: A Synthetic test CI/CD. tags: - - Synthetic Settings + - Synthetic Settings x-description: getSyntheticTestCICD - x-ibm-ahub-byok: true /api/synthetics/settings/tests/{id}: delete: - description: |- + description: >- API request to delete a Synthetic Test. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: deleteSyntheticTest parameters: - - description: Id of the synthetic test to be deleted - example: ic25Vt1T5dgKzi0K7812 - in: path - name: id - required: true - schema: - type: string + - description: Id of the synthetic test to be deleted + example: ic25Vt1T5dgKzi0K7812 + in: path + name: id + required: true + schema: + type: string responses: '204': description: Successful - no content to return. @@ -26635,25 +28211,26 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Delete a Synthetic test tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings get: - description: |- + description: >- API request to retrieve a Synthetic Test with matching id. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: getSyntheticTest parameters: - - description: Id of the synthetic test to be retrieved - example: EFNRoPd39SgZBkULeQIf - in: path - name: id - required: true - schema: - type: string + - description: Id of the synthetic test to be retrieved + example: EFNRoPd39SgZBkULeQIf + in: path + name: id + required: true + schema: + type: string responses: '200': content: @@ -26668,11 +28245,11 @@ paths: applicationId: UOGJ3jBOSMOgN2EBCoOghw applicationLabel: test_cb locations: - - 18WyhtDb5jpVOsjlNdeV + - 18WyhtDb5jpVOsjlNdeV locationLabels: - - Syne2e + - Syne2e locationDisplayLabels: - - E2ETest PoP + - E2ETest PoP configuration: syntheticType: HTTPScript markSyntheticCall: true @@ -26713,8 +28290,8 @@ paths: modifiedAt: 1701216106812 modifiedBy: Internal rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticTest' description: OK @@ -26727,25 +28304,26 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canViewSyntheticTests + - ApiKeyAuth: + - canViewSyntheticTests summary: A Synthetic test tags: - - Synthetic Settings - x-ibm-ahub-byok: true + - Synthetic Settings patch: - description: |- + description: >- API request to update a Synthetic Test. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: patchSyntheticTest parameters: - - description: Id of the synthetic test to be patched - example: ic25Vt1T5dgKzi0K7812 - in: path - name: id - required: true - schema: - type: string + - description: Id of the synthetic test to be patched + example: ic25Vt1T5dgKzi0K7812 + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -26755,8 +28333,8 @@ paths: scripts: null script: //script goes here rbacTags: - - id: test - displayName: test + - id: test + displayName: test schema: $ref: '#/components/schemas/SyntheticTest' required: true @@ -26764,8 +28342,7 @@ paths: responses: '200': content: - application/json: { - } + application/json: {} description: OK '400': description: Bad request. @@ -26776,26 +28353,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Patch a Synthetic test tags: - - Synthetic Settings + - Synthetic Settings x-description: patchSyntheticTest - x-ibm-ahub-byok: true put: - description: |- + description: >- API request to update a Synthetic Test. - For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. + + For more information on Synthetic Settings please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings. operationId: updateSyntheticTest parameters: - - description: Id of the synthetic test to be updated - example: ic25Vt1T5dgKzi0K7812 - in: path - name: id - required: true - schema: - type: string + - description: Id of the synthetic test to be updated + example: ic25Vt1T5dgKzi0K7812 + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: @@ -26808,7 +28386,7 @@ paths: testFrequency: 1 playbackMode: Simultaneous locations: - - saas_instana_test + - saas_instana_test configuration: syntheticType: HTTPAction url: https://httpbin.org/post @@ -26821,8 +28399,8 @@ paths: Team: DevTeam Purpose: Demo rbacTags: - - id: JxrVZtRtTUGug71K1oYMcw - displayName: tests + - id: JxrVZtRtTUGug71K1oYMcw + displayName: tests schema: $ref: '#/components/schemas/SyntheticTest' required: true @@ -26830,8 +28408,7 @@ paths: responses: '200': content: - application/json: { - } + application/json: {} description: OK '400': description: Bad request. @@ -26842,48 +28419,119 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - canConfigureSyntheticTests + - ApiKeyAuth: + - canConfigureSyntheticTests summary: Update a Synthetic test tags: - - Synthetic Settings + - Synthetic Settings x-description: updateSyntheticTest - x-ibm-ahub-byok: true + /api/tos-privacy-agreement: + post: + operationId: tosPrivacyAgreement + responses: + default: + content: + application/json: {} + description: default response + /api/tos-privacy-agreement/checkUserAcceptance: + get: + operationId: get_2 + responses: + default: + content: + application/json: + schema: + type: boolean + description: default response + /api/tos-privacy-agreement/latest: + get: + operationId: getLatestTosPrivacyAgreement + responses: + default: + content: + application/json: {} + description: default response + /api/ui/settings: + get: + operationId: getUiSettings + responses: + default: + content: + application/json: {} + description: default response + put: + operationId: putUiSettings + responses: + default: + content: + application/json: {} + description: default response + /api/ui/settings/{setting}: + put: + operationId: putUiSetting + parameters: + - in: path + name: setting + required: true + schema: + type: string + responses: + default: + content: + application/json: {} + description: default response + /api/user-settings: + get: + operationId: get_3 + responses: + default: + content: + application/json: {} + description: default response + put: + operationId: put_1 + responses: + default: + content: + application/json: {} + description: default response /api/website-monitoring/analyze/beacon-groups: post: - description: |- + description: >- API request to get grouped website monitoring beacon metrics. - For more information on Website Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Websites+&+Mobile+Apps. + + For more information on Website Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Websites+&+Mobile+Apps. operationId: getBeaconGroups parameters: - - in: query - name: fillTimeSeries - schema: - type: boolean + - in: query + name: fillTimeSeries + schema: + type: boolean requestBody: content: application/json: example: metrics: - - metric: beaconCount - aggregation: SUM - granularity: 60 + - metric: beaconCount + aggregation: SUM + granularity: 60 group: groupByTag: beacon.page.name tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: beacon.website.name - operator: EQUALS - entity: NOT_APPLICABLE - value: robot-shop - - type: TAG_FILTER - name: beacon.location.path - operator: EQUALS - entity: NOT_APPLICABLE - value: /checkout + - type: TAG_FILTER + name: beacon.website.name + operator: EQUALS + entity: NOT_APPLICABLE + value: robot-shop + - type: TAG_FILTER + name: beacon.location.path + operator: EQUALS + entity: NOT_APPLICABLE + value: /checkout timeFrame: to: null windowSize: 3600000 @@ -26897,18 +28545,18 @@ paths: application/json: example: items: - - name: Check Out - earliestTimestamp: 1707019058453 - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1707022593250 - offset: 1 - metrics: - beaconCount.sum.60: - - - 1707019020000 - - 1.0 - - - 1707019080000 - - 3.0 + - name: Check Out + earliestTimestamp: 1707019058453 + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1707022593250 + offset: 1 + metrics: + beaconCount.sum.60: + - - 1707019020000 + - 1 + - - 1707019080000 + - 3 canLoadMore: false totalHits: 1 totalRepresentedItemCount: 1 @@ -26924,17 +28572,18 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get grouped beacon metrics tags: - - Website Analyze - x-ibm-ahub-byok: true + - Website Analyze /api/website-monitoring/analyze/beacons: post: - description: |- + description: >- API request to get all website monitoring beacons with matching type. - For more information on Website Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Websites+&+Mobile+Apps. + + For more information on Website Analyze please access the + https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Websites+&+Mobile+Apps. operationId: getBeacons requestBody: content: @@ -26959,109 +28608,106 @@ paths: application/json: example: items: - - beacon: - websiteId: Example website ID - websiteLabel: robot-shop - page: Products - phase: pageLoad - timestamp: 1707023459363 - clockSkew: 356 - duration: 240 - batchSize: 1 - accurateTimingsAvailable: true - deprecations: [ - ] - pageLoadId: 0cea1830450a460 - sessionId: 899e5d28e5c6402 - beaconId: 00cea1830450a460 - backendTraceId: ef968a97dd967268 - type: pageLoad - customEventName: '' - meta: - stage: production - status: silver - locationUrl: http://robotshop.instana.com/products - locationOrigin: http://robotshop.instana.com - locationPath: /products - errorCount: 0 - errorMessage: '' - errorId: '' - errorType: '' - parsedStackTrace: [ - ] - componentStack: '' - userIp: 195.140.0.0 - userId: Example User Id - userName: Example User Name - userEmail: example@example.com - userLanguages: - - en-GB - deviceType: '' - connectionType: 4g - browserName: Chrome - browserVersion: '73' - osName: Windows - osVersion: '10' - windowHidden: false - windowWidth: 1149 - windowHeight: 1008 - latitude: 51.5088 - longitude: -0.093 - accuracyRadius: 20 - city: London - subdivision: England - subdivisionCode: ENG - country: United Kingdom - countryCode: GB - continent: Europe - continentCode: EU - httpCallUrl: '' - httpCallOrigin: '' - httpCallPath: '' - httpCallMethod: '' - httpCallStatus: -1 - httpCallCorrelationAttempted: false - httpCallAsynchronous: false - initiator: html - resourceType: document - cacheInteraction: '' - encodedBodySize: -1 - decodedBodySize: -1 - transferSize: -1 - unloadTime: 0 - redirectTime: 0 - appCacheTime: 0 - dnsTime: 0 - tcpTime: 0 - sslTime: 0 - requestTime: 42 - responseTime: 1 - processingTime: -1 - onLoadTime: 1 - backendTime: 51 - frontendTime: -1 - domTime: -1 - childrenTime: 5 - firstPaintTime: 331 - firstContentfulPaintTime: 331 - largestContentfulPaintTime: 331 - firstInputDelayTime: -1 - cumulativeLayoutShift: -1.0 - cspBlockedUri: '' - cspEffectiveDirective: '' - cspOriginalPolicy: '' - cspDisposition: '' - cspSample: '' - cspSourceFile: '' - cspLineNumber: -1 - cspColumnNumber: -1 - snippetVersion: '2' - httpCallHeaders: { - } - cursor: - '@class': .IngestionOffsetCursor - ingestionTime: 1707023459959 - offset: 1 + - beacon: + websiteId: Example website ID + websiteLabel: robot-shop + page: Products + phase: pageLoad + timestamp: 1707023459363 + clockSkew: 356 + duration: 240 + batchSize: 1 + accurateTimingsAvailable: true + deprecations: [] + pageLoadId: 0cea1830450a460 + sessionId: 899e5d28e5c6402 + beaconId: 00cea1830450a460 + backendTraceId: ef968a97dd967268 + type: pageLoad + customEventName: '' + meta: + stage: production + status: silver + locationUrl: http://robotshop.instana.com/products + locationOrigin: http://robotshop.instana.com + locationPath: /products + errorCount: 0 + errorMessage: '' + errorId: '' + errorType: '' + parsedStackTrace: [] + componentStack: '' + userIp: 195.140.0.0 + userId: Example User Id + userName: Example User Name + userEmail: example@example.com + userLanguages: + - en-GB + deviceType: '' + connectionType: 4g + browserName: Chrome + browserVersion: '73' + osName: Windows + osVersion: '10' + windowHidden: false + windowWidth: 1149 + windowHeight: 1008 + latitude: 51.5088 + longitude: -0.093 + accuracyRadius: 20 + city: London + subdivision: England + subdivisionCode: ENG + country: United Kingdom + countryCode: GB + continent: Europe + continentCode: EU + httpCallUrl: '' + httpCallOrigin: '' + httpCallPath: '' + httpCallMethod: '' + httpCallStatus: -1 + httpCallCorrelationAttempted: false + httpCallAsynchronous: false + initiator: html + resourceType: document + cacheInteraction: '' + encodedBodySize: -1 + decodedBodySize: -1 + transferSize: -1 + unloadTime: 0 + redirectTime: 0 + appCacheTime: 0 + dnsTime: 0 + tcpTime: 0 + sslTime: 0 + requestTime: 42 + responseTime: 1 + processingTime: -1 + onLoadTime: 1 + backendTime: 51 + frontendTime: -1 + domTime: -1 + childrenTime: 5 + firstPaintTime: 331 + firstContentfulPaintTime: 331 + largestContentfulPaintTime: 331 + firstInputDelayTime: -1 + cumulativeLayoutShift: -1 + cspBlockedUri: '' + cspEffectiveDirective: '' + cspOriginalPolicy: '' + cspDisposition: '' + cspSample: '' + cspSourceFile: '' + cspLineNumber: -1 + cspColumnNumber: -1 + snippetVersion: '2' + httpCallHeaders: {} + cursor: + '@class': .IngestionOffsetCursor + ingestionTime: 1707023459959 + offset: 1 schema: $ref: '#/components/schemas/WebsiteBeaconResult' description: OK @@ -27070,85 +28716,87 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all beacons tags: - - Website Analyze - x-ibm-ahub-byok: true + - Website Analyze /api/website-monitoring/catalog: get: description: API to get website tag catalog for specified beaconType and useCase. operationId: getWebsiteTagCatalog parameters: - - description: beaconType - example: pageLoad - in: query - name: beaconType - required: true - schema: - type: string - minLength: 1 - - description: useCase - example: GROUPING - in: query - name: useCase - required: true - schema: - type: string - enum: - - GROUPING - - FILTERING - - SERVICE_MAPPING - - SMART_ALERTS - - SMART_ALERTS_LOGS - - SMART_ALERTS_ADAPTIVE_BASELINE - - SMART_ALERTS_CUSTOM_PAYLOAD - - SLI_MANAGEMENT - - APPLICATION_CONFIG - - APPLICATION_CONFIG_BLUEPRINT - - MAINTENANCE_WINDOWS - - BIZOPS_CUSTOM_DASHBOARDS_FILTERING + - description: beaconType + example: pageLoad + in: query + name: beaconType + required: true + schema: + type: string + minLength: 1 + - description: useCase + example: GROUPING + in: query + name: useCase + required: true + schema: + type: string + enum: + - GROUPING + - FILTERING + - SERVICE_MAPPING + - SMART_ALERTS + - SMART_ALERTS_LOGS + - SMART_ALERTS_ADAPTIVE_BASELINE + - SMART_ALERTS_ADAPTIVE_BASELINE_FAST_INIT + - SMART_ALERTS_CUSTOM_PAYLOAD + - SLI_MANAGEMENT + - APPLICATION_CONFIG + - APPLICATION_CONFIG_BLUEPRINT + - MAINTENANCE_WINDOWS + - BIZOPS_CUSTOM_DASHBOARDS_FILTERING responses: '200': content: application/json: example: tagTree: - - label: Commonly Used - description: null - icon: null - children: - - label: Website Label - description: Name of the website as configured within the Instana - user interface. - tagName: beacon.website.name - type: TAG + - label: Commonly Used + description: null + icon: null + children: + - label: Website Label + description: >- + Name of the website as configured within the Instana + user interface. + tagName: beacon.website.name + type: TAG tags: - - name: beacon.type - label: Beacon Type - type: STRING - description: null - canApplyToSource: false - canApplyToDestination: false - idTag: false + - name: beacon.type + label: Beacon Type + type: STRING + description: null + canApplyToSource: false + canApplyToDestination: false + idTag: false schema: $ref: '#/components/schemas/TagCatalog' description: OK '400': - description: When the combination of beaconType and useCase is unsupported/unknown. + description: >- + When the combination of beaconType and useCase is + unsupported/unknown. '401': description: Unauthorized access - requires user authentication. '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get website tag catalog tags: - - Website Catalog + - Website Catalog x-description: getWebsiteTagCatalog - x-ibm-ahub-byok: true /api/website-monitoring/catalog/metrics: get: description: API to get catalog of website metrics. @@ -27158,44 +28806,45 @@ paths: content: application/json: example: - - metricId: beaconDuration - label: Beacon duration - formatter: LATENCY - description: The recorded duration for a beacon. - aggregations: - - P25 - - MEAN - - MAX - - P95 - - P90 - - SUM - - P98 - - P99 - - MIN - - P75 - - P50 - defaultAggregation: null - beaconTypes: - - pageLoad - - resourceLoad - - custom - - httpRequest - pathToValueInBeacon: - - duration - tagName: beacon.duration - - metricId: pageLoads - label: Page loads - formatter: NUMBER - description: How often a full page load occurred. This typically requires - retrieval of an HTML document from a server (unless cached) and - then the full onLoad cycle. - aggregations: - - SUM - defaultAggregation: null - beaconTypes: - - pageLoad - pathToValueInBeacon: null - tagName: null + - metricId: beaconDuration + label: Beacon duration + formatter: LATENCY + description: The recorded duration for a beacon. + aggregations: + - P25 + - MEAN + - MAX + - P95 + - P90 + - SUM + - P98 + - P99 + - MIN + - P75 + - P50 + defaultAggregation: null + beaconTypes: + - pageLoad + - resourceLoad + - custom + - httpRequest + pathToValueInBeacon: + - duration + tagName: beacon.duration + - metricId: pageLoads + label: Page loads + formatter: NUMBER + description: >- + How often a full page load occurred. This typically requires + retrieval of an HTML document from a server (unless cached) + and then the full onLoad cycle. + aggregations: + - SUM + defaultAggregation: null + beaconTypes: + - pageLoad + pathToValueInBeacon: null + tagName: null schema: type: array items: @@ -27206,13 +28855,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Metric catalog tags: - - Website Catalog + - Website Catalog x-description: getWebsiteCatalogMetrics - x-ibm-ahub-byok: true /api/website-monitoring/catalog/tags: get: description: API to get all existing website tags. @@ -27222,12 +28870,12 @@ paths: content: application/json: example: - - name: beacon.sessionId - type: STRING - category: WEBSITE - canApplyToSource: false - canApplyToDestination: false - sourceValueAvailableFrom: 0 + - name: beacon.sessionId + type: STRING + category: WEBSITE + canApplyToSource: false + canApplyToDestination: false + sourceValueAvailableFrom: 0 schema: type: array items: @@ -27238,13 +28886,12 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get all existing website tags tags: - - Website Catalog + - Website Catalog x-description: getWebsiteCatalogTags - x-ibm-ahub-byok: true /api/website-monitoring/config: get: description: API request to get all configured websites details. @@ -27254,12 +28901,12 @@ paths: content: application/json: example: - - id: K3bP-bmCRkyimNai9vvq8o - name: example_website - appName: example_website - rbacTags: - - id: test - displayName: test + - id: K3bP-bmCRkyimNai9vvq8o + name: example_website + appName: example_website + rbacTags: + - id: test + displayName: test schema: type: array items: @@ -27272,26 +28919,25 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get configured websites tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration post: description: API request to add new website. operationId: createWebsite parameters: - - in: query - name: name - schema: - type: string + - in: query + name: name + schema: + type: string requestBody: content: application/json: example: - - id: test - displayName: test + - id: test + displayName: test schema: type: array description: Array of team tags @@ -27316,7 +28962,8 @@ paths: $ref: '#/components/schemas/Website' description: Website successfully configured '400': - description: Missing name query parameter or name already used for a configured + description: >- + Missing name query parameter or name already used for a configured website '401': description: Unauthorized access - requires user authentication. @@ -27325,24 +28972,23 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Configure new website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}: delete: description: API request to delete website. operationId: deleteWebsite parameters: - - description: Website ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: websiteId + required: true + schema: + type: string responses: '204': description: Website successfully removed @@ -27353,23 +28999,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Remove website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration get: description: API request to get configured website details for specified websiteId operationId: getWebsite parameters: - - description: Website ID - example: 1ELrNt-eQ9SlK4D_EgLMiA - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: 1ELrNt-eQ9SlK4D_EgLMiA + in: path + name: websiteId + required: true + schema: + type: string responses: '200': content: @@ -27392,27 +29037,26 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get configured website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration put: description: API request to rename website. operationId: renameWebsite parameters: - - description: Website ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: websiteId - required: true - schema: - type: string - - in: query - name: name - schema: - type: string + - description: Website ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: websiteId + required: true + schema: + type: string + - in: query + name: name + schema: + type: string responses: '200': content: @@ -27425,7 +29069,8 @@ paths: $ref: '#/components/schemas/Website' description: Website successfully renamed '400': - description: Missing name query parameter or name already used for a configured + description: >- + Missing name query parameter or name already used for a configured website '401': description: Unauthorized access - requires user authentication. @@ -27434,33 +29079,32 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Rename website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/geo-location: get: - description: API request to get geo-location configuration of a website specified - by its websiteId + description: >- + API request to get geo-location configuration of a website specified by + its websiteId operationId: getWebsiteGeoLocationConfiguration parameters: - - description: Website ID - example: 1ELrNt-eQ9SlK4D_EgLMiA - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: 1ELrNt-eQ9SlK4D_EgLMiA + in: path + name: websiteId + required: true + schema: + type: string responses: '200': content: application/json: example: geoDetailRemoval: NO_REMOVAL - geoMappingRules: [ - ] + geoMappingRules: [] schema: $ref: '#/components/schemas/GeoLocationConfiguration' description: OK @@ -27473,23 +29117,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Get geo location configuration for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration put: description: API request to update geo location configuration for website. operationId: updateWebsiteGeoLocationConfiguration parameters: - - description: Website ID - example: iiLxP1zaTuCS7fyk9m4W0W - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: iiLxP1zaTuCS7fyk9m4W0W + in: path + name: websiteId + required: true + schema: + type: string requestBody: content: application/json: @@ -27511,29 +29154,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Update geo location configuration for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/geo-mapping-rules: get: description: API request to get custom geo mapping rules for website. operationId: getWebsiteGeoMappingRules parameters: - - description: Website ID - example: iiLxP1zaTuCS7fyk9m4W0W - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: iiLxP1zaTuCS7fyk9m4W0W + in: path + name: websiteId + required: true + schema: + type: string responses: '200': content: - text/csv: { - } + text/csv: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -27544,23 +29185,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Get custom geo mapping rules for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration put: description: API request to set custom geo mapping rules for website. operationId: setWebsiteGeoMappingRules parameters: - - description: Website ID - example: K3bP-bmCRkyimNai9vvq8o - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: K3bP-bmCRkyimNai9vvq8o + in: path + name: websiteId + required: true + schema: + type: string requestBody: content: text/csv: @@ -27569,8 +29209,7 @@ paths: responses: '200': content: - text/csv: { - } + text/csv: {} description: OK '401': description: Unauthorized access - requires user authentication. @@ -27583,25 +29222,25 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Set custom geo mapping rules for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/ip-masking: get: - description: API request to get IP masking configuration of a website specified - by its websiteId + description: >- + API request to get IP masking configuration of a website specified by + its websiteId operationId: getWebsiteIpMaskingConfiguration parameters: - - description: Website ID - example: 1ELrNt-eQ9SlK4D_EgLMiA - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: 1ELrNt-eQ9SlK4D_EgLMiA + in: path + name: websiteId + required: true + schema: + type: string responses: '200': content: @@ -27620,23 +29259,22 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Get IP masking configuration for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration put: description: API request to update IP masking configuration for website. operationId: updateWebsiteIpMaskingConfiguration parameters: - - description: Website ID - example: iiLxP1zaTuCS7fyk9m4W0W - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: iiLxP1zaTuCS7fyk9m4W0W + in: path + name: websiteId + required: true + schema: + type: string requestBody: content: application/json: @@ -27658,36 +29296,34 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Update IP masking configuration for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/sourcemap-upload: get: description: API request to get all sourcemap upload configurations for website. operationId: getWebsiteSourceMapUploadConfigurations parameters: - - description: Website ID - example: 1ELrNt-eQ9SlK4D_EgLMiA - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: 1ELrNt-eQ9SlK4D_EgLMiA + in: path + name: websiteId + required: true + schema: + type: string responses: '200': content: application/json: example: configs: - - id: 67f84a0b117c99e - description: websiteSourcemapUploadConfig1 - createdAt: 1.7479781712347815E9 - modifiedAt: 1.7479781712347815E9 - metadata: [ - ] + - id: 67f84a0b117c99e + description: websiteSourcemapUploadConfig1 + createdAt: 1747978171.2347815 + modifiedAt: 1747978171.2347815 + metadata: [] schema: $ref: '#/components/schemas/SourceMapUploadConfigs' description: OK @@ -27697,19 +29333,18 @@ paths: description: Internal server error. summary: Get all sourcemap upload configurations for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration post: description: API request to add sourcemap upload configuration for website. operationId: postWebsiteSourceMapUploadConfig parameters: - - description: Website ID - example: 1ELrNt-eQ9SlK4D_EgLMiA - in: path - name: websiteId - required: true - schema: - type: string + - description: Website ID + example: 1ELrNt-eQ9SlK4D_EgLMiA + in: path + name: websiteId + required: true + schema: + type: string requestBody: content: application/json: @@ -27729,10 +29364,9 @@ paths: example: id: 5894971d635094e7 description: websiteSourcemapConfig2 - createdAt: 1.7479800626018546E9 - modifiedAt: 1.7479800626018546E9 - metadata: [ - ] + createdAt: 1747980062.6018546 + modifiedAt: 1747980062.6018546 + metadata: [] schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: Website sourcemap upload configuration added successfully @@ -27748,31 +29382,29 @@ paths: description: Internal server error. summary: Add new sourcemap upload configuration for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/sourcemap-upload/{sourceMapConfigId}: delete: description: API request to delete sourcemap upload configuration for website. operationId: deleteWebsiteSourceMapUploadConfiguration parameters: - - description: Website ID - example: 1ELrNt-eQ9SlK4D_EgLMiA - in: path - name: websiteId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Website ID + example: 1ELrNt-eQ9SlK4D_EgLMiA + in: path + name: websiteId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string responses: '204': - description: Sourcemap configuration successfully deleted or sourcemap not - found + description: Sourcemap configuration successfully deleted or sourcemap not found '401': description: Unauthorized access - requires user authentication. '403': @@ -27781,24 +29413,23 @@ paths: description: Internal server error. summary: Delete sourcemap upload configuration for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration get: description: API request to get sourcemap upload configuration for website. operationId: getWebsiteSourceMapUploadConfiguration parameters: - - in: path - name: websiteId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - in: path + name: websiteId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string responses: '200': content: @@ -27806,10 +29437,9 @@ paths: example: id: 67f84a0b117c99e description: websiteSourcemapUploadConfig1 - createdAt: 1.7479781712347815E9 - modifiedAt: 1.7479781712347815E9 - metadata: [ - ] + createdAt: 1747978171.2347815 + modifiedAt: 1747978171.2347815 + metadata: [] schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: OK @@ -27819,30 +29449,32 @@ paths: description: Internal server error. summary: Get sourcemap upload configurations for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/sourcemap-upload/{sourceMapConfigId}/clear: put: - description: API request to clear source map files for sourcemap upload configuration. + description: >- + API request to clear source map files for sourcemap upload + configuration. operationId: clearSourceMapUploadConfiguration parameters: - - description: Website ID - example: UhzF-fWORlyVLHDlvutYYQ - in: path - name: websiteId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Website ID + example: UhzF-fWORlyVLHDlvutYYQ + in: path + name: websiteId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string responses: '204': - description: Source map files in the source map upload configuration successfully + description: >- + Source map files in the source map upload configuration successfully cleared '401': description: Unauthorized access - requires user authentication. @@ -27853,31 +29485,30 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Clear source map files for sourcemap upload configuration tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/sourcemap-upload/{sourceMapConfigId}/form: put: description: API request to upload sourcemap file for website. operationId: uploadSourceMapFile parameters: - - description: Website ID - example: UhzF-fWORlyVLHDlvutYYQ - in: path - name: websiteId - required: true - schema: - type: string - - description: Source Map Config ID - example: 97e0ad312110d3ad - in: path - name: sourceMapConfigId - required: true - schema: - type: string + - description: Website ID + example: UhzF-fWORlyVLHDlvutYYQ + in: path + name: websiteId + required: true + schema: + type: string + - description: Source Map Config ID + example: 97e0ad312110d3ad + in: path + name: sourceMapConfigId + required: true + schema: + type: string requestBody: content: multipart/form-data: @@ -27894,8 +29525,8 @@ paths: type: string description: URL of the website required: - - sourceMap - - url + - sourceMap + - url responses: '200': content: @@ -27903,10 +29534,9 @@ paths: example: id: 67f84a0b117c99e description: websiteSourcemapUploadConfig1 - createdAt: 1.7479781712347815E9 - modifiedAt: 1.7479781712347815E9 - metadata: [ - ] + createdAt: 1747978171.2347815 + modifiedAt: 1747978171.2347815 + metadata: [] schema: $ref: '#/components/schemas/SourceMapUploadConfig' description: OK @@ -27921,28 +29551,27 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Upload sourcemap file for website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/config/{websiteId}/teams: put: description: API request to update teams of a website. operationId: updateWebsiteTeams parameters: - - in: path - name: websiteId - required: true - schema: - type: string + - in: path + name: websiteId + required: true + schema: + type: string requestBody: content: application/json: example: - - id: test - displayName: test + - id: test + displayName: test schema: type: array items: @@ -27952,8 +29581,8 @@ paths: content: application/json: example: - - id: test - displayName: test + - id: test + displayName: test schema: type: array items: @@ -27968,12 +29597,11 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - CanConfigureEumApplications + - ApiKeyAuth: + - CanConfigureEumApplications summary: Update teams assigned to the website tags: - - Website Configuration - x-ibm-ahub-byok: true + - Website Configuration /api/website-monitoring/metrics: post: deprecated: true @@ -27993,139 +29621,135 @@ paths: $ref: '#/components/schemas/WebsiteMetricResult' description: OK security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get beacon metrics tags: - - Website Metrics - x-ibm-ahub-byok: true + - Website Metrics /api/website-monitoring/page-load{id}{timestamp}: get: description: API request to get website monitoring beacons for a page load. operationId: getPageLoad parameters: - - description: Identifier of the page load to be retrieved - example: 63f5b070e8d9a597 - in: path - name: id - required: true - schema: - type: string - style: matrix - - description: Timestamp of the page load to be retrieved - example: 1707012285674 - in: path - name: timestamp - required: true - schema: - type: integer - format: int64 - style: matrix + - description: Identifier of the page load to be retrieved + example: 63f5b070e8d9a597 + in: path + name: id + required: true + schema: + type: string + style: matrix + - description: Timestamp of the page load to be retrieved + example: 1707012285674 + in: path + name: timestamp + required: true + schema: + type: integer + format: int64 + style: matrix responses: '200': content: application/json: example: - - websiteId: example website id - websiteLabel: robot-shop - page: Home - phase: pageLoad - timestamp: 1707012285674 - clockSkew: 447 - duration: 120 - batchSize: 1 - accurateTimingsAvailable: true - deprecations: [ - ] - pageLoadId: 974bca2eb13047c - sessionId: e995a184bb4b4e0 - beaconId: 0974bca2eb13047c - backendTraceId: c92e3ec967ef173f - type: pageLoad - customEventName: '' - meta: - stage: production - status: bronze - locationUrl: http://robotshop.instana.com/ - locationOrigin: http://robotshop.instana.com - locationPath: / - errorCount: 0 - errorMessage: '' - errorId: '' - errorType: '' - parsedStackTrace: [ - ] - componentStack: '' - userIp: 87.191.0.0 - userId: example user id - userName: example user name - userEmail: example@example.com - userLanguages: - - de-DE - deviceType: '' - connectionType: 4g - browserName: Firefox - browserVersion: '63' - osName: Ubuntu - osVersion: '18' - windowHidden: false - windowWidth: 1149 - windowHeight: 1008 - latitude: 50.8021 - longitude: 8.7857 - accuracyRadius: 200 - city: Weidenhausen - subdivision: Hesse - subdivisionCode: HE - country: Germany - countryCode: DE - continent: Europe - continentCode: EU - httpCallUrl: '' - httpCallOrigin: '' - httpCallPath: '' - httpCallMethod: '' - httpCallStatus: 400 - httpCallCorrelationAttempted: false - httpCallAsynchronous: false - initiator: html - resourceType: document - cacheInteraction: '' - encodedBodySize: -1 - decodedBodySize: -1 - transferSize: -1 - unloadTime: 0 - redirectTime: 0 - appCacheTime: 0 - dnsTime: 0 - tcpTime: 0 - sslTime: 0 - requestTime: 42 - responseTime: 1 - processingTime: -1 - onLoadTime: 1 - backendTime: 51 - frontendTime: -1 - domTime: -1 - childrenTime: 5 - firstPaintTime: 331 - firstContentfulPaintTime: 331 - largestContentfulPaintTime: 331 - firstInputDelayTime: -1 - cumulativeLayoutShift: -1.0 - cspBlockedUri: '' - cspEffectiveDirective: '' - cspOriginalPolicy: '' - cspDisposition: '' - cspSample: '' - cspSourceFile: '' - cspLineNumber: -1 - cspColumnNumber: -1 - snippetVersion: '2' - httpCallHeaders: { - } - parentBeaconId: '' - interactionNextPaint: -1 + - websiteId: example website id + websiteLabel: robot-shop + page: Home + phase: pageLoad + timestamp: 1707012285674 + clockSkew: 447 + duration: 120 + batchSize: 1 + accurateTimingsAvailable: true + deprecations: [] + pageLoadId: 974bca2eb13047c + sessionId: e995a184bb4b4e0 + beaconId: 0974bca2eb13047c + backendTraceId: c92e3ec967ef173f + type: pageLoad + customEventName: '' + meta: + stage: production + status: bronze + locationUrl: http://robotshop.instana.com/ + locationOrigin: http://robotshop.instana.com + locationPath: / + errorCount: 0 + errorMessage: '' + errorId: '' + errorType: '' + parsedStackTrace: [] + componentStack: '' + userIp: 87.191.0.0 + userId: example user id + userName: example user name + userEmail: example@example.com + userLanguages: + - de-DE + deviceType: '' + connectionType: 4g + browserName: Firefox + browserVersion: '63' + osName: Ubuntu + osVersion: '18' + windowHidden: false + windowWidth: 1149 + windowHeight: 1008 + latitude: 50.8021 + longitude: 8.7857 + accuracyRadius: 200 + city: Weidenhausen + subdivision: Hesse + subdivisionCode: HE + country: Germany + countryCode: DE + continent: Europe + continentCode: EU + httpCallUrl: '' + httpCallOrigin: '' + httpCallPath: '' + httpCallMethod: '' + httpCallStatus: 400 + httpCallCorrelationAttempted: false + httpCallAsynchronous: false + initiator: html + resourceType: document + cacheInteraction: '' + encodedBodySize: -1 + decodedBodySize: -1 + transferSize: -1 + unloadTime: 0 + redirectTime: 0 + appCacheTime: 0 + dnsTime: 0 + tcpTime: 0 + sslTime: 0 + requestTime: 42 + responseTime: 1 + processingTime: -1 + onLoadTime: 1 + backendTime: 51 + frontendTime: -1 + domTime: -1 + childrenTime: 5 + firstPaintTime: 331 + firstContentfulPaintTime: 331 + largestContentfulPaintTime: 331 + firstInputDelayTime: -1 + cumulativeLayoutShift: -1 + cspBlockedUri: '' + cspEffectiveDirective: '' + cspOriginalPolicy: '' + cspDisposition: '' + cspSample: '' + cspSourceFile: '' + cspLineNumber: -1 + cspColumnNumber: -1 + snippetVersion: '2' + httpCallHeaders: {} + parentBeaconId: '' + interactionNextPaint: -1 schema: type: array items: @@ -28136,12 +29760,11 @@ paths: '404': description: Resource not found. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get page load tags: - - Website Metrics - x-ibm-ahub-byok: true + - Website Metrics /api/website-monitoring/v2/metrics: post: description: API request to get website monitoring beacon metrics. @@ -28151,22 +29774,22 @@ paths: application/json: example: metrics: - - metric: beaconCount - aggregation: SUM + - metric: beaconCount + aggregation: SUM tagFilterExpression: type: EXPRESSION logicalOperator: AND elements: - - type: TAG_FILTER - name: beacon.website.name - operator: EQUALS - entity: NOT_APPLICABLE - value: robot-shop - - type: TAG_FILTER - name: beacon.location.path - operator: EQUALS - entity: NOT_APPLICABLE - value: / + - type: TAG_FILTER + name: beacon.website.name + operator: EQUALS + entity: NOT_APPLICABLE + value: robot-shop + - type: TAG_FILTER + name: beacon.location.path + operator: EQUALS + entity: NOT_APPLICABLE + value: / timeFrame: to: null windowSize: 3600000 @@ -28181,8 +29804,8 @@ paths: example: metrics: beaconCount.sum: - - - 1706856180000 - - 100.0 + - - 1706856180000 + - 100 adjustedTimeFrame: windowSize: 3540000 to: 1706856180000 @@ -28198,12 +29821,11 @@ paths: '500': description: Internal server error. security: - - ApiKeyAuth: - - Default + - ApiKeyAuth: + - Default summary: Get beacon metrics tags: - - Website Metrics - x-ibm-ahub-byok: true + - Website Metrics components: schemas: AbstractIntegration: @@ -28245,9 +29867,9 @@ components: type: string description: The timezone to be used for DateTime required: - - id - - kind - - name + - id + - kind + - name AbstractRule: type: object discriminator: @@ -28266,46 +29888,73 @@ components: type: integer format: int32 required: - - ruleType + - ruleType AccessRule: type: object properties: accessType: type: string - description: "Specifies the type of access permitted. \n\n`READ`: Only viewing\ - \ Application Perspective is allowed. \n\n`READ_WRITE`: Both viewing and\ - \ modifying Application Perspective are permitted. \n\n" + description: >+ + Specifies the type of access permitted. + + + `READ`: Only viewing Application Perspective is allowed. + + + `READ_WRITE`: Both viewing and modifying Application Perspective are + permitted. + enum: - - READ - - READ_WRITE + - READ + - READ_WRITE relatedId: type: string - description: "An identifier that connects the access rule to a specific\ - \ entity.\nFor example, if the `relationType` is `USER`, the corresponding\ - \ `relatedId` would be a user id. \n\n**Note**: when `relationType` is\ - \ `GLOBAL`, `relatedId` is `null`.\n" + description: > + An identifier that connects the access rule to a specific entity. + + For example, if the `relationType` is `USER`, the corresponding + `relatedId` would be a user id. + + + **Note**: when `relationType` is `GLOBAL`, `relatedId` is `null`. maxLength: 64 minLength: 0 + nullable: true relationType: type: string - description: "Defines the type of relationship or subject to which the access\ - \ rule applies. \n\n`USER`: Access is granted to an individual user. \n\ - \n`API_TOKEN`: Access is granted to a specific API token. \n\n`ROLE`:\ - \ Access is granted based on a user role, applying to any user with that\ - \ role. \n\n`TEAM`: Access is granted to a team, likely applying to all\ - \ team members. \n\n`GLOBAL`: Access is granted to every user or service.\n" + description: > + Defines the type of relationship or subject to which the access rule + applies. + + + `USER`: Access is granted to an individual user. + + + `API_TOKEN`: Access is granted to a specific API token. + + + `ROLE`: Access is granted based on a user role, applying to any user + with that role. + + + `TEAM`: Access is granted to a team, likely applying to all team + members. + + + `GLOBAL`: Access is granted to every user or service. enum: - - USER - - API_TOKEN - - ROLE - - TEAM - - GLOBAL - required: - - accessType - - relationType + - USER + - API_TOKEN + - ROLE + - TEAM + - GLOBAL + required: + - accessType + - relationType Action: type: object - description: Automation action definition. When this is used in policy creation + description: >- + Automation action definition. When this is used in policy creation request, only `id` should be specified. properties: createdAt: @@ -28352,26 +30001,27 @@ components: minLength: 1 type: type: string - description: 'Action type can be one of the following values: SCRIPT, HTTP, - ANSIBLE, EXTERNAL, GITHUB, GITLAB, JIRA, MANUAL, DOC_LINK' + description: >- + Action type can be one of the following values: SCRIPT, HTTP, + ANSIBLE, EXTERNAL, GITHUB, GITLAB, JIRA, MANUAL, DOC_LINK enum: - - SCRIPT - - HTTP - - ANSIBLE - - EXTERNAL - - GITHUB - - GITLAB - - JIRA - - MANUAL - - DOC_LINK + - SCRIPT + - HTTP + - ANSIBLE + - EXTERNAL + - GITHUB + - GITLAB + - JIRA + - MANUAL + - DOC_LINK maxLength: 128 minLength: 0 required: - - createdAt - - id - - modifiedAt - - name - - type + - createdAt + - id + - modifiedAt + - name + - type ActionBeacon: type: object description: List of action beacons for the current page @@ -28403,7 +30053,8 @@ components: nullable: true eventType: type: string - description: Event type (e.g., st=start, fs=frustration signal, oc=orientation + description: >- + Event type (e.g., st=start, fs=frustration signal, oc=orientation change) example: st nullable: true @@ -28458,11 +30109,11 @@ components: example: resetDirectory nullable: true required: - - beaconId - - beaconType - - mobileAppId - - sessionId - - timestamp + - beaconId + - beaconType + - mobileAppId + - sessionId + - timestamp ActionConfiguration: type: object description: List of action configurations. @@ -28477,8 +30128,16 @@ components: description: List of action input parameters. items: $ref: '#/components/schemas/ParameterValue' + notifications: + type: array + description: >- + Optional notifications configuration for action execution events. + Each notification specifies a condition (started, fail, success) and + associated alert channels. + items: + $ref: '#/components/schemas/Notification' required: - - action + - action ActionInstance: type: object properties: @@ -28503,48 +30162,57 @@ components: readOnly: true actorId: type: string - description: User identifier, API token or the policy identifier that started - the action run. + description: >- + User identifier, API token or the policy identifier that started the + action run. actorName: type: string - description: Name of the user, API token or the policy that started the - action run. + description: >- + Name of the user, API token or the policy that started the action + run. actorType: type: string description: Type of Actor. Valid values are listed in the enum definition. enum: - - ACTOR_UNKNOWN - - USER - - APITOKEN - - POLICY + - ACTOR_UNKNOWN + - USER + - APITOKEN + - POLICY + clientId: + type: string + description: Client ID (tenant key) where the action instance is stored. + readOnly: true createdDate: type: integer format: int64 - description: Action run created timestamp. The timestamp at which the action - run got submitted. + description: >- + Action run created timestamp. The timestamp at which the action run + got submitted. endDate: type: integer format: int64 - description: Action run end timestamp. The timestamp at which the action - run ended on the agent host. + description: >- + Action run end timestamp. The timestamp at which the action run + ended on the agent host. errorMessage: type: string description: Error message, if any, of action run on the agent host. eventEntityType: type: string - description: Event entity type set in the event that triggered this action - run. + description: Event entity type set in the event that triggered this action run. eventId: type: string description: Event identifier of the event that triggered this action run. eventSpecificationId: type: string - description: Event specification identifier of the event that triggered - this action run. + description: >- + Event specification identifier of the event that triggered this + action run. externalSourceType: type: string - description: If the action type is external this field contains the name - of the external source. + description: >- + If the action type is external this field contains the name of the + external source. hostSnapshotId: type: string description: Host snapshot identifier of the agent on which the action ran. @@ -28558,6 +30226,10 @@ components: description: List of metadata parameters set to this action run by sensors. items: $ref: '#/components/schemas/ActionInstanceMetadataEntry' + originatorClientId: + type: string + description: Client ID (tenant key) where the action/policy was executed from. + readOnly: true output: type: string description: Action run output. @@ -28566,8 +30238,7 @@ components: description: Identifier of the policy that triggered this action run. problemText: type: string - description: Event problem text of the event that triggered this action - run. + description: Event problem text of the event that triggered this action run. returnCode: type: integer format: int32 @@ -28575,41 +30246,43 @@ components: startDate: type: integer format: int64 - description: Action run start timestamp. The timestamp at which the action - run started on the agent host. + description: >- + Action run start timestamp. The timestamp at which the action run + started on the agent host. status: type: string description: Action run status. Valid values are listed in the enum definition. enum: - - STATUS_UNKNOWN - - SUBMITTED - - IN_PROGRESS - - SUCCESS - - FAILED - - READY - - TIMEOUT + - STATUS_UNKNOWN + - SUBMITTED + - IN_PROGRESS + - SUCCESS + - FAILED + - READY + - TIMEOUT targetSnapshotId: type: string - description: Action target entity identifier set in the event that triggered - this action run. This is the identifier of the entity on which an incident - or issue was raised. + description: >- + Action target entity identifier set in the event that triggered this + action run. This is the identifier of the entity on which an + incident or issue was raised. type: type: string description: Action type. Valid values are listed in the enum definition. enum: - - SCRIPT - - HTTP - - ANSIBLE - - EXTERNAL - - GITHUB - - GITLAB - - JIRA - - MANUAL - - DOC_LINK - required: - - actionId - - actionName - - type + - SCRIPT + - HTTP + - ANSIBLE + - EXTERNAL + - GITHUB + - GITLAB + - JIRA + - MANUAL + - DOC_LINK + required: + - actionId + - actionName + - type ActionInstanceMetadataEntry: type: object description: List of metadata parameters set to this action run by sensors. @@ -28622,7 +30295,7 @@ components: type: string description: Metadata value. required: - - name + - name ActionInstanceParameter: type: object description: List of input parameters to this action run. @@ -28642,8 +30315,8 @@ components: type: string description: Parameter value. required: - - displayName - - name + - displayName + - name ActionInstanceRequest: type: object properties: @@ -28652,8 +30325,9 @@ components: description: Action identifier of the action to run. async: type: string - description: '`"true"` if the action should be run in asynchronous mode - `"false"` otherwise. Default is `"true"`.' + description: >- + `"true"` if the action should be run in asynchronous mode `"false"` + otherwise. Default is `"true"`. eventId: type: string description: Event identifier (incident or issue) associated with the policy. @@ -28667,14 +30341,15 @@ components: $ref: '#/components/schemas/ActionInstanceRequestParameters' policyId: type: string - description: Policy identifier that associates the action trigger (incident - or issue) to the action to run. + description: >- + Policy identifier that associates the action trigger (incident or + issue) to the action to run. timeout: type: string description: Action run time out. Default is `30 seconds`. required: - - actionId - - hostId + - actionId + - hostId ActionInstanceRequestParameters: type: object description: Action run input parameters. @@ -28684,14 +30359,15 @@ components: description: Name of the input parameter. type: type: string - description: Type of the input parameter. Valid values are `static`, `dynamic` - or `vault`. Default is `static`. + description: >- + Type of the input parameter. Valid values are `static`, `dynamic` or + `vault`. Default is `static`. value: type: string description: Value of the input parameter required: - - name - - value + - name + - value ActionMatch: type: object properties: @@ -28700,12 +30376,12 @@ components: aiEngine: type: string enum: - - POLICY - - EVENT_SIMILARITY - - NLP - - SUCCESS_RATE - - TURBONOMIC - - WATSONX + - POLICY + - EVENT_SIMILARITY + - NLP + - SUCCESS_RATE + - TURBONOMIC + - WATSONX confidence: type: string policy: @@ -28730,55 +30406,116 @@ components: description: The name of an incident or issue. minLength: 1 required: - - name + - name AdaptiveBaseline: type: object allOf: - - $ref: '#/components/schemas/Threshold' - - type: object - properties: - deviationFactor: - type: number - format: double - exclusiveMaximum: false - exclusiveMinimum: false - maximum: 16.0 - minimum: 0.5 + - $ref: '#/components/schemas/Threshold' + - type: object + properties: + deviationFactor: + type: number + format: double + exclusiveMaximum: false + exclusiveMinimum: false + maximum: 16 + minimum: 0.5 required: - - operator + - operator AdaptiveThresholdRule: type: object allOf: - - $ref: '#/components/schemas/ThresholdConfigRule' - - type: object - properties: - deviationFactor: - type: number - format: double - exclusiveMaximum: false - exclusiveMinimum: false - maximum: 16.0 - minimum: 0.5 + - $ref: '#/components/schemas/ThresholdConfigRule' + - type: object + properties: + deviationFactor: + type: number + format: double + exclusiveMaximum: false + exclusiveMinimum: false + maximum: 16 + minimum: 0.5 AdjustedTimeframe: type: object - description: | - Time frame provided in API request is slightly adjusted in response for faster API response. - For example, In request payload, if timeframe is 08:03 - 14:03, which is a 6 hour window size. It is adjusted to 08:05 - 14:00 - Another example, In request payload, if timeframe is 08:20 - 08:20 (next day) which is a 24h window size. It is adjusted to 08:30 - 08:00 (next day) + description: > + Time frame provided in API request is slightly adjusted in response for + faster API response. + + For example, In request payload, if timeframe is 08:03 - 14:03, which is + a 6 hour window size. It is adjusted to 08:05 - 14:00 + + Another example, In request payload, if timeframe is 08:20 - 08:20 (next + day) which is a 24h window size. It is adjusted to 08:30 - 08:00 (next + day) + nullable: true properties: to: type: integer format: int64 - description: 'end of timeframe expressed as the Unix epoch time in milliseconds. - Eg: `ISO 8601` standard time `2024-06-27T05:05:55.615Z` can be represented - as `1719464755615` in Unix epoch time in milliseconds.' + description: >- + end of timeframe expressed as the Unix epoch time in milliseconds. + Eg: `ISO 8601` standard time `2024-06-27T05:05:55.615Z` can be + represented as `1719464755615` in Unix epoch time in milliseconds. windowSize: type: integer format: int64 description: windowSize in milliseconds minimum: 0 required: - - to + - to + AdvancedCustomBlueprintIndicator: + type: object + allOf: + - $ref: '#/components/schemas/ServiceLevelIndicator' + - type: object + properties: + badEvents: + $ref: '#/components/schemas/AdvancedFilter' + goodEvents: + $ref: '#/components/schemas/AdvancedFilter' + required: + - goodEvents + - type + AdvancedFilter: + type: object + properties: + aggregation: + type: string + enum: + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE + metric: + $ref: '#/components/schemas/EntityMetric' + operator: + type: string + enum: + - '>' + - '>=' + - < + - <= + threshold: + type: number + format: double + required: + - aggregation + - metric + - operator + - threshold AgentConfigurationUpdate: type: object properties: @@ -28805,7 +30542,7 @@ components: type: integer format: int32 required: - - agent-mode + - agent-mode AlertingConfiguration: type: object properties: @@ -28816,8 +30553,9 @@ components: minLength: 0 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Supports both static and dynamic fields. Can be left + description: >- + Custom payload fields to send additional information in the alert + notifications. Supports both static and dynamic fields. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' @@ -28832,8 +30570,9 @@ components: minLength: 0 includeEntityNameInLegacyAlerts: type: boolean - description: To include the entity name in a legacy alert based on built-in/custom - events. + description: >- + To include the entity name in a legacy alert based on + built-in/custom events. integrationIds: type: array description: List of Alert Channel IDs added in this Alert Configuration. @@ -28847,15 +30586,16 @@ components: muteUntil: type: integer format: int64 - description: Timer dictating how long the Alert Configuration will stay - muted. A value of `0` means the Alert Configuration is currently enabled. + description: >- + Timer dictating how long the Alert Configuration will stay muted. A + value of `0` means the Alert Configuration is currently enabled. Otherwise, the Alert Configuration is currently disabled (muted). required: - - alertName - - customPayloadFields - - eventFilteringConfiguration - - id - - integrationIds + - alertName + - customPayloadFields + - eventFilteringConfiguration + - id + - integrationIds AlertingConfigurationWithLastUpdated: type: object properties: @@ -28866,8 +30606,9 @@ components: minLength: 0 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Supports both static and dynamic fields. Can be left + description: >- + Custom payload fields to send additional information in the alert + notifications. Supports both static and dynamic fields. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' @@ -28882,8 +30623,9 @@ components: minLength: 0 includeEntityNameInLegacyAlerts: type: boolean - description: To include the entity name in a legacy alert based on built-in/custom - events. + description: >- + To include the entity name in a legacy alert based on + built-in/custom events. integrationIds: type: array description: List of Alert Channel IDs added in this Alert Configuration. @@ -28897,21 +30639,23 @@ components: lastUpdated: type: integer format: int64 - description: Unix timestamp representing the time the configuration was - last updated. + description: >- + Unix timestamp representing the time the configuration was last + updated. minimum: 1 muteUntil: type: integer format: int64 - description: Timer dictating how long the Alert Configuration will stay - muted. A value of `0` means the Alert Configuration is currently enabled. + description: >- + Timer dictating how long the Alert Configuration will stay muted. A + value of `0` means the Alert Configuration is currently enabled. Otherwise, the Alert Configuration is currently disabled (muted). required: - - alertName - - customPayloadFields - - eventFilteringConfiguration - - id - - integrationIds + - alertName + - customPayloadFields + - eventFilteringConfiguration + - id + - integrationIds AlertingTimeWindow: type: object properties: @@ -28921,41 +30665,81 @@ components: durationType: type: string enum: - - millisecond - - second - - minute - - hour - - day - - week - - month + - millisecond + - second + - minute + - hour + - day + - week + - month durationUnit: type: string enum: - - millisecond - - second - - minute - - hour - - day - - week - - month + - millisecond + - second + - minute + - hour + - day + - week + - month writeOnly: true required: - - duration - - durationType + - duration + - durationType ApdexAlertRule: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelsAlertRule' - - type: object - properties: - metric: + - $ref: '#/components/schemas/ServiceLevelsAlertRule' + - type: object + properties: + metric: + type: string + description: >- + This is the Apdex metric type. Apdex alert uses SCORE + metric. + enum: + - SCORE + required: + - metric + ApdexConfigWithRBACTag: + type: object + properties: + apdexEntity: + $ref: '#/components/schemas/ApdexEntity' + apdexName: + type: string + maxLength: 256 + minLength: 0 + createdAt: + type: integer + format: int64 + description: Created date of Apdex Configuration (Unix timestamp in milliseconds) + id: + type: string + description: Apdex Configuration ID + maxLength: 64 + minLength: 0 + lastUpdated: + type: integer + format: int64 + description: >- + Last updated date of Apdex Configuration (Unix timestamp in + milliseconds) + rbacTags: + type: array + items: + $ref: '#/components/schemas/ApiTag' + uniqueItems: true + tags: + type: array + description: List of tags associated with Apdex Configuration + items: type: string - description: This is the Apdex metric type. Apdex alert uses SCORE - metric. - enum: - - SCORE + description: List of tags associated with Apdex Configuration required: - - metric + - apdexEntity + - apdexName + - id ApdexConfiguration: type: object properties: @@ -28977,7 +30761,8 @@ components: lastUpdated: type: integer format: int64 - description: Last updated date of Apdex Configuration (Unix timestamp in + description: >- + Last updated date of Apdex Configuration (Unix timestamp in milliseconds) tags: type: array @@ -28986,9 +30771,9 @@ components: type: string description: List of tags associated with Apdex Configuration required: - - apdexEntity - - apdexName - - id + - apdexEntity + - apdexName + - id ApdexConfigurationInput: type: object properties: @@ -29006,8 +30791,8 @@ components: type: string description: List of tags associated with Apdex Configuration required: - - apdexEntity - - apdexName + - apdexEntity + - apdexName ApdexEntity: type: object description: Entity which holds the information of Apdex Configuration @@ -29029,9 +30814,9 @@ components: format: int32 minimum: 1 required: - - apdexType - - entityId - - tagFilterExpression + - apdexType + - entityId + - tagFilterExpression ApdexLevel: type: object description: Apdex satisfaction level definition with threshold boundaries @@ -29054,7 +30839,7 @@ components: type: number format: double description: Upper threshold boundary (inclusive) - example: 1.0 + example: 1 ApdexReport: type: object properties: @@ -29063,26 +30848,31 @@ components: description: Apdex Configuration ID apdexScore: type: array - description: Apdex Score in different timestamps from starting to the ending + description: >- + Apdex Score in different timestamps from starting to the ending point items: type: array - description: Apdex Score in different timestamps from starting to the - ending point + description: >- + Apdex Score in different timestamps from starting to the ending + point items: type: number - description: Apdex Score in different timestamps from starting to the - ending point + description: >- + Apdex Score in different timestamps from starting to the ending + point from: type: integer format: int64 - description: Starting point for the data retrieval, specified as 13 digit - Unix Timestamp milliseconds + description: >- + Starting point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds to: type: integer format: int64 - description: Ending point for the data retrieval, specified as 13 digit - Unix Timestamp milliseconds + description: >- + Ending point for the data retrieval, specified as 13 digit Unix + Timestamp milliseconds ApiCreateGroup: type: object properties: @@ -29090,6 +30880,7 @@ components: type: string maxLength: 500 minLength: 0 + nullable: true members: type: array items: @@ -29101,9 +30892,9 @@ components: permissionSet: $ref: '#/components/schemas/ApiPermissionSet' required: - - members - - name - - permissionSet + - members + - name + - permissionSet ApiCreateRole: type: object properties: @@ -29111,6 +30902,39 @@ components: type: string maxLength: 500 minLength: 0 + nullable: true + members: + type: array + items: + $ref: '#/components/schemas/ApiMember' + nullable: true + uniqueItems: true + name: + type: string + minLength: 1 + permissions: + type: array + items: + type: string + minLength: 1 + maxItems: 1024 + minItems: 0 + nullable: true + uniqueItems: true + required: + - name + ApiGroup: + type: object + properties: + description: + type: string + maxLength: 500 + minLength: 0 + nullable: true + id: + type: string + maxLength: 64 + minLength: 0 members: type: array items: @@ -29118,43 +30942,93 @@ components: uniqueItems: true name: type: string - minLength: 1 - permissions: - type: array - items: - type: string - minLength: 1 - maxItems: 1024 - minItems: 0 - uniqueItems: true - required: - - name - ApiGroup: + minLength: 1 + permissionSet: + $ref: '#/components/schemas/ApiPermissionSet' + required: + - id + - members + - name + - permissionSet + ApiLogItem: + type: object + properties: + aws.ecs.containerId: + type: string + aws.ecs.containerName: + type: string + containerd.containerId: + type: string + crio.containerId: + type: string + docker.containerId: + type: string + docker.containerName: + type: string + garden.containerId: + type: string + kubernetes.cluster.name: + type: string + kubernetes.container.name: + type: string + kubernetes.deployment.name: + type: string + kubernetes.namespace.name: + type: string + kubernetes.node.name: + type: string + kubernetes.pod.name: + type: string + log.applications: + type: array + items: + type: string + log.custom: + type: array + items: + $ref: '#/components/schemas/ApiLogTag' + log.exception.message: + type: string + log.exception.stackTrace: + type: string + log.exception.type: + type: string + log.expiration.ts.seconds: + type: string + log.file.path: + type: string + log.hostId: + type: string + log.hostName: + type: string + log.level: + type: string + log.message: + type: string + log.processId: + type: string + log.serviceId: + type: string + log.serviceName: + type: string + log.streamName: + type: string + log.timestamp: + type: integer + format: int64 + minimum: 0 + log.traceId: + type: string + ApiLogTag: type: object properties: - description: - type: string - maxLength: 500 - minLength: 0 - id: + key: type: string - maxLength: 64 - minLength: 0 - members: - type: array - items: - $ref: '#/components/schemas/ApiMember' - uniqueItems: true name: type: string - minLength: 1 - permissionSet: - $ref: '#/components/schemas/ApiPermissionSet' - required: - - id - - members - - name - - permissionSet + writeOnly: true + value: + type: object ApiMember: type: object properties: @@ -29165,12 +31039,19 @@ components: userId: type: string required: - - userId + - userId ApiPermissionSet: type: object properties: actionFilter: $ref: '#/components/schemas/ScopeBinding' + apdexIds: + type: array + items: + $ref: '#/components/schemas/ScopeBinding' + maxItems: 1024 + minItems: 0 + uniqueItems: true applicationIds: type: array items: @@ -29247,17 +31128,18 @@ components: minItems: 0 uniqueItems: true required: - - applicationIds - - businessPerspectiveIds - - infraDfqFilter - - kubernetesClusterUUIDs - - kubernetesNamespaceUIDs - - mobileAppIds - - permissions - - sloIds - - syntheticCredentialKeys - - syntheticTestIds - - websiteIds + - apdexIds + - applicationIds + - businessPerspectiveIds + - infraDfqFilter + - kubernetesClusterUUIDs + - kubernetesNamespaceUIDs + - mobileAppIds + - permissions + - sloIds + - syntheticCredentialKeys + - syntheticTestIds + - websiteIds ApiRestrictedApplicationFilter: type: object properties: @@ -29270,14 +31152,14 @@ components: scope: type: string enum: - - INCLUDE_NO_DOWNSTREAM - - INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING - - INCLUDE_ALL_DOWNSTREAM + - INCLUDE_NO_DOWNSTREAM + - INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING + - INCLUDE_ALL_DOWNSTREAM tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' required: - - label - - scope + - label + - scope ApiRole: type: object properties: @@ -29285,6 +31167,7 @@ components: type: string maxLength: 500 minLength: 0 + nullable: true id: type: string members: @@ -29301,10 +31184,10 @@ components: type: string uniqueItems: true required: - - id - - members - - name - - permissions + - id + - members + - name + - permissions ApiTag: type: object properties: @@ -29317,8 +31200,8 @@ components: maxLength: 64 minLength: 0 required: - - displayName - - id + - displayName + - id ApiTeam: type: object properties: @@ -29340,7 +31223,7 @@ components: maxLength: 256 minLength: 0 required: - - tag + - tag ApiTeamInfo: type: object properties: @@ -29363,7 +31246,7 @@ components: userId: type: string required: - - userId + - userId ApiTeamRole: type: object properties: @@ -29374,7 +31257,7 @@ components: viaIdP: type: boolean required: - - roleId + - roleId ApiTeamScope: type: object properties: @@ -29383,34 +31266,40 @@ components: items: type: string enum: - - LIMITED_APPLICATIONS_SCOPE - - LIMITED_WEBSITES_SCOPE - - LIMITED_KUBERNETES_SCOPE - - LIMITED_MOBILE_APPS_SCOPE - - LIMITED_INFRASTRUCTURE_SCOPE - - LIMITED_SYNTHETICS_SCOPE - - LIMITED_BIZOPS_SCOPE - - LIMITED_GEN_AI_SCOPE - - LIMITED_AUTOMATION_SCOPE - - LIMITED_LOGS_SCOPE - - LIMITED_ALERT_CHANNELS_SCOPE - - LIMITED_VSPHERE_SCOPE - - LIMITED_PHMC_SCOPE - - LIMITED_POWERVC_SCOPE - - LIMITED_ZHMC_SCOPE - - LIMITED_PCF_SCOPE - - LIMITED_OPENSTACK_SCOPE - - LIMITED_SAP_SCOPE - - LIMITED_NUTANIX_SCOPE - - LIMITED_XENSERVER_SCOPE - - LIMITED_WINDOWS_HYPERVISOR_SCOPE - - LIMITED_LINUX_KVM_HYPERVISOR_SCOPE - - LIMITED_AI_GATEWAY_SCOPE - - LIMITED_SERVICE_LEVEL_SCOPE - - LIMITED_GEN_AI_CAPABILITIES_SCOPE + - LIMITED_APPLICATIONS_SCOPE + - LIMITED_WEBSITES_SCOPE + - LIMITED_KUBERNETES_SCOPE + - LIMITED_MOBILE_APPS_SCOPE + - LIMITED_INFRASTRUCTURE_SCOPE + - LIMITED_SYNTHETICS_SCOPE + - LIMITED_BIZOPS_SCOPE + - LIMITED_GEN_AI_SCOPE + - LIMITED_AUTOMATION_SCOPE + - LIMITED_LOGS_SCOPE + - LIMITED_LOGGING_PERSPECTIVES_SCOPE + - LIMITED_ALERT_CHANNELS_SCOPE + - LIMITED_VSPHERE_SCOPE + - LIMITED_PHMC_SCOPE + - LIMITED_POWERVC_SCOPE + - LIMITED_ZHMC_SCOPE + - LIMITED_PCF_SCOPE + - LIMITED_OPENSTACK_SCOPE + - LIMITED_SAP_SCOPE + - LIMITED_NUTANIX_SCOPE + - LIMITED_XENSERVER_SCOPE + - LIMITED_WINDOWS_HYPERVISOR_SCOPE + - LIMITED_LINUX_KVM_HYPERVISOR_SCOPE + - LIMITED_AI_GATEWAY_SCOPE + - LIMITED_SERVICE_LEVEL_SCOPE + - LIMITED_GEN_AI_CAPABILITIES_SCOPE uniqueItems: true actionFilter: type: string + apdexIds: + type: array + items: + type: string + uniqueItems: true applications: type: array items: @@ -29435,6 +31324,11 @@ components: uniqueItems: true logFilter: type: string + loggingPerspectives: + type: array + items: + type: string + uniqueItems: true mobileApps: type: array items: @@ -29473,6 +31367,8 @@ components: accessGrantingToken: type: string minLength: 1 + canCollectNetTraceLogs: + type: boolean canConfigureAgentRunMode: type: boolean canConfigureAgents: @@ -29483,6 +31379,8 @@ components: type: boolean canConfigureApiTokens: type: boolean + canConfigureApplicationBusinessCriticality: + type: boolean canConfigureApplicationSmartAlerts: type: boolean canConfigureApplications: @@ -29503,6 +31401,8 @@ components: type: boolean canConfigureEventsAndAlerts: type: boolean + canConfigureGenAIEvaluations: + type: boolean canConfigureGlobalAlertPayload: type: boolean canConfigureGlobalApplicationSmartAlerts: @@ -29525,12 +31425,16 @@ components: type: boolean canConfigureLogRetentionPeriod: type: boolean + canConfigureLoggingPerspectives: + type: boolean canConfigureMaintenanceWindows: type: boolean canConfigureMobileAppMonitoring: type: boolean canConfigureMobileAppSmartAlerts: type: boolean + canConfigureNetworkIntegrations: + type: boolean canConfigurePersonalApiTokens: type: boolean canConfigurePersonallyIdentifiableInformationMasking: @@ -29613,12 +31517,15 @@ components: type: boolean createdBy: type: string + nullable: true createdOn: type: integer format: int64 + nullable: true expiresOn: type: integer format: int64 + nullable: true id: type: string internalId: @@ -29627,6 +31534,7 @@ components: lastUsedOn: type: integer format: int64 + nullable: true limitedAiGatewayScope: type: boolean limitedAlertChannelsScope: @@ -29647,6 +31555,8 @@ components: type: boolean limitedLinuxKVMHypervisorScope: type: boolean + limitedLoggingPerspectivesScope: + type: boolean limitedLogsScope: type: boolean limitedMobileAppsScope: @@ -29681,39 +31591,42 @@ components: type: string minLength: 1 required: - - accessGrantingToken - - internalId - - name + - accessGrantingToken + - internalId + - name AppDataMetricConfiguration: type: object properties: aggregation: type: string - description: 'Set aggregation that can be applied to a series of values. - Eg: `MEAN`.' + description: >- + Set aggregation that can be applied to a series of values. Eg: + `MEAN`. enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE granularity: type: integer format: int32 - description: 'If the granularity is set you will get data points with the - specified granularity in seconds. Default: `1000` milliseconds' + description: >- + If the granularity is set you will get data points with the + specified granularity in seconds. Default: `1000` milliseconds + nullable: true metric: type: string description: 'Set a particular metric, eg: `latency`.' @@ -29721,8 +31634,8 @@ components: numeratorTagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' required: - - aggregation - - metric + - aggregation + - metric Application: type: object description: Returns a list of Application Perspectives. @@ -29731,39 +31644,52 @@ components: type: string description: Here, `ALL` Application Boundary Scope is considered. minLength: 1 + businessCriticality: + type: string + description: Business criticality level of the application + enum: + - NOT_DEFINED + - LOWEST + - LOW + - MEDIUM + - HIGH + - HIGHEST entityType: type: string - description: Since, this is an Application Perspective, it will be of type + description: >- + Since, this is an Application Perspective, it will be of type `APPLICATION`. enum: - - APPLICATION - - SERVICE - - ENDPOINT + - APPLICATION + - SERVICE + - ENDPOINT id: type: string - description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.' + description: >- + Unique ID of the Application Perspective. Eg: + `Av62RoIKQv-A3n6DbMQh9g`. minLength: 1 label: type: string description: 'Name of the Application Perspective. Eg: `app1`.' minLength: 1 required: - - boundaryScope - - id - - label + - boundaryScope + - id + - label ApplicationAlertConfig: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 @@ -29785,29 +31711,33 @@ components: type: object additionalProperties: $ref: '#/components/schemas/ApplicationNode' - description: Selection of applications, services, and endpoints that this - Smart Alert configuration is associated with. This selection is connected + description: >- + Selection of applications, services, and endpoints that this Smart + Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator. boundaryScope: type: string - description: Determines the source of the application alert configuration. - An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers + description: >- + Determines the source of the application alert configuration. An + `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls. enum: - - ALL - - INBOUND + - ALL + - INBOUND customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the application alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the application alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 @@ -29816,45 +31746,53 @@ components: description: Flag to indicate whether or not the configuration is enabled. evaluationType: type: string - description: Determines whether calls of the aggregated metrics are grouped - by the application, the service, or the endpoint. This also determines - whether the resulting events are categorized as an issue on the respective - entity of that group. + description: >- + Determines whether calls of the aggregated metrics are grouped by + the application, the service, or the endpoint. This also determines + whether the resulting events are categorized as an issue on the + respective entity of that group. enum: - - PER_AP - - PER_AP_SERVICE - - PER_AP_ENDPOINT + - PER_AP + - PER_AP_SERVICE + - PER_AP_ENDPOINT gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: 'Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. ' + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. name: type: string - description: Name of the application alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the application alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -29862,22 +31800,26 @@ components: $ref: '#/components/schemas/ApplicationAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilters: @@ -29892,32 +31834,33 @@ components: $ref: '#/components/schemas/ApplicationTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - alertChannelIds - - applications - - boundaryScope - - customPayloadFields - - description - - evaluationType - - granularity - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - alertChannelIds + - applications + - boundaryScope + - customPayloadFields + - description + - evaluationType + - granularity + - name + - tagFilterExpression + - timeThreshold ApplicationAlertConfigWithMetadata: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 @@ -29935,25 +31878,28 @@ components: applicationId: type: string deprecated: true - description: ID of the application that this Smart Alert configuration is - applied to. + description: >- + ID of the application that this Smart Alert configuration is applied + to. maxLength: 64 minLength: 0 applications: type: object additionalProperties: $ref: '#/components/schemas/ApplicationNode' - description: Selection of applications, services, and endpoints that this - Smart Alert configuration is associated with. This selection is connected + description: >- + Selection of applications, services, and endpoints that this Smart + Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator. boundaryScope: type: string - description: Determines the source of the application alert configuration. - An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers + description: >- + Determines the source of the application alert configuration. An + `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls. enum: - - ALL - - INBOUND + - ALL + - INBOUND created: type: integer format: int64 @@ -29961,16 +31907,18 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the application alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the application alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 @@ -29979,33 +31927,37 @@ components: description: Flag to indicate whether or not the configuration is enabled. evaluationType: type: string - description: Determines whether calls of the aggregated metrics are grouped - by the application, the service, or the endpoint. This also determines - whether the resulting events are categorized as an issue on the respective - entity of that group. + description: >- + Determines whether calls of the aggregated metrics are grouped by + the application, the service, or the endpoint. This also determines + whether the resulting events are categorized as an issue on the + respective entity of that group. enum: - - PER_AP - - PER_AP_SERVICE - - PER_AP_ENDPOINT + - PER_AP + - PER_AP_SERVICE + - PER_AP_ENDPOINT gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string description: 'ID of this Application App Alert Config. ' @@ -30013,12 +31965,15 @@ components: minLength: 0 includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: 'Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. ' + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. initialCreated: type: integer format: int64 @@ -30026,35 +31981,41 @@ components: minimum: 1 name: type: string - description: Name of the application alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the application alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/ApplicationAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilters: @@ -30069,20 +32030,21 @@ components: $ref: '#/components/schemas/ApplicationTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - alertChannelIds - - applications - - boundaryScope - - customPayloadFields - - description - - evaluationType - - granularity - - id - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - alertChannelIds + - applications + - boundaryScope + - customPayloadFields + - description + - evaluationType + - granularity + - id + - name + - tagFilterExpression + - timeThreshold ApplicationAlertRule: type: object discriminator: @@ -30098,64 +32060,66 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE alertType: type: string metricName: type: string minLength: 1 required: - - alertType - - metricName + - alertType + - metricName ApplicationApdexEntity: type: object allOf: - - $ref: '#/components/schemas/ApdexEntity' - - type: object - properties: - boundaryScope: - type: string - description: Application Boundary Scope, it could be ALL or INBOUND - enum: - - ALL - - INBOUND - entityId: - type: string - description: Application ID - minLength: 1 - includeInternal: - type: boolean - description: A boolean value indicating whether the SLO takes Internal - calls into account - includeSynthetic: - type: boolean - description: A boolean value indicating whether the SLO takes Synthetic - calls into account - threshold: - type: integer - format: int32 - description: Value of the Apdex Threshold - minimum: 1 - required: - - boundaryScope - - entityId - - tagFilterExpression + - $ref: '#/components/schemas/ApdexEntity' + - type: object + properties: + boundaryScope: + type: string + description: Application Boundary Scope, it could be ALL or INBOUND + enum: + - ALL + - INBOUND + entityId: + type: string + description: Application ID + minLength: 1 + includeInternal: + type: boolean + description: >- + A boolean value indicating whether the SLO takes Internal calls + into account + includeSynthetic: + type: boolean + description: >- + A boolean value indicating whether the SLO takes Synthetic calls + into account + threshold: + type: integer + format: int32 + description: Value of the Apdex Threshold + minimum: 1 + required: + - boundaryScope + - entityId + - tagFilterExpression ApplicationConfig: type: object properties: @@ -30169,21 +32133,50 @@ components: minItems: 1 boundaryScope: type: string - description: | - **INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective. + description: > + **INBOUND**: Inbound calls are calls initiated from outside the + application and where the destination service is part of the + selected application perspective. + + + **ALL**: Results and metrics for not only calls at the application + perspective boundary, but also those occurring within the + application perspective. - **ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective. - **DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`. - At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`. - It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`. + **DEFAULT**: Default value, for Application Perspectives created + before the introduction of `ALL` and `INBOUND`. + + At present, whenever new Application Perspectives are created, there + are only 2 options to select: `ALL` or `INBOUND`. + + It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is + deprecated. `DEFAULT` is treated as `INBOUND`. + enum: + - ALL + - INBOUND + - DEFAULT + businessCriticality: + type: string + description: Business criticality level of the application enum: - - ALL - - INBOUND - - DEFAULT + - NOT_DEFINED + - LOWEST + - LOW + - MEDIUM + - HIGH + - HIGHEST + nullable: true + createdAt: + type: integer + format: int64 + createdBy: + type: string id: type: string - description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.' + description: >- + Unique ID of the Application Perspective. Eg: + `Av62RoIKQv-A3n6DbMQh9g`. maxLength: 128 minLength: 1 label: @@ -30193,40 +32186,61 @@ components: minLength: 1 matchSpecification: $ref: '#/components/schemas/MatchExpressionDTO' + modifiedAt: + type: integer + format: int64 + modifiedBy: + type: string scope: type: string - description: | - **INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set). + description: > + **INCLUDE_NO_DOWNSTREAM** : Only the selected services from the + filters are included (call this the core set). + This is useful when you treat the services as opaque. + An example would be the services that represent 3rd party APIs. - **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with. - This is useful if you are want to monitor a set of services and their direct dependencies. - For example, a development team responsible for several micro-services. - **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services. + **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include + the core set of services from the filters and then expand this core + set to include the database and messaging services that the core set + directly interacts with. + + This is useful if you are want to monitor a set of services and + their direct dependencies. + + For example, a development team responsible for several + micro-services. + + + **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically + includes all the services that form the entire end-to-end dependency + chain of the core set of services. + This is useful if the AP will be used for troubleshooting. enum: - - INCLUDE_NO_DOWNSTREAM - - INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING - - INCLUDE_ALL_DOWNSTREAM + - INCLUDE_NO_DOWNSTREAM + - INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING + - INCLUDE_ALL_DOWNSTREAM tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' required: - - accessRules - - boundaryScope - - id - - label - - scope + - accessRules + - boundaryScope + - businessCriticality + - id + - label + - scope ApplicationEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - applicationId: - type: string - description: ID of the application. + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + applicationId: + type: string + description: ID of the application. ApplicationItem: type: object properties: @@ -30241,8 +32255,8 @@ components: items: type: number required: - - application - - metrics + - application + - metrics ApplicationMetricResult: type: object properties: @@ -30266,11 +32280,12 @@ components: format: int64 minimum: 0 required: - - items + - items ApplicationNode: type: object - description: Selection of applications, services, and endpoints that this Smart - Alert configuration is associated with. This selection is connected to the + description: >- + Selection of applications, services, and endpoints that this Smart Alert + configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator. properties: applicationId: @@ -30284,8 +32299,8 @@ components: additionalProperties: $ref: '#/components/schemas/ServiceNode' required: - - applicationId - - services + - applicationId + - services ApplicationResult: type: object properties: @@ -30297,8 +32312,9 @@ components: page: type: integer format: int32 - description: Page number you want to retrieve in a request / retrieved in - a response. + description: >- + Page number you want to retrieve in a request / retrieved in a + response. pageSize: type: integer format: int32 @@ -30306,8 +32322,9 @@ components: totalHits: type: integer format: int32 - description: 'The number of results returned. For eg: If `items` has 5 elements, - `totalhits` will be 5' + description: >- + The number of results returned. For eg: If `items` has 5 elements, + `totalhits` will be 5 ApplicationScope: type: object description: The list of application perspectives where the release can be viewed. @@ -30318,86 +32335,99 @@ components: maxLength: 256 minLength: 0 required: - - name + - name ApplicationScopeWithMetadata: type: object description: The list of application perspectives where the release can be viewed. properties: id: type: string - description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.' + description: >- + Unique ID of the Application Perspective. Eg: + `Av62RoIKQv-A3n6DbMQh9g`. minLength: 1 name: type: string description: 'Name of the Application Perspective. Eg: `app1`.' + nullable: true required: - - id + - id ApplicationSliEntity: type: object allOf: - - $ref: '#/components/schemas/SliEntity' - - type: object - properties: - applicationId: - type: string - description: Specifies the ID of the Application that is to be monitored - by the SLO - boundaryScope: - type: string - description: Defines the boundary of calls to be monitored, specifying - whether to track all calls or only inbound calls - enum: - - ALL - - INBOUND - endpointId: - type: string - description: Specifies the ID of the Endpoint to be monitored by the application - SLO - serviceId: - type: string - description: Identifies the service to be monitored by the application - SLO + - $ref: '#/components/schemas/SliEntity' + - type: object + properties: + applicationId: + type: string + description: >- + Specifies the ID of the Application that is to be monitored by + the SLO + boundaryScope: + type: string + description: >- + Defines the boundary of calls to be monitored, specifying + whether to track all calls or only inbound calls + enum: + - ALL + - INBOUND + nullable: true + endpointId: + type: string + description: >- + Specifies the ID of the Endpoint to be monitored by the + application SLO + nullable: true + serviceId: + type: string + description: Identifies the service to be monitored by the application SLO + nullable: true required: - - boundaryScope + - boundaryScope ApplicationSloEntity: type: object allOf: - - $ref: '#/components/schemas/SloEntity' - - type: object - properties: - applicationId: - type: string - description: The ID of the Application - minLength: 1 - boundaryScope: - type: string - description: The Boundary Scope of the Application - enum: - - ALL - - INBOUND - endpointId: - type: string - description: The Endpoint ID of the Application - includeInternal: - type: boolean - description: A boolean value indicating whether the SLO takes Internal - calls into account - includeSynthetic: - type: boolean - description: A boolean value indicating whether the SLO takes Synthetic - calls into account - serviceId: - type: string - description: The Service ID of the Application + - $ref: '#/components/schemas/SloEntity' + - type: object + properties: + applicationId: + type: string + description: The ID of the Application + minLength: 1 + boundaryScope: + type: string + description: The Boundary Scope of the Application + enum: + - ALL + - INBOUND + endpointId: + type: string + description: The Endpoint ID of the Application + nullable: true + includeInternal: + type: boolean + description: >- + A boolean value indicating whether the SLO takes Internal calls + into account + includeSynthetic: + type: boolean + description: >- + A boolean value indicating whether the SLO takes Synthetic calls + into account + serviceId: + type: string + description: The Service ID of the Application + nullable: true required: - - applicationId - - boundaryScope - - includeInternal - - includeSynthetic + - applicationId + - boundaryScope + - includeInternal + - includeSynthetic ApplicationTimeThreshold: type: object - description: The type of threshold to define the criteria when the event and - alert triggers and resolves. + description: >- + The type of threshold to define the criteria when the event and alert + triggers and resolves. discriminator: mapping: requestImpact: '#/components/schemas/TraceImpactApplicationTimeThreshold' @@ -30411,7 +32441,7 @@ components: type: type: string required: - - type + - type AuditLogUiResponse: type: object properties: @@ -30427,82 +32457,98 @@ components: properties: id: type: string + nullable: true type: type: string enum: - - API - - USER - - INSTANA - - UNKNOWN + - API + - USER + - INSTANA + - UNKNOWN AvailabilityBlueprintIndicator: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelIndicator' - - type: object - properties: - threshold: - type: number - format: double - description: Threshold Value for the Blueprint - exclusiveMinimum: false - minimum: 0.0 + - $ref: '#/components/schemas/ServiceLevelIndicator' + - type: object + properties: + metric: + $ref: '#/components/schemas/EntityMetric' + threshold: + type: number + format: double + description: Threshold Value for the Blueprint + exclusiveMinimum: false + minimum: 0 required: - - type + - type AvailabilitySliEntity: type: object allOf: - - $ref: '#/components/schemas/SliEntity' - - type: object - properties: - applicationId: - type: string - description: Specifies the ID of the Application that is to be monitored - by the SLO - badEventFilterExpression: - $ref: '#/components/schemas/TagFilterExpressionElement' - badEventFilters: - type: array - description: Defines the logical expression to filter data and classify - events as Bad Events - items: - $ref: '#/components/schemas/TagFilter' - maxItems: 32 - minItems: 1 - boundaryScope: - type: string - description: Defines the boundary of calls to be monitored, specifying - whether to track all calls or only inbound calls - enum: - - ALL - - INBOUND - endpointId: - type: string - description: Specifies the ID of the Endpoint to be monitored by the availability-based - application SLO - goodEventFilterExpression: - $ref: '#/components/schemas/TagFilterExpressionElement' - goodEventFilters: - type: array - description: Defines the logical expression to filter data and classify - events as Good Events - items: - $ref: '#/components/schemas/TagFilter' - maxItems: 32 - minItems: 1 - includeInternal: - type: boolean - description: Boolean value indicating whether internal calls should be - included in the monitoring process - includeSynthetic: - type: boolean - description: Boolean value indicating whether synthetic calls should be - included in the monitoring process - serviceId: - type: string - description: Identifies the service to be monitored by the availability-based - application SLO + - $ref: '#/components/schemas/SliEntity' + - type: object + properties: + applicationId: + type: string + description: >- + Specifies the ID of the Application that is to be monitored by + the SLO + badEventFilterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + badEventFilters: + type: array + description: >- + Defines the logical expression to filter data and classify + events as Bad Events + items: + $ref: '#/components/schemas/TagFilter' + maxItems: 32 + minItems: 1 + nullable: true + boundaryScope: + type: string + description: >- + Defines the boundary of calls to be monitored, specifying + whether to track all calls or only inbound calls + enum: + - ALL + - INBOUND + nullable: true + endpointId: + type: string + description: >- + Specifies the ID of the Endpoint to be monitored by the + availability-based application SLO + nullable: true + goodEventFilterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + goodEventFilters: + type: array + description: >- + Defines the logical expression to filter data and classify + events as Good Events + items: + $ref: '#/components/schemas/TagFilter' + maxItems: 32 + minItems: 1 + nullable: true + includeInternal: + type: boolean + description: >- + Boolean value indicating whether internal calls should be + included in the monitoring process + includeSynthetic: + type: boolean + description: >- + Boolean value indicating whether synthetic calls should be + included in the monitoring process + serviceId: + type: string + description: >- + Identifies the service to be monitored by the availability-based + application SLO + nullable: true required: - - boundaryScope + - boundaryScope AvailableMetrics: type: object properties: @@ -30524,150 +32570,151 @@ components: properties: traceId: type: string - description: 'The corresponding trace ID. For eg: `07eaf10c1d051234` or - `000000000000000007eaf10c1d051234`' + description: >- + The corresponding trace ID. For eg: `07eaf10c1d051234` or + `000000000000000007eaf10c1d051234` required: - - traceId + - traceId BidirectionalMsTeamsAppIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - apiTokenId: - type: string - minLength: 1 - channelId: - type: string - minLength: 1 - channelName: - type: string - minLength: 1 - instanaUrl: - type: string - minLength: 1 - serviceUrl: - type: string - teamId: - type: string - minLength: 1 - teamName: - type: string - tenantId: - type: string - minLength: 1 - tenantName: - type: string - required: - - apiTokenId - - channelId - - channelName - - id - - instanaUrl - - kind - - name - - teamId - - tenantId + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + apiTokenId: + type: string + minLength: 1 + channelId: + type: string + minLength: 1 + channelName: + type: string + minLength: 1 + instanaUrl: + type: string + minLength: 1 + serviceUrl: + type: string + teamId: + type: string + minLength: 1 + teamName: + type: string + tenantId: + type: string + minLength: 1 + tenantName: + type: string + required: + - apiTokenId + - channelId + - channelName + - id + - instanaUrl + - kind + - name + - teamId + - tenantId BidirectionalSlackAppIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - appId: - type: string - channelId: - type: string - channelName: - type: string - emojiRendering: - type: boolean - status: - type: string - teamId: - type: string - teamName: - type: string + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + appId: + type: string + channelId: + type: string + channelName: + type: string + emojiRendering: + type: boolean + status: + type: string + teamId: + type: string + teamName: + type: string required: - - id - - kind - - name + - id + - kind + - name BinaryOperatorDTO: type: object allOf: - - $ref: '#/components/schemas/MatchExpressionDTO' - - type: object - properties: - conjunction: - type: string - enum: - - AND - - OR - left: - $ref: '#/components/schemas/MatchExpressionDTO' - right: - $ref: '#/components/schemas/MatchExpressionDTO' - required: - - conjunction - - left - - right + - $ref: '#/components/schemas/MatchExpressionDTO' + - type: object + properties: + conjunction: + type: string + enum: + - AND + - OR + left: + $ref: '#/components/schemas/MatchExpressionDTO' + right: + $ref: '#/components/schemas/MatchExpressionDTO' + required: + - conjunction + - left + - right BrowserScriptConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - browser: - type: string - enum: - - chrome - - firefox - fileName: - type: string - github: - $ref: '#/components/schemas/GitHubConfiguration' - recordVideo: - type: boolean - script: - type: string - maxLength: 1048576 - minLength: 0 - scriptType: - type: string - enum: - - Basic - - Jest - scripts: - $ref: '#/components/schemas/MultipleScriptsConfiguration' - required: - - markSyntheticCall - - syntheticType + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + browser: + type: string + enum: + - chrome + - firefox + fileName: + type: string + github: + $ref: '#/components/schemas/GitHubConfiguration' + recordVideo: + type: boolean + script: + type: string + maxLength: 1048576 + minLength: 0 + scriptType: + type: string + enum: + - Basic + - Jest + scripts: + $ref: '#/components/schemas/MultipleScriptsConfiguration' + required: + - markSyntheticCall + - syntheticType BrowserScriptConfigurationUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - browser: - type: string - enum: - - chrome - - firefox - fileName: - type: string - github: - $ref: '#/components/schemas/GitHubConfiguration' - recordVideo: - type: boolean - script: - type: string - scriptType: - type: string - enum: - - Basic - - Jest - scripts: - $ref: '#/components/schemas/MultipleScriptsConfiguration' + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + browser: + type: string + enum: + - chrome + - firefox + fileName: + type: string + github: + $ref: '#/components/schemas/GitHubConfiguration' + recordVideo: + type: boolean + script: + type: string + scriptType: + type: string + enum: + - Basic + - Jest + scripts: + $ref: '#/components/schemas/MultipleScriptsConfiguration' BuiltInEventSpecification: type: object properties: @@ -30722,11 +32769,11 @@ components: type: boolean description: Flag to show whether the Built-in Event Specification is triggering required: - - hyperParams - - id - - name - - ruleInputs - - shortPluginId + - hyperParams + - id + - name + - ruleInputs + - shortPluginId BuiltInEventSpecificationWithLastUpdated: type: object properties: @@ -30785,11 +32832,11 @@ components: type: boolean description: Flag to show whether the Built-in Event Specification is triggering required: - - hyperParams - - id - - name - - ruleInputs - - shortPluginId + - hyperParams + - id + - name + - ruleInputs + - shortPluginId BulkAlertConfigRequest: type: object properties: @@ -30801,14 +32848,13 @@ components: type: string uniqueItems: true required: - - configs + - configs BusinessActivity: type: object properties: activityId: type: string - description: Unique identifier for the activity generated by the source - BPM tool + description: Unique identifier for the activity generated by the source BPM tool example: ApproveInvoiceTask nullable: true activityName: @@ -30834,6 +32880,7 @@ components: type: array items: type: string + nullable: true processDefinitionId: type: string description: The identifier of the process the activity is an instance of. @@ -30850,7 +32897,7 @@ components: example: 486cbb3b-e633-11ee-8707-0242ac110002 nullable: true required: - - activityType + - activityType BusinessPerspectiveConfig: type: object properties: @@ -30869,12 +32916,15 @@ components: tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' required: - - id + - id CallGroupsItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: cursor: $ref: '#/components/schemas/IngestionOffsetCursor' @@ -30882,26 +32932,44 @@ components: type: object additionalProperties: type: array - description: | + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. items: type: array - description: | + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: + `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. items: type: number - description: | + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. - description: | + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: + `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. name: type: string description: Name of the group. @@ -30912,9 +32980,9 @@ components: description: Earliest timestamp of the call from the group minimum: 0 required: - - cursor - - metrics - - name + - cursor + - metrics + - name CallGroupsResult: type: object properties: @@ -30922,13 +32990,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/CallGroupsItem' totalHits: @@ -30939,20 +33011,24 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items + - items CallRelation: type: object - description: It shows from where the call is destined to. It includes destination + description: >- + It shows from where the call is destined to. It includes destination service, its endpoint and list of technologies of the service. properties: endpoint: @@ -30974,44 +33050,55 @@ components: changeType: type: string enum: - - CREATE - - UPDATE - - DELETE - - ENABLE - - DISABLE - - RESTORE - - UNKNOWN - required: - - author - - changeType + - CREATE + - UPDATE + - DELETE + - ENABLE + - DISABLE + - RESTORE + - UNKNOWN + required: + - author + - changeType CloudfoundryPhysicalContext: type: object - description: | - Contains physical context of Cloudfoundry. It contains the following information: + description: > + Contains physical context of Cloudfoundry. It contains the following + information: + 1. `application`: Application running within Cloud Foundry environment. - 2. `cfInstanceIndex`: A unique ID of the container created and managed by Garden in the Cloud Foundry environment. + + 2. `cfInstanceIndex`: A unique ID of the container created and managed + by Garden in the Cloud Foundry environment. + 3. `organization`: Organization in the Cloud Foundry environment. + 4. `space`: Space within an organization in Cloud Foundry environment. + nullable: true properties: application: $ref: '#/components/schemas/SnapshotPreview' cfInstanceIndex: type: string - description: A unique ID of the container created and managed by Garden - in the Cloud Foundry environment. + description: >- + A unique ID of the container created and managed by Garden in the + Cloud Foundry environment. + nullable: true organization: $ref: '#/components/schemas/SnapshotPreview' space: $ref: '#/components/schemas/SnapshotPreview' Condition: type: object - description: This applies to only `automatic` policy type. A Dynamic Focus Query - that selects a list of entities on which the policy is run. + description: >- + This applies to only `automatic` policy type. A Dynamic Focus Query that + selects a list of entities on which the policy is run. properties: query: type: string - description: Dynamic Focus Query string that selects a list of entities - on which the policy is run. + description: >- + Dynamic Focus Query string that selects a list of entities on which + the policy is run. ConfigVersion: type: object properties: @@ -31036,7 +33123,7 @@ components: maxLength: 64 minLength: 0 required: - - id + - id ContainerNode: type: object Correction: @@ -31082,6 +33169,7 @@ components: description: type: string description: Description of the SLO Correction Window Configuration + nullable: true id: type: string description: SLO Correction Window Configuration ID @@ -31098,11 +33186,13 @@ components: $ref: '#/components/schemas/CorrectionScheduling' sloIds: type: array - description: This is the list of SLO configurations related to this Correction + description: >- + This is the list of SLO configurations related to this Correction Window. items: type: string - description: This is the list of SLO configurations related to this Correction + description: >- + This is the list of SLO configurations related to this Correction Window. minLength: 1 maxItems: 1024 @@ -31116,8 +33206,8 @@ components: description: List of tags associated with SLO Correction Window Configuration uniqueItems: true required: - - name - - scheduling + - name + - scheduling CorrectionScheduling: type: object description: Time scheduling of the SLO Correction Window configurations. @@ -31125,36 +33215,40 @@ components: duration: type: integer format: int32 - description: Duration of the correction window, defined by the count of - time units. + description: >- + Duration of the correction window, defined by the count of time + units. durationUnit: type: string description: 'Unit for duration. Supported values: `MINUTE`, `HOUR`, `DAY`.' enum: - - millisecond - - second - - minute - - hour - - day - - week - - calendar_month + - millisecond + - second + - minute + - hour + - day + - week + - calendar_month recurrent: type: boolean recurrentRule: type: string - description: 'Recurrence Rule defines how the event recurs, using iCalendar - RRULE format (e.g., `FREQ=DAILY;INTERVAL=1`).It supports fields like FREQ, - INTERVAL, BYDAY, etc. Refer to RFC 5545: https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10' + description: >- + Recurrence Rule defines how the event recurs, using iCalendar RRULE + format (e.g., `FREQ=DAILY;INTERVAL=1`).It supports fields like FREQ, + INTERVAL, BYDAY, etc. Refer to RFC 5545: + https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 maxLength: 2048 minLength: 0 startTime: type: string format: date-time - description: Start time of the correction window in milliseconds since epoch + description: >- + Start time of the correction window in milliseconds since epoch (UTC) (e.g., `1706713140000`). required: - - duration - - durationUnit + - duration + - durationUnit CorrectionWindow: type: object description: List of Correction Windows @@ -31184,9 +33278,57 @@ components: CrashMobileAppAlertRule: type: object allOf: - - $ref: '#/components/schemas/MobileAppAlertRule' + - $ref: '#/components/schemas/MobileAppAlertRule' + required: + - metricName + CreateEvaluationRequest: + type: object + properties: + description: + type: string + evaluation_name: + type: string + minLength: 1 + evaluator_ids: + type: array + items: + type: string + minItems: 1 + metadata: + type: object + additionalProperties: + type: object + model_names: + type: array + items: + type: string + sampling_percentage: + type: number + format: float + service_names: + type: array + items: + type: string + time_before_run_hours: + type: integer + format: int32 + time_before_run_minutes: + type: integer + format: int32 + trace_ids: + type: array + items: + type: string required: - - metricName + - evaluation_name + - evaluator_ids + CreateEvaluationResponse: + type: object + properties: + evaluation_id: + type: string + message: + type: string CursorPaginatedBusinessActivityItem: type: object properties: @@ -31203,82 +33345,112 @@ components: items: type: number required: - - cursor + - cursor CursorPagination: type: object - description: | + description: > Details for controlling the pagination of the API response. - This object allows you to define the starting point for retrieving records, how many records to skip, and the size of the result set. + + This object allows you to define the starting point for retrieving + records, how many records to skip, and the size of the result set. properties: ingestionTime: type: integer format: int64 - description: | - The timestamp indicating the starting point from which data was ingested. + description: > + The timestamp indicating the starting point from which data was + ingested. + The format of the timestamp is in Unix epoch Time. - For example, `Thursday, 5 September 2024 07:03:13 GMT` can be represented as `1725519793`. + + For example, `Thursday, 5 September 2024 07:03:13 GMT` can be + represented as `1725519793`. offset: type: integer format: int32 - description: | + description: > The number of records to be skipped from the `ingestionTime`. - For example: when `offset` is 20 and `ingestionTime` is 1725519793, the API response should have records starting from the 21st record after the specified `ingestionTime`. - Note that if `offset` value is not empty, `ingestionTime` can't be empty. + + For example: when `offset` is 20 and `ingestionTime` is 1725519793, + the API response should have records starting from the 21st record + after the specified `ingestionTime`. + + Note that if `offset` value is not empty, `ingestionTime` can't be + empty. retrievalSize: type: integer format: int32 - description: | + description: > The number of records to retrieve in a single request. - For example, when retrievalSize is set to 30, offset is 20, and ingestionTime is 1725519793, the API request will fetch 30 records starting from the 21st record after the specified `ingestionTime`. + + For example, when retrievalSize is set to 30, offset is 20, and + ingestionTime is 1725519793, the API request will fetch 30 records + starting from the 21st record after the specified `ingestionTime`. + Minimum value is 1 and maximum value is 200. maximum: 200 minimum: 1 CursorPaginationWithUiCursorInfraExploreCursor: type: object - description: | + description: > Details for controlling the pagination of the API response. - This object allows you to define the starting point for retrieving records, how many records to skip, and the size of the result set. + + This object allows you to define the starting point for retrieving + records, how many records to skip, and the size of the result set. properties: ingestionTime: type: integer format: int64 - description: | - The timestamp indicating the starting point from which data was ingested. + description: > + The timestamp indicating the starting point from which data was + ingested. + The format of the timestamp is in Unix epoch Time. - For example, `Thursday, 5 September 2024 07:03:13 GMT` can be represented as `1725519793`. + + For example, `Thursday, 5 September 2024 07:03:13 GMT` can be + represented as `1725519793`. offset: type: integer format: int32 - description: | + description: > The number of records to be skipped from the `ingestionTime`. - For example: when `offset` is 20 and `ingestionTime` is 1725519793, the API response should have records starting from the 21st record after the specified `ingestionTime`. - Note that if `offset` value is not empty, `ingestionTime` can't be empty. + + For example: when `offset` is 20 and `ingestionTime` is 1725519793, + the API response should have records starting from the 21st record + after the specified `ingestionTime`. + + Note that if `offset` value is not empty, `ingestionTime` can't be + empty. retrievalSize: type: integer format: int32 - description: | + description: > The number of records to retrieve in a single request. - For example, when retrievalSize is set to 30, offset is 20, and ingestionTime is 1725519793, the API request will fetch 30 records starting from the 21st record after the specified `ingestionTime`. + + For example, when retrievalSize is set to 30, offset is 20, and + ingestionTime is 1725519793, the API request will fetch 30 records + starting from the 21st record after the specified `ingestionTime`. + Minimum value is 1 and maximum value is 200. maximum: 200 minimum: 1 CustomBlueprintIndicator: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelIndicator' - - type: object - properties: - badEventInfraMetric: - type: string - badEventsFilter: - $ref: '#/components/schemas/TagFilterExpressionElement' - goodEventInfraMetric: - type: string - goodEventsFilter: - $ref: '#/components/schemas/TagFilterExpressionElement' + - $ref: '#/components/schemas/ServiceLevelIndicator' + - type: object + properties: + badEventInfraMetric: + type: string + badEventsFilter: + $ref: '#/components/schemas/TagFilterExpressionElement' + goodEventInfraMetric: + type: string + goodEventsFilter: + $ref: '#/components/schemas/TagFilterExpressionElement' required: - - goodEventsFilter - - type + - goodEventsFilter + - type CustomDashboard: type: object properties: @@ -31301,9 +33473,9 @@ components: minItems: 0 uniqueItems: true required: - - accessRules - - title - - widgets + - accessRules + - title + - widgets CustomDashboardPreview: type: object properties: @@ -31312,8 +33484,8 @@ components: items: type: string enum: - - SHARED - - WRITABLE + - SHARED + - WRITABLE maxItems: 8 minItems: 0 uniqueItems: true @@ -31328,10 +33500,10 @@ components: type: string minLength: 1 required: - - annotations - - id - - ownerId - - title + - annotations + - id + - ownerId + - title CustomDashboardWithUserSpecificInformation: type: object properties: @@ -31358,36 +33530,40 @@ components: writable: type: boolean required: - - accessRules - - ownerId - - title - - widgets - - writable + - accessRules + - ownerId + - title + - widgets + - writable CustomDependency: type: object properties: direction: type: string enum: - - outgoing - - incoming + - outgoing + - incoming maxLength: 64 minLength: 1 entityType: type: string - description: If entityType is set, the dependency will be added to the plugin - for that entity type. Otherwise, the dependency will be applied to the + description: >- + If entityType is set, the dependency will be added to the plugin for + that entity type. Otherwise, the dependency will be applied to the custom entity itself. maxLength: 64 minLength: 0 + nullable: true identifiers: type: array - description: Will take the identifiers values for building the key of the + description: >- + Will take the identifiers values for building the key of the dependency. items: type: string - description: Will take the identifiers values for building the key of - the dependency. + description: >- + Will take the identifiers values for building the key of the + dependency. maxItems: 512 minItems: 0 name: @@ -31396,20 +33572,23 @@ components: minLength: 1 separator: type: string - description: Separator between identifiers for building the key of the dependency. + description: >- + Separator between identifiers for building the key of the + dependency. + nullable: true type: type: string enum: - - in - - is - - to - - of - - connected - - describes - - of20 - - to20 - - dummy - - parent + - in + - is + - to + - of + - connected + - describes + - of20 + - to20 + - dummy + - parent maxLength: 8 minLength: 1 CustomEmailSubjectPrefix: @@ -31419,12 +33598,15 @@ components: type: object additionalProperties: type: string - description: A map containing the open and close email subject value of - a given agent monitoring issue - example: '{"openValue":"Open email subject prefix value","closeValue":"Close - email subject prefix value"}' - description: A map containing the open and close email subject value of - a given agent monitoring issue + description: >- + A map containing the open and close email subject value of a given + agent monitoring issue + example: >- + {"openValue":"Open email subject prefix value","closeValue":"Close + email subject prefix value"} + description: >- + A map containing the open and close email subject value of a given + agent monitoring issue example: closeValue: Close email subject prefix value openValue: Open email subject prefix value @@ -31432,23 +33614,28 @@ components: type: object additionalProperties: type: string - description: A map containing the open and close email subject value of - a given change event + description: >- + A map containing the open and close email subject value of a given + change event example: '{"changeValue":"Email subject prefix value"}' - description: A map containing the open and close email subject value of - a given change event + description: >- + A map containing the open and close email subject value of a given + change event example: changeValue: Email subject prefix value incident: type: object additionalProperties: type: string - description: A map containing the open and close email subject value of - a given incident - example: '{"openValue":"Open email subject prefix value","closeValue":"Close - email subject prefix value"}' - description: A map containing the open and close email subject value of - a given incident + description: >- + A map containing the open and close email subject value of a given + incident + example: >- + {"openValue":"Open email subject prefix value","closeValue":"Close + email subject prefix value"} + description: >- + A map containing the open and close email subject value of a given + incident example: closeValue: Close email subject prefix value openValue: Open email subject prefix value @@ -31456,12 +33643,15 @@ components: type: object additionalProperties: type: string - description: A map containing the open and close email subject value of - a given issue - example: '{"openValue":"Open email subject prefix value","closeValue":"Close - email subject prefix value"}' - description: A map containing the open and close email subject value of - a given issue + description: >- + A map containing the open and close email subject value of a given + issue + example: >- + {"openValue":"Open email subject prefix value","closeValue":"Close + email subject prefix value"} + description: >- + A map containing the open and close email subject value of a given + issue example: closeValue: Close email subject prefix value openValue: Open email subject prefix value @@ -31472,11 +33662,13 @@ components: type: array items: $ref: '#/components/schemas/CustomDashboard' + nullable: true uniqueItems: true dependencies: type: array items: $ref: '#/components/schemas/CustomDependency' + nullable: true uniqueItems: true identifiers: type: array @@ -31489,20 +33681,23 @@ components: type: array items: $ref: '#/components/schemas/CustomMetric' + nullable: true uniqueItems: true name: type: string + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tags: type: array items: $ref: '#/components/schemas/CustomTag' + nullable: true uniqueItems: true required: - - identifiers - - label - - tagFilterExpression + - identifiers + - label + - tagFilterExpression CustomEntityWithMetadata: type: object properties: @@ -31517,21 +33712,25 @@ components: version: type: string required: - - data - - id + - data + - id CustomEventMobileAppAlertRule: type: object allOf: - - $ref: '#/components/schemas/MobileAppAlertRule' - - type: object - properties: - customEventName: - type: string - minLength: 1 + - $ref: '#/components/schemas/MobileAppAlertRule' + - type: object + properties: + customEventName: + type: string + minLength: 1 + metricName: + type: string + minLength: 1 + nullable: true required: - - aggregation - - customEventName - - metricName + - aggregation + - customEventName + - metricName CustomEventSpecification: type: object properties: @@ -31564,8 +33763,9 @@ components: type: string description: Set AND / OR enum: - - AND - - OR + - AND + - OR + nullable: true rules: type: array items: @@ -31574,17 +33774,20 @@ components: minItems: 1 transientEventAlertMuted: type: boolean + nullable: true transientEventEnabled: type: boolean + nullable: true transientEventThreshold: type: integer format: int64 + nullable: true triggering: type: boolean required: - - entityType - - name - - rules + - entityType + - name + - rules CustomEventSpecificationWithLastUpdated: type: object properties: @@ -31596,6 +33799,7 @@ components: type: string maxLength: 64 minLength: 0 + nullable: true deleted: type: boolean description: @@ -31619,6 +33823,7 @@ components: type: string maxLength: 64 minLength: 0 + nullable: true lastUpdated: type: integer format: int64 @@ -31637,8 +33842,9 @@ components: type: string description: Set AND / OR enum: - - AND - - OR + - AND + - OR + nullable: true rules: type: array items: @@ -31647,31 +33853,38 @@ components: minItems: 1 transientEventAlertMuted: type: boolean + nullable: true transientEventEnabled: type: boolean + nullable: true transientEventThreshold: type: integer format: int64 + nullable: true triggering: type: boolean required: - - entityType - - id - - name - - rules + - entityType + - id + - name + - rules CustomEventWebsiteAlertRule: type: object allOf: - - $ref: '#/components/schemas/WebsiteAlertRule' - - type: object - properties: - customEventName: - type: string - minLength: 1 + - $ref: '#/components/schemas/WebsiteAlertRule' + - type: object + properties: + customEventName: + type: string + minLength: 1 + metricName: + type: string + minLength: 1 + nullable: true required: - - aggregation - - customEventName - - metricName + - aggregation + - customEventName + - metricName CustomMetric: type: object properties: @@ -31679,8 +33892,8 @@ components: type: string description: Aggregation to apply on the metric for every member. enum: - - MEAN - - SUM + - MEAN + - SUM category: type: string description: Category of the metric in the catalog @@ -31689,41 +33902,60 @@ components: description: Description to be used in the catalog formatter: type: string - description: | + description: > | + * NUMBER: Generic number + * BYTES: Number of bytes + * KILO_BYTES: Number of kilobytes + * MEGA_BYTES: Number of megabytes + * PERCENTAGE: Percentage in scale [0,1] + * PERCENTAGE_100: Percentage in scale [0,100] - * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * LATENCY: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * NANOS: Time in nanoseconds + * MILLIS: Time in milliseconds + * MICROS: Time in microseconds + * SECONDS: Time in seconds + * RATE: Number of occurrences per second + * BYTE_RATE: Number of bytes per second + * UNDEFINED: Metric value unit is not known enum: - - NUMBER - - BYTES - - KILO_BYTES - - MEGA_BYTES - - PERCENTAGE - - PERCENTAGE_100 - - PERCENTAGE_NO_CAPPING - - PERCENTAGE_100_NO_CAPPING - - LATENCY - - NANOS - - MILLIS - - MICROS - - SECONDS - - RATE - - BYTE_RATE - - UNDEFINED + - NUMBER + - BYTES + - KILO_BYTES + - MEGA_BYTES + - PERCENTAGE + - PERCENTAGE_100 + - PERCENTAGE_NO_CAPPING + - PERCENTAGE_100_NO_CAPPING + - LATENCY + - NANOS + - MILLIS + - MICROS + - SECONDS + - RATE + - BYTE_RATE + - UNDEFINED label: type: string description: Label to be used in the catalog @@ -31734,44 +33966,45 @@ components: type: string description: Section of the metric in the catalog enum: - - ACE - - ALICLOUD - - AWS - - AZURE - - CASSANDRA - - CLOUD_FOUNDRY - - CLR - - COCKROACH - - CONSUL - - CONTAINER - - COUCHBASE - - DFQ - - ELASTICSEARCH - - GCP - - HADOOP_YARN - - HAZELCAST - - IBM_CLOUD - - IBM_DATAPOWER - - IBM_I_SERIES - - IBM_MQ - - IBM_MQMFT - - IBM_OPENSTACK - - KAFKA_CONNECT - - KUBERNETES - - MONGO_DB - - MSSQL - - OTHERS - - POSTGRESQL - - REDIS - - SAP - - SELF_MONITORING - - SOLR - - SPARK - - TIBCOBW - - TUXEDO - - VSHPERE - - WEBSPHERE - - CUSTOM_ENTITY + - ACE + - ALICLOUD + - AWS + - AZURE + - CASSANDRA + - CLOUD_FOUNDRY + - CLR + - COCKROACH + - CONSUL + - CONTAINER + - COUCHBASE + - DFQ + - ELASTICSEARCH + - GCP + - HADOOP_YARN + - HAZELCAST + - IBM_CLOUD + - IBM_DATAPOWER + - IBM_I_SERIES + - IBM_MQ + - IBM_MQMFT + - IBM_OPENSTACK + - KAFKA_CONNECT + - KUBERNETES + - MONGO_DB + - MSSQL + - OTHERS + - POSTGRESQL + - REDIS + - SAP + - SELF_MONITORING + - SOLR + - SPARK + - TIBCOBW + - TUXEDO + - VSHPERE + - WEBSPHERE + - CUSTOM_ENTITY + nullable: true source: type: string description: Name of the source metric @@ -31779,8 +34012,8 @@ components: type: string description: Type of entity for the source metric required: - - aggregation - - source + - aggregation + - source CustomPayloadConfiguration: type: object properties: @@ -31792,10 +34025,11 @@ components: maxItems: 20 minItems: 0 required: - - fields + - fields CustomPayloadField: type: object - description: Custom payload fields to send additional information in the alert + description: >- + Custom payload fields to send additional information in the alert notifications. Can be left empty. discriminator: mapping: @@ -31806,14 +34040,15 @@ components: properties: key: type: string - description: A user-specified unique identifier or name for a custom payload + description: >- + A user-specified unique identifier or name for a custom payload entry. minLength: 1 type: type: string required: - - key - - type + - key + - type CustomPayloadWithLastUpdated: type: object properties: @@ -31827,12 +34062,13 @@ components: lastUpdated: type: integer format: int64 - description: Unix timestamp representing the time (in milliseconds) the + description: >- + Unix timestamp representing the time (in milliseconds) the configuration was last updated. minimum: 1 readOnly: true required: - - fields + - fields CustomPayloadWithVersion: type: object properties: @@ -31846,7 +34082,8 @@ components: lastUpdated: type: integer format: int64 - description: Unix timestamp representing the time (in milliseconds) the + description: >- + Unix timestamp representing the time (in milliseconds) the configuration was last updated. minimum: 1 readOnly: true @@ -31855,8 +34092,8 @@ components: format: int32 description: Global custom payloads version. required: - - fields - - version + - fields + - version CustomTag: type: object properties: @@ -31864,9 +34101,9 @@ components: type: string description: Aggregation to apply on the tag for every member. enum: - - FIRST - - UNIQUE - - LIST + - FIRST + - UNIQUE + - LIST category: type: string description: Category of the tag in the catalog @@ -31878,145 +34115,156 @@ components: description: Label to be used in the catalog name: type: string - description: Name of the tag. Will use the same value as the source tag - if not specified. + description: >- + Name of the tag. Will use the same value as the source tag if not + specified. + nullable: true section: type: string description: Section of the tag in the catalog enum: - - ACE - - ALICLOUD - - AWS - - AZURE - - CASSANDRA - - CLOUD_FOUNDRY - - CLR - - COCKROACH - - CONSUL - - CONTAINER - - COUCHBASE - - DFQ - - ELASTICSEARCH - - GCP - - HADOOP_YARN - - HAZELCAST - - IBM_CLOUD - - IBM_DATAPOWER - - IBM_I_SERIES - - IBM_MQ - - IBM_MQMFT - - IBM_OPENSTACK - - KAFKA_CONNECT - - KUBERNETES - - MONGO_DB - - MSSQL - - OTHERS - - POSTGRESQL - - REDIS - - SAP - - SELF_MONITORING - - SOLR - - SPARK - - TIBCOBW - - TUXEDO - - VSHPERE - - WEBSPHERE - - CUSTOM_ENTITY + - ACE + - ALICLOUD + - AWS + - AZURE + - CASSANDRA + - CLOUD_FOUNDRY + - CLR + - COCKROACH + - CONSUL + - CONTAINER + - COUCHBASE + - DFQ + - ELASTICSEARCH + - GCP + - HADOOP_YARN + - HAZELCAST + - IBM_CLOUD + - IBM_DATAPOWER + - IBM_I_SERIES + - IBM_MQ + - IBM_MQMFT + - IBM_OPENSTACK + - KAFKA_CONNECT + - KUBERNETES + - MONGO_DB + - MSSQL + - OTHERS + - POSTGRESQL + - REDIS + - SAP + - SELF_MONITORING + - SOLR + - SPARK + - TIBCOBW + - TUXEDO + - VSHPERE + - WEBSPHERE + - CUSTOM_ENTITY source: type: string description: Name of the source tag type: type: string description: Type of entity for the source tag - DNSConfiguration: - type: object - allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - acceptCNAME: - type: boolean - lookup: - type: string - lookupServerName: - type: boolean - port: - type: integer - format: int32 - queryTime: - $ref: '#/components/schemas/DNSFilterQueryTime' - queryType: - type: string - enum: - - ALL - - ALL_CONDITIONS - - ANY - - A - - AAAA - - CNAME - - NS - recursiveLookups: - type: boolean - server: - type: string - serverRetries: - type: integer - format: int32 - targetValues: - type: array - items: - $ref: '#/components/schemas/DNSFilterTargetValue' - transport: - type: string - enum: - - TCP - - UDP - required: - - lookup - - markSyntheticCall - - server - - syntheticType - DNSConfigurationUpdate: + CustomerEmail: type: object - allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - acceptCNAME: - type: boolean - lookup: - type: string - lookupServerName: - type: boolean - port: - type: integer - format: int32 - queryTime: - $ref: '#/components/schemas/DNSFilterQueryTime' - queryType: - type: string - enum: - - ALL - - ALL_CONDITIONS - - ANY - - A - - AAAA - - CNAME - - NS - recursiveLookups: - type: boolean - server: - type: string - serverRetries: - type: integer - format: int32 - targetValues: - $ref: '#/components/schemas/SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue' - transport: - type: string - enum: - - TCP - - UDP + properties: + customerEmail: + type: string + email: + type: string + writeOnly: true + DNSConfiguration: + type: object + allOf: + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + acceptCNAME: + type: boolean + lookup: + type: string + lookupServerName: + type: boolean + port: + type: integer + format: int32 + queryTime: + $ref: '#/components/schemas/DNSFilterQueryTime' + queryType: + type: string + enum: + - ALL + - ALL_CONDITIONS + - ANY + - A + - AAAA + - CNAME + - NS + recursiveLookups: + type: boolean + server: + type: string + serverRetries: + type: integer + format: int32 + targetValues: + type: array + items: + $ref: '#/components/schemas/DNSFilterTargetValue' + transport: + type: string + enum: + - TCP + - UDP + required: + - lookup + - markSyntheticCall + - server + - syntheticType + DNSConfigurationUpdate: + type: object + allOf: + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + acceptCNAME: + type: boolean + lookup: + type: string + lookupServerName: + type: boolean + port: + type: integer + format: int32 + queryTime: + $ref: '#/components/schemas/DNSFilterQueryTime' + queryType: + type: string + enum: + - ALL + - ALL_CONDITIONS + - ANY + - A + - AAAA + - CNAME + - NS + recursiveLookups: + type: boolean + server: + type: string + serverRetries: + type: integer + format: int32 + targetValues: + $ref: >- + #/components/schemas/SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue + transport: + type: string + enum: + - TCP + - UDP DNSFilterQueryTime: type: object properties: @@ -32025,53 +34273,53 @@ components: operator: type: string enum: - - CONTAINS - - EQUALS - - GREATER_THAN - - GREATER_THAN_OR_EQUALS - - IS - - LESS_THAN - - LESS_THAN_OR_EQUALS - - MATCHES - - NOT_MATCHES + - CONTAINS + - EQUALS + - GREATER_THAN + - GREATER_THAN_OR_EQUALS + - IS + - LESS_THAN + - LESS_THAN_OR_EQUALS + - MATCHES + - NOT_MATCHES value: type: integer format: int64 required: - - key - - operator - - value + - key + - operator + - value DNSFilterTargetValue: type: object properties: key: type: string enum: - - ALL - - ALL_CONDITIONS - - ANY - - A - - AAAA - - CNAME - - NS + - ALL + - ALL_CONDITIONS + - ANY + - A + - AAAA + - CNAME + - NS operator: type: string enum: - - CONTAINS - - EQUALS - - GREATER_THAN - - GREATER_THAN_OR_EQUALS - - IS - - LESS_THAN - - LESS_THAN_OR_EQUALS - - MATCHES - - NOT_MATCHES + - CONTAINS + - EQUALS + - GREATER_THAN + - GREATER_THAN_OR_EQUALS + - IS + - LESS_THAN + - LESS_THAN_OR_EQUALS + - MATCHES + - NOT_MATCHES value: type: string required: - - key - - operator - - value + - key + - operator + - value DashboardApiToken: type: object properties: @@ -32082,8 +34330,8 @@ components: type: string minLength: 1 required: - - id - - name + - id + - name DatabaseIntegration: type: object properties: @@ -32097,40 +34345,40 @@ components: entity: type: string enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE + - NOT_APPLICABLE + - DESTINATION + - SOURCE name: type: string minLength: 1 operator: type: string enum: - - EQUALS - - CONTAINS - - IN - - NOT_IN - - LESS_THAN - - LESS_OR_EQUAL_THAN - - GREATER_THAN - - GREATER_OR_EQUAL_THAN - - NOT_EMPTY - - NOT_EQUAL - - NOT_CONTAIN - - IS_EMPTY - - NOT_BLANK - - IS_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - REGEX_MATCH + - EQUALS + - CONTAINS + - IN + - NOT_IN + - LESS_THAN + - LESS_OR_EQUAL_THAN + - GREATER_THAN + - GREATER_OR_EQUAL_THAN + - NOT_EMPTY + - NOT_EQUAL + - NOT_CONTAIN + - IS_EMPTY + - NOT_BLANK + - IS_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - REGEX_MATCH value: type: string required: - - name - - operator - - value + - name + - operator + - value Duration: type: object properties: @@ -32141,37 +34389,40 @@ components: unit: type: string enum: - - MINUTES - - HOURS - - DAYS + - MINUTES + - HOURS + - DAYS required: - - amount - - unit + - amount + - unit DynamicField: type: object allOf: - - $ref: '#/components/schemas/CustomPayloadField' - - type: object - properties: - value: - $ref: '#/components/schemas/DynamicFieldValue' - required: - - key - - value + - $ref: '#/components/schemas/CustomPayloadField' + - type: object + properties: + value: + $ref: '#/components/schemas/DynamicFieldValue' + required: + - key + - value DynamicFieldValue: type: object properties: key: type: string - description: 'Key for selected dynamic tag: specifies which dictionary style - value user is interested in.' + description: >- + Key for selected dynamic tag: specifies which dictionary style value + user is interested in. + nullable: true tagName: type: string - description: Each dynamic payload entry is associated with tag from Instana's - tag catalog + description: >- + Each dynamic payload entry is associated with tag from Instana's tag + catalog minLength: 1 required: - - tagName + - tagName DynamicParameter: type: object description: List of dynamic parameters @@ -32216,6 +34467,7 @@ components: description: Icon for the dynamic tag prefix maxLength: 128 minLength: 0 + nullable: true prefix: type: string description: The actual prefix string @@ -32225,7 +34477,7 @@ components: type: string description: Type of the tag required: - - prefix + - prefix EditUser: type: object properties: @@ -32233,33 +34485,35 @@ components: type: string minLength: 1 required: - - fullName + - fullName EmailIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - customEmailSubjectPrefix: - $ref: '#/components/schemas/CustomEmailSubjectPrefix' - emails: - type: array - items: + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + customEmailSubjectPrefix: + $ref: '#/components/schemas/CustomEmailSubjectPrefix' + emails: + type: array + items: + type: string + minLength: 1 + minItems: 1 + transformationExpression: type: string - minLength: 1 - minItems: 1 required: - - emails - - id - - kind - - name + - emails + - id + - kind + - name EmptyConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - $ref: '#/components/schemas/SyntheticTypeConfiguration' required: - - markSyntheticCall - - syntheticType + - markSyntheticCall + - syntheticType Endpoint: type: object properties: @@ -32267,9 +34521,9 @@ components: type: string description: Since, this is a Endpoint, it will be of type `ENDPOINT`. enum: - - APPLICATION - - SERVICE - - ENDPOINT + - APPLICATION + - SERVICE + - ENDPOINT id: type: string description: 'Unique ID of the Endpoint. Eg: `NCRq5oYnan5x-PkdTPQwLLUdu5M`.' @@ -32290,9 +34544,9 @@ components: syntheticType: type: string enum: - - NON_SYNTHETIC - - SYNTHETIC - - MIXED + - NON_SYNTHETIC + - SYNTHETIC + - MIXED technologies: type: array description: 'List of technologies: `Eg:["springbootApplicationContainer"]`' @@ -32304,95 +34558,134 @@ components: type: string description: The type of the Endpoint. enum: - - UNDEFINED - - RPC - - EVENT - - GRAPHQL - - BATCH - - SHELL - - HTTP - - SDK - - OPENTELEMETRY - - INTERNAL - - DATABASE - - MESSAGING - - PAGE - - PAGE_RESOURCE - required: - - id - - label - - serviceId - - technologies - - type + - UNDEFINED + - RPC + - EVENT + - GRAPHQL + - BATCH + - SHELL + - HTTP + - SDK + - OPENTELEMETRY + - INTERNAL + - RPG + - DATABASE + - MESSAGING + - PAGE + - PAGE_RESOURCE + required: + - id + - label + - serviceId + - technologies + - type EndpointConfig: type: object properties: endpointCase: type: string - description: "This represents case sensitivity of endpoints of a service.\n\ - Let's say in a service there are three endpoints, `user`, `Order` and\ - \ `PAYMENT`: \n\nFor example, if `endpointCase` is `UPPER`, then endpoint\ - \ names are converted to `USER`, `ORDER` and `PAYMENT`. \n\nIf `endpointCase`\ - \ is `LOWER`, then endpoint names are converted to `user`, `order` and\ - \ `payment`. \n\nIf `endpointCase` is `ORIGINAL`, then endpoint names\ - \ are converted to `user`, `Order` and `PAYMENT`.\n" + description: > + This represents case sensitivity of endpoints of a service. + + Let's say in a service there are three endpoints, `user`, `Order` + and `PAYMENT`: + + + For example, if `endpointCase` is `UPPER`, then endpoint names are + converted to `USER`, `ORDER` and `PAYMENT`. + + + If `endpointCase` is `LOWER`, then endpoint names are converted to + `user`, `order` and `payment`. + + + If `endpointCase` is `ORIGINAL`, then endpoint names are converted + to `user`, `Order` and `PAYMENT`. enum: - - ORIGINAL - - LOWER - - UPPER + - ORIGINAL + - LOWER + - UPPER endpointNameByCollectedPathTemplateRuleEnabled: type: boolean - description: | - The highest default precedence of endpoint rule is creating endpoint is based on path template. For example, + description: > + The highest default precedence of endpoint rule is creating endpoint + is based on path template. For example, + ``` + /hospital/1948/patient/291148 + /hospital/728/patient/924892 + /hospital/47/patient/25978 + /hospital/108429/patient/1847 + ``` - can be considered as `/hospital/{hid}/patient/{pid}` if this rule is enabled. For most of the use cases, this rule should be enabled. + + can be considered as `/hospital/{hid}/patient/{pid}` if this rule is + enabled. For most of the use cases, this rule should be enabled. endpointNameByFirstPathSegmentRuleEnabled: type: boolean - description: | - There are endpoint extraction rules in Instana which take the first path segment from the HTTP request and turn this into an endpoint name. - For example, given the following URLs `/users/123/profile` and `/users/123/settings`, the extraction rule will only take the first segment. As a result endpoint name will be `users`. - Although this is useful in cases where broad overview of monitoring is required, lot of use cases are more specified. - Considering the above example, if this rule is enabled, Instana can't distinguish between `profile` or `settings` as endpoints. - For use cases where endpoints has to be monitored at fine granular level, this flag should be set to `false`. + description: > + There are endpoint extraction rules in Instana which take the first + path segment from the HTTP request and turn this into an endpoint + name. + + For example, given the following URLs `/users/123/profile` and + `/users/123/settings`, the extraction rule will only take the first + segment. As a result endpoint name will be `users`. + + Although this is useful in cases where broad overview of monitoring + is required, lot of use cases are more specified. + + Considering the above example, if this rule is enabled, Instana + can't distinguish between `profile` or `settings` as endpoints. + + For use cases where endpoints has to be monitored at fine granular + level, this flag should be set to `false`. rules: type: array - description: Specify custom rule configuration apart from Instana predefined - rules. This rule has the highest precedence. This is only available for - HTTP endpoints. + description: >- + Specify custom rule configuration apart from Instana predefined + rules. This rule has the highest precedence. This is only available + for HTTP endpoints. items: $ref: '#/components/schemas/HttpEndpointRule' maxItems: 500 minItems: 1 serviceId: type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + description: > + An Instana generated unique identifier for a Service. If specified, + the list of results will be filtered for the specified Service ID. + Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. minLength: 1 required: - - endpointCase - - serviceId + - endpointCase + - serviceId EndpointEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - applicationId: - type: string - description: ID of the application this endpoint is in scope of. - endpointId: - type: string - description: ID of the endpoint. - endpointServiceId: - type: string - description: ID service related to this endpoint. + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + applicationId: + type: string + description: ID of the application this endpoint is in scope of. + endpointId: + type: string + description: ID of the endpoint. + endpointServiceId: + type: string + description: ID service related to this endpoint. EndpointItem: type: object properties: @@ -32407,8 +34700,8 @@ components: items: type: number required: - - endpoint - - metrics + - endpoint + - metrics EndpointMetricResult: type: object properties: @@ -32432,7 +34725,7 @@ components: format: int64 minimum: 0 required: - - items + - items EndpointNode: type: object properties: @@ -32443,7 +34736,7 @@ components: inclusive: type: boolean required: - - endpointId + - endpointId EndpointResult: type: object properties: @@ -32454,8 +34747,9 @@ components: page: type: integer format: int32 - description: Page number you want to retrieve in a request / retrieved in - a response. + description: >- + Page number you want to retrieve in a request / retrieved in a + response. pageSize: type: integer format: int32 @@ -32463,8 +34757,9 @@ components: totalHits: type: integer format: int32 - description: 'The number of results returned. For eg: If `items` has 5 elements, - `totalhits` will be 5' + description: >- + The number of results returned. For eg: If `items` has 5 elements, + `totalhits` will be 5 EndpointSimple: type: object description: The destination service's endpoint where the call enters. @@ -32479,159 +34774,334 @@ components: type: string description: The type of the Endpoint. enum: - - UNDEFINED - - RPC - - EVENT - - GRAPHQL - - BATCH - - SHELL - - HTTP - - SDK - - OPENTELEMETRY - - INTERNAL - - DATABASE - - MESSAGING - - PAGE - - PAGE_RESOURCE + - UNDEFINED + - RPC + - EVENT + - GRAPHQL + - BATCH + - SHELL + - HTTP + - SDK + - OPENTELEMETRY + - INTERNAL + - RPG + - DATABASE + - MESSAGING + - PAGE + - PAGE_RESOURCE EntityCountRule: type: object allOf: - - $ref: '#/components/schemas/AbstractRule' - - type: object - properties: - conditionOperator: - type: string - enum: - - '>' - - '>=' - - < - - <= - - = - - '!=' - conditionValue: - type: number - format: double + - $ref: '#/components/schemas/AbstractRule' + - type: object + properties: + conditionOperator: + type: string + enum: + - '>' + - '>=' + - < + - <= + - '=' + - '!=' + conditionValue: + type: number + format: double required: - - conditionOperator + - conditionOperator EntityCountVerificationRule: type: object allOf: - - $ref: '#/components/schemas/AbstractRule' - - type: object - properties: - conditionOperator: + - $ref: '#/components/schemas/AbstractRule' + - type: object + properties: + conditionOperator: + type: string + enum: + - '>' + - '>=' + - < + - <= + - '=' + - '!=' + conditionValue: + type: number + format: double + minimum: 0 + matchingEntityLabel: + type: string + maxLength: 2048 + minLength: 0 + matchingEntityType: + type: string + maxLength: 64 + minLength: 0 + matchingOperator: + type: string + enum: + - is + - contains + - startsWith + - endsWith + required: + - conditionOperator + - matchingEntityLabel + - matchingEntityType + - matchingOperator + EntityHealthInfo: + type: object + properties: + maxSeverity: + type: number + format: double + maximum: 10 + minimum: 0 + openIssues: + type: array + items: + $ref: '#/components/schemas/Event' + uniqueItems: true + required: + - openIssues + EntityId: + type: object + properties: + host: + type: string + nullable: true + pluginId: + type: string + description: Plugin name + steadyId: + type: string + description: Steady identifier for the entity. + nullable: true + required: + - host + - pluginId + - steadyId + EntityMetric: + type: object + properties: + name: + type: string + description: Name of the Entity Metric + scope: + $ref: '#/components/schemas/EntityMetricScope' + required: + - name + EntityMetricScope: + type: object + properties: + tagFilterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + type: + type: string + description: >- + Type of the Entity Metric. Eg. For Mobile App SLO it would be any of + the supported beaconTypes + required: + - type + EntityVerificationRule: + type: object + allOf: + - $ref: '#/components/schemas/AbstractRule' + - type: object + properties: + matchingEntityLabel: + type: string + maxLength: 2048 + minLength: 0 + matchingEntityType: + type: string + maxLength: 64 + minLength: 0 + matchingOperator: + type: string + enum: + - is + - contains + - startsWith + - endsWith + offlineDuration: + type: integer + format: int64 + required: + - matchingEntityLabel + - matchingEntityType + - matchingOperator + ErrorBudgetAlertRule: + type: object + allOf: + - $ref: '#/components/schemas/ServiceLevelsAlertRule' + - type: object + properties: + metric: + type: string + description: >- + This is the service levels metric type. Error budget alert uses + BURNED_PERCENTAGE, BURN_RATE (Deprecated) + or BURN_RATE_V2 metric. + enum: + - BURN_RATE + - BURNED_PERCENTAGE + - BURN_RATE_V2 + required: + - metric + ErrorsApplicationAlertRule: + type: object + allOf: + - $ref: '#/components/schemas/ApplicationAlertRule' + - type: object + properties: + metricName: + type: string + minLength: 1 + nullable: true + required: + - metricName + EvaluationDetailResponse: + type: object + description: Detailed evaluation information + properties: + client_id: + type: string + description: Client identifier + created_at: + type: integer + format: int64 + description: Creation timestamp (milliseconds since epoch) + created_by: + type: string + description: User who created the evaluation + description: + type: string + description: Description of the evaluation + evaluation_id: + type: string + description: Unique identifier for the evaluation + evaluation_name: + type: string + description: Human-readable name for the evaluation + evaluator_ids: + type: array + description: List of evaluator IDs to be used + items: type: string - enum: - - '>' - - '>=' - - < - - <= - - = - - '!=' - conditionValue: - type: number - format: double - matchingEntityLabel: + description: List of evaluator IDs to be used + model_names: + type: array + description: List of model names to filter traces + items: type: string - maxLength: 2048 - minLength: 0 - matchingEntityType: + description: List of model names to filter traces + sampling_percentage: + type: number + format: double + description: Percentage of traces to sample + service_names: + type: array + description: List of service names to filter traces + items: + type: string + description: List of service names to filter traces + time_before_run_hours: + type: integer + format: int32 + description: Hours before run to include traces + time_before_run_minutes: + type: integer + format: int32 + description: Minutes before run to include traces + trace_ids: + type: array + description: List of trace IDs to evaluate + items: + type: string + description: List of trace IDs to evaluate + EvaluationListItem: + type: object + properties: + duration_mean_ms: + type: number + format: double + evaluation_id: + type: string + evaluator_names: + type: array + items: + type: string + evaluators: + type: array + items: + type: string + last_run_start: + type: integer + format: int64 + metadata: + type: string + model_names: + type: array + items: + type: string + name: + type: string + number_of_runs: + type: integer + format: int64 + sampling_percentage: + type: number + format: double + service_names: + type: array + items: type: string - maxLength: 64 - minLength: 0 - matchingOperator: + time_before_run_hours: + type: integer + format: int32 + time_before_run_minutes: + type: integer + format: int32 + trace_ids: + type: array + items: type: string - enum: - - is - - contains - - startsWith - - endsWith - required: - - conditionOperator - - matchingEntityLabel - - matchingEntityType - - matchingOperator - EntityHealthInfo: + EvaluationListResponse: type: object properties: - maxSeverity: - type: number - format: double - maximum: 10 - minimum: 0 - openIssues: + evaluations: type: array items: - $ref: '#/components/schemas/Event' - uniqueItems: true - required: - - openIssues - EntityId: + $ref: '#/components/schemas/EvaluationListItem' + total: + type: integer + format: int64 + Evaluator: type: object properties: - host: + criteria: type: string - pluginId: + evaluatorId: type: string - description: Plugin name - steadyId: + evaluatorName: type: string - description: Steady identifier for the entity. - required: - - host - - pluginId - - steadyId - EntityVerificationRule: - type: object - allOf: - - $ref: '#/components/schemas/AbstractRule' - - type: object - properties: - matchingEntityLabel: - type: string - maxLength: 2048 - minLength: 0 - matchingEntityType: - type: string - maxLength: 64 - minLength: 0 - matchingOperator: - type: string - enum: - - is - - contains - - startsWith - - endsWith - offlineDuration: - type: integer - format: int64 - required: - - matchingEntityLabel - - matchingEntityType - - matchingOperator - ErrorBudgetAlertRule: - type: object - allOf: - - $ref: '#/components/schemas/ServiceLevelsAlertRule' - - type: object - properties: - metric: - type: string - description: This is the service levels metric type. Error budget alert - uses BURNED_PERCENTAGE, BURN_RATE (Deprecated) - or BURN_RATE_V2 metric. - enum: - - BURN_RATE - - BURNED_PERCENTAGE - - BURN_RATE_V2 - required: - - metric - ErrorsApplicationAlertRule: - type: object - allOf: - - $ref: '#/components/schemas/ApplicationAlertRule' + isBuiltIn: + type: boolean + meanScore: + type: number + format: double + numberOfRuns: + type: integer + format: int64 + passRateMean: + type: number + format: double + threshold: + type: number required: - - metricName + - criteria + - evaluatorName + - threshold Event: type: object properties: @@ -32639,6 +35109,7 @@ components: type: array items: type: string + nullable: true uniqueItems: true end: type: integer @@ -32655,14 +35126,14 @@ components: entityType: type: string enum: - - Entity10 - - App20 - - Service20 - - Endpoint20 - - Website - - Synthetic - - MobileApp - - Log + - Entity10 + - App20 + - Service20 + - Endpoint20 + - Website + - Synthetic + - MobileApp + - Log eventConfigurationType: type: string id: @@ -32679,6 +35150,7 @@ components: type: string maxLength: 64 minLength: 0 + nullable: true plugin: type: string maxLength: 256 @@ -32689,6 +35161,7 @@ components: type: array items: $ref: '#/components/schemas/ApiTag' + nullable: true uniqueItems: true rca: type: object @@ -32698,6 +35171,7 @@ components: type: string maxLength: 64 minLength: 0 + nullable: true start: type: integer format: int64 @@ -32711,16 +35185,17 @@ components: maxLength: 64 minLength: 0 required: - - entityId - - id - - plugin - - state - - type + - entityId + - id + - plugin + - state + - type EventFilteringConfiguration: type: object - description: Event Filter Configuration for supporting the scope of the Alert - Configuration. Applies a filter based on the application perspective or selected - entities. + description: >- + Event Filter Configuration for supporting the scope of the Alert + Configuration. Applies a filter based on the application perspective or + selected entities. properties: applicationAlertConfigIds: type: array @@ -32729,23 +35204,25 @@ components: minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true eventTypes: type: array items: type: string enum: - - incident - - critical - - warning - - change - - online - - offline - - agent_monitoring_issue - - cve_issue - - none + - incident + - critical + - warning + - change + - online + - offline + - agent_monitoring_issue + - cve_issue + - none maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true query: type: string @@ -32758,6 +35235,7 @@ components: minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true EventResult: type: object @@ -32773,6 +35251,9 @@ components: WEBSITE: '#/components/schemas/WebsiteEventResult' propertyName: entityType properties: + aggregated: + type: boolean + description: Whether this event is aggregated across multiple entities. detail: type: string description: Details of the event. @@ -32818,24 +35299,29 @@ components: type: object additionalProperties: type: object - description: Metadata of the probable root cause for this event. Only - present in case of specific "Incident" type events. - description: Metadata of the probable root cause for this event. Only present - in case of specific "Incident" type events. + description: >- + Metadata of the probable root cause for this event. Only present + in case of specific "Incident" type events. + description: >- + Metadata of the probable root cause for this event. Only present in + case of specific "Incident" type events. problem: type: string description: Main problem title of the Event. recentEvents: type: array - description: List of related recent events. Only present in case of "Incident" + description: >- + List of related recent events. Only present in case of "Incident" type events. items: type: object additionalProperties: type: object - description: List of related recent events. Only present in case of + description: >- + List of related recent events. Only present in case of "Incident" type events. - description: List of related recent events. Only present in case of "Incident" + description: >- + List of related recent events. Only present in case of "Incident" type events. severity: type: integer @@ -32890,13 +35376,13 @@ components: type: type: string enum: - - BUILT_IN - - CUSTOM + - BUILT_IN + - CUSTOM required: - - entityType - - id - - name - - type + - entityType + - id + - name + - type ExtendedService: type: object description: List of services in the topology. @@ -32910,12 +35396,14 @@ components: type: string description: Since, this is a Service, it will be of type `SERVICE`. enum: - - APPLICATION - - SERVICE - - ENDPOINT + - APPLICATION + - SERVICE + - ENDPOINT id: type: string - description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.' + description: >- + Unique ID of the Service. Eg: + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. minLength: 1 label: type: string @@ -32946,41 +35434,44 @@ components: uniqueItems: true types: type: array - description: 'Shows types of Endpoints a Service can consist of. It may - be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.' + description: >- + Shows types of Endpoints a Service can consist of. It may be one or + more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service. items: type: string - description: 'Shows types of Endpoints a Service can consist of. It may - be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.' + description: >- + Shows types of Endpoints a Service can consist of. It may be one + or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service. enum: - - UNDEFINED - - RPC - - EVENT - - GRAPHQL - - BATCH - - SHELL - - HTTP - - SDK - - OPENTELEMETRY - - INTERNAL - - DATABASE - - MESSAGING - - PAGE - - PAGE_RESOURCE + - UNDEFINED + - RPC + - EVENT + - GRAPHQL + - BATCH + - SHELL + - HTTP + - SDK + - OPENTELEMETRY + - INTERNAL + - RPG + - DATABASE + - MESSAGING + - PAGE + - PAGE_RESOURCE uniqueItems: true required: - - applications - - id - - label - - snapshotIds - - technologies - - types + - applications + - id + - label + - snapshotIds + - technologies + - types FailureSyntheticAlertRule: type: object allOf: - - $ref: '#/components/schemas/SyntheticAlertRule' + - $ref: '#/components/schemas/SyntheticAlertRule' required: - - metricName + - metricName Field: type: object description: List of fields that describe an action. @@ -32999,69 +35490,193 @@ components: type: string minLength: 1 required: - - encoding - - name - - value + - encoding + - name + - value + FilterInterface: + type: object + properties: + rbacRestrictions: + $ref: '#/components/schemas/RbacRestrictions' + timeConfig: + $ref: '#/components/schemas/TimeConfig' FixedHttpPathSegmentMatchingRule: type: object allOf: - - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' - - type: object - properties: - name: - type: string - description: | - Given `/api/{version}/users` URI, `FIXED` names are `api` and `users` in order. - minLength: 1 + - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' + - type: object + properties: + name: + type: string + description: > + Given `/api/{version}/users` URI, `FIXED` names are `api` and + `users` in order. + minLength: 1 required: - - name - - type + - name + - type FixedTimeWindow: type: object allOf: - - $ref: '#/components/schemas/TimeWindow' - - type: object - properties: - startTimestamp: - type: string - format: date-time - description: The timestamp at which the fixed time window of the SLO starts + - $ref: '#/components/schemas/TimeWindow' + - type: object + properties: + startTimestamp: + type: string + format: date-time + description: The timestamp at which the fixed time window of the SLO starts + required: + - duration + - durationUnit + - startTimestamp + FleetConfiguration: + type: object + nullable: true + properties: + configuration: + type: object + configuration_id: + type: string + nullable: true + created_at: + type: string + format: date-time + nullable: true + name: + type: string + minLength: 1 + type: + type: string + minLength: 1 + updated_at: + type: string + format: date-time + nullable: true + version: + type: string + required: + - configuration + - name + - type + - version + FleetConfigurationAssignment: + type: object + properties: + agent_host: + type: string + minLength: 1 + agent_host_id: + type: string + minLength: 1 + agent_name: + type: string + nullable: true + agent_type: + type: string + minLength: 1 + assignment_id: + type: string + nullable: true + configuration_id: + type: string + minLength: 1 + created_at: + type: string + format: date-time + nullable: true + updated_at: + type: string + format: date-time + nullable: true + required: + - agent_host + - agent_host_id + - agent_type + - configuration_id + FleetConfigurationAssignmentResponse: + type: object + properties: + assignment_id: + type: string + minLength: 1 + message: + type: string + minLength: 1 required: - - duration - - durationUnit - - startTimestamp + - assignment_id + - message + FleetConfigurationResponse: + type: object + properties: + configuration: + $ref: '#/components/schemas/FleetConfiguration' + configuration_version: + type: string + nullable: true + id: + type: string + minLength: 1 + message: + type: string + minLength: 1 + status: + type: string + minLength: 1 + required: + - id + - message + - status + GatewayStatusResponse: + type: object + description: Gateway status for evaluation capability + properties: + enabled: + type: boolean + description: Whether GENAI_EVALUATION capability is enabled + gateway_id: + type: string + description: The ID of the enabled LLM gateway + gateway_name: + type: string + description: The name of the enabled LLM gateway + message: + type: string + description: Status message + model_name: + type: string + description: The LLM model name configured in the gateway GenericInfraAlertRule: type: object allOf: - - $ref: '#/components/schemas/InfraAlertRule' - - type: object - properties: - entityType: - type: string - minLength: 1 - metricGroupBy: - type: array - items: + - $ref: '#/components/schemas/InfraAlertRule' + - type: object + properties: + entityType: type: string - maxItems: 1 - minItems: 0 - required: - - aggregation - - crossSeriesAggregation - - entityType - - metricGroupBy - - metricName - - metricTagFilterExpression + minLength: 1 + metricGroupBy: + type: array + items: + type: string + maxItems: 1 + minItems: 0 + required: + - aggregation + - crossSeriesAggregation + - entityType + - metricGroupBy + - metricName + - metricTagFilterExpression GeoLocationConfiguration: type: object properties: geoDetailRemoval: type: string enum: - - NO_REMOVAL - - REMOVE_COORDINATES - - REMOVE_CITY - - REMOVE_ALL + - NO_REMOVAL + - REMOVE_COORDINATES + - REMOVE_CITY + - REMOVE_ALL geoMappingRules: type: array items: @@ -33069,7 +35684,7 @@ components: maxItems: 512 minItems: 0 required: - - geoDetailRemoval + - geoDetailRemoval GeoMappingRule: type: object properties: @@ -33083,14 +35698,19 @@ components: minLength: 0 city: type: string + nullable: true continent: type: string + nullable: true continentCode: type: string + nullable: true country: type: string + nullable: true countryCode: type: string + nullable: true latitude: type: number format: double @@ -33106,8 +35726,8 @@ components: maxItems: 8 minItems: 0 required: - - cidr - - subdivisions + - cidr + - subdivisions GeoSubdivision: type: object properties: @@ -33120,7 +35740,7 @@ components: maxLength: 256 minLength: 0 required: - - name + - name GetActionBeaconsResult: type: object properties: @@ -33131,19 +35751,19 @@ components: $ref: '#/components/schemas/ActionBeacon' hasMore: type: boolean - description: Indicates whether more beacons are available beyond the current - page + description: Indicates whether more beacons are available beyond the current page example: true nextCursor: type: integer format: int64 - description: Cursor for the next page (timestamp). Use this value in the - next request to fetch more beacons. + description: >- + Cursor for the next page (timestamp). Use this value in the next + request to fetch more beacons. example: 1757340000000 nullable: true required: - - beacons - - hasMore + - beacons + - hasMore GetActivities: type: object properties: @@ -33158,9 +35778,9 @@ components: timeframe: $ref: '#/components/schemas/TimeFrame' required: - - order - - pagination - - timeFrame + - order + - pagination + - timeFrame GetApplicationMetrics: type: object properties: @@ -33179,33 +35799,48 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics - - timeFrame + - metrics + - timeFrame GetApplications: type: object properties: applicationBoundaryScope: type: string - description: "Use when querying calls of an application:\n `INBOUND`: only\ - \ inbound calls \n `ALL`: all the calls to that application (inbound +\ - \ internal)" + description: |- + Use when querying calls of an application: + `INBOUND`: only inbound calls + `ALL`: all the calls to that application (inbound + internal) enum: - - ALL - - INBOUND + - ALL + - INBOUND applicationId: type: string - description: | - An Instana generated unique identifier for an Application. If specified, the list of results will be filtered for the specified Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`. - One can see the application id from Instana UI by going to an Application Perspective page. In the URL, there will be `appId=Av62RoIKQv-A3n6DbMQh9g`. - Alternatively, one can use `Get applications` API endpoint to get the application id in `id` parameter. + description: > + An Instana generated unique identifier for an Application. If + specified, the list of results will be filtered for the specified + Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`. + + One can see the application id from Instana UI by going to an + Application Perspective page. In the URL, there will be + `appId=Av62RoIKQv-A3n6DbMQh9g`. + + Alternatively, one can use `Get applications` API endpoint to get + the application id in `id` parameter. maxLength: 64 minLength: 0 endpointId: type: string - description: | - An Instana generated unique identifier for an Endpoint. If specified, the list of results will be filtered for the specified Endpoint ID. Eg `NCRq5oYnan5x-PkdTPQwLLUdu5M`. - One can see the endpoint id from Instana UI by going to an Endpoint page. In the URL, there will be `endpointId=NCRq5oYnan5x-PkdTPQwLLUdu5M`. - Alternatively, one can use `Get endpoints` API endpoint to get the endpoint id in `id` parameter. + description: > + An Instana generated unique identifier for an Endpoint. If + specified, the list of results will be filtered for the specified + Endpoint ID. Eg `NCRq5oYnan5x-PkdTPQwLLUdu5M`. + + One can see the endpoint id from Instana UI by going to an Endpoint + page. In the URL, there will be + `endpointId=NCRq5oYnan5x-PkdTPQwLLUdu5M`. + + Alternatively, one can use `Get endpoints` API endpoint to get the + endpoint id in `id` parameter. maxLength: 64 minLength: 0 endpointTypes: @@ -33213,38 +35848,41 @@ components: items: type: string enum: - - UNDEFINED - - RPC - - EVENT - - GRAPHQL - - BATCH - - SHELL - - HTTP - - SDK - - OPENTELEMETRY - - INTERNAL - - DATABASE - - MESSAGING - - PAGE - - PAGE_RESOURCE + - UNDEFINED + - RPC + - EVENT + - GRAPHQL + - BATCH + - SHELL + - HTTP + - SDK + - OPENTELEMETRY + - INTERNAL + - RPG + - DATABASE + - MESSAGING + - PAGE + - PAGE_RESOURCE uniqueItems: true writeOnly: true metrics: type: array - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize - it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, - See `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the + (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be + used to summarize it for the defined time frame. Eg: `[{ 'metric': + 'latency', 'aggregation': 'MEAN'}]`. To know more about supported + metrics and its aggregation, See `Get Metric catalog`. items: $ref: '#/components/schemas/AppDataMetricConfiguration' maxItems: 5 minItems: 1 nameFilter: type: string - description: 'filter by name with `contains` semantic. Eg: Let''s say there - are 2 names `app1` and `app2`, you can set `app`` here to include the - two names' + description: >- + filter by name with `contains` semantic. Eg: Let's say there are 2 + names `app1` and `app2`, you can set `app`` here to include the two + names maxLength: 256 minLength: 0 order: @@ -33253,10 +35891,17 @@ components: $ref: '#/components/schemas/Pagination' serviceId: type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + description: > + An Instana generated unique identifier for a Service. If specified, + the list of results will be filtered for the specified Service ID. + Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. maxLength: 64 minLength: 0 technologies: @@ -33268,16 +35913,18 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics + - metrics GetAvailableMetricsQuery: type: object properties: query: type: string - description: Search term used to filter results using fields such as label, + description: >- + Search term used to filter results using fields such as label, description, tag name or keywords maxLength: 200 minLength: 0 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' timeFrame: @@ -33285,9 +35932,10 @@ components: type: type: string description: Entity type. Identifier for the monitored technology. + nullable: true required: - - tagFilterExpression - - timeFrame + - tagFilterExpression + - timeFrame GetAvailablePluginsQuery: type: object properties: @@ -33296,8 +35944,8 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - tagFilterExpression - - timeFrame + - tagFilterExpression + - timeFrame GetCallGroups: type: object properties: @@ -33305,19 +35953,23 @@ components: $ref: '#/components/schemas/Group' includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. metrics: type: array - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize - it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, - See `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the + (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be + used to summarize it for the defined time frame. Eg: `[{ 'metric': + 'latency', 'aggregation': 'MEAN'}]`. To know more about supported + metrics and its aggregation, See `Get Metric catalog`. items: $ref: '#/components/schemas/MetricConfig' maxItems: 5 @@ -33334,21 +35986,24 @@ components: $ref: '#/components/schemas/DeprecatedTagFilter' maxItems: 10 minItems: 0 + nullable: true timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - group - - metrics + - group + - metrics GetCombinedMetrics: type: object properties: metrics: type: array - description: Id of the exact metric you want to retrieve, eg. "cpu.user", + description: >- + Id of the exact metric you want to retrieve, eg. "cpu.user", "clientrequests.read.mean" items: type: string - description: Id of the exact metric you want to retrieve, eg. "cpu.user", + description: >- + Id of the exact metric you want to retrieve, eg. "cpu.user", "clientrequests.read.mean" minLength: 1 maxItems: 15 @@ -33380,8 +36035,8 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics - - plugin + - metrics + - plugin GetDynamicParameterValues: type: object properties: @@ -33397,86 +36052,108 @@ components: timestamp: type: integer format: int64 - description: The start of the timestamp expressed in Unix epoch time in + description: >- + The start of the timestamp expressed in Unix epoch time in milliseconds. required: - - eventId - - parameters - - timestamp + - eventId + - parameters + - timestamp GetEndpoints: type: object properties: applicationBoundaryScope: type: string - description: "Use when querying calls of an application:\n `INBOUND`: only\ - \ inbound calls \n `ALL`: all the calls to that application (inbound +\ - \ internal)" + description: |- + Use when querying calls of an application: + `INBOUND`: only inbound calls + `ALL`: all the calls to that application (inbound + internal) enum: - - ALL - - INBOUND + - ALL + - INBOUND applicationId: type: string - description: | - An Instana generated unique identifier for an Application. If specified, the list of results will be filtered for the specified Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`. - One can see the application id from Instana UI by going to an Application Perspective page. In the URL, there will be `appId=Av62RoIKQv-A3n6DbMQh9g`. - Alternatively, one can use `Get applications` API endpoint to get the application id in `id` parameter. + description: > + An Instana generated unique identifier for an Application. If + specified, the list of results will be filtered for the specified + Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`. + + One can see the application id from Instana UI by going to an + Application Perspective page. In the URL, there will be + `appId=Av62RoIKQv-A3n6DbMQh9g`. + + Alternatively, one can use `Get applications` API endpoint to get + the application id in `id` parameter. maxLength: 64 minLength: 0 endpointId: type: string - description: | - An Instana generated unique identifier for an Endpoint. If specified, the list of results will be filtered for the specified Endpoint ID. Eg `NCRq5oYnan5x-PkdTPQwLLUdu5M`. - One can see the endpoint id from Instana UI by going to an Endpoint page. In the URL, there will be `endpointId=NCRq5oYnan5x-PkdTPQwLLUdu5M`. - Alternatively, one can use `Get endpoints` API endpoint to get the endpoint id in `id` parameter. + description: > + An Instana generated unique identifier for an Endpoint. If + specified, the list of results will be filtered for the specified + Endpoint ID. Eg `NCRq5oYnan5x-PkdTPQwLLUdu5M`. + + One can see the endpoint id from Instana UI by going to an Endpoint + page. In the URL, there will be + `endpointId=NCRq5oYnan5x-PkdTPQwLLUdu5M`. + + Alternatively, one can use `Get endpoints` API endpoint to get the + endpoint id in `id` parameter. maxLength: 64 minLength: 0 endpointTypes: type: array - description: A list of endpoint types, each of which is a string. An endpoint - can specified for a database, an SDK, etc. - items: - type: string - description: A list of endpoint types, each of which is a string. An endpoint - can specified for a database, an SDK, etc. - enum: - - UNDEFINED - - RPC - - EVENT - - GRAPHQL - - BATCH - - SHELL - - HTTP - - SDK - - OPENTELEMETRY - - INTERNAL - - DATABASE - - MESSAGING - - PAGE - - PAGE_RESOURCE + description: >- + A list of endpoint types, each of which is a string. An endpoint can + specified for a database, an SDK, etc. + items: + type: string + description: >- + A list of endpoint types, each of which is a string. An endpoint + can specified for a database, an SDK, etc. + enum: + - UNDEFINED + - RPC + - EVENT + - GRAPHQL + - BATCH + - SHELL + - HTTP + - SDK + - OPENTELEMETRY + - INTERNAL + - RPG + - DATABASE + - MESSAGING + - PAGE + - PAGE_RESOURCE maxItems: 8 minItems: 0 uniqueItems: true excludeSynthetic: type: boolean - description: A variable used to specify whether synthetic endpoints should - be excluded. If set to 'true', synthetic endpoints will be excluded from - the result. + description: >- + A variable used to specify whether synthetic endpoints should be + excluded. If set to 'true', synthetic endpoints will be excluded + from the result. metrics: type: array - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize - it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, - See `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the + (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be + used to summarize it for the defined time frame. Eg: `[{ 'metric': + 'latency', 'aggregation': 'MEAN'}]`. To know more about supported + metrics and its aggregation, See `Get Metric catalog`. items: $ref: '#/components/schemas/AppDataMetricConfiguration' maxItems: 5 minItems: 1 nameFilter: type: string - description: 'filter by endpoint name with `contains` semantic. Eg: Let''s - say there are 2 Endpoint names `GET /api/fetch` and `GET /api/update`, - you can set `GET /api/` here to include the two Endpoints.' + description: >- + filter by endpoint name with `contains` semantic. Eg: Let's say + there are 2 Endpoint names `GET /api/fetch` and `GET /api/update`, + you can set `GET /api/` here to include the two Endpoints. maxLength: 256 minLength: 0 order: @@ -33485,26 +36162,35 @@ components: $ref: '#/components/schemas/Pagination' serviceId: type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + description: > + An Instana generated unique identifier for a Service. If specified, + the list of results will be filtered for the specified Service ID. + Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. maxLength: 64 minLength: 0 timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics + - metrics GetInfrastructureGroupsQuery: type: object properties: groupBy: type: array - description: Entity grouping tag. Use the Instana Analyze Infrastructure + description: >- + Entity grouping tag. Use the Instana Analyze Infrastructure dashboard to determine the entity grouping tag name. items: type: string - description: Entity grouping tag. Use the Instana Analyze Infrastructure + description: >- + Entity grouping tag. Use the Instana Analyze Infrastructure dashboard to determine the entity grouping tag name. maxItems: 5 minItems: 0 @@ -33514,8 +36200,11 @@ components: $ref: '#/components/schemas/SimpleMetricConfiguration' maxItems: 10 minItems: 0 + nullable: true missingPlaceholder: type: string + description: Placeholder value for missing tag values + nullable: true order: $ref: '#/components/schemas/Order' pagination: @@ -33527,11 +36216,12 @@ components: type: type: string description: Type of entities + nullable: true required: - - groupBy - - pagination - - tagFilterExpression - - timeFrame + - groupBy + - pagination + - tagFilterExpression + - timeFrame GetInfrastructureQuery: type: object properties: @@ -33541,6 +36231,7 @@ components: $ref: '#/components/schemas/SimpleMetricConfiguration' maxItems: 10 minItems: 0 + nullable: true missingPlaceholder: type: string order: @@ -33555,15 +36246,17 @@ components: type: string maxItems: 5 minItems: 0 + nullable: true timeFrame: $ref: '#/components/schemas/TimeFrame' type: type: string description: Type of entities + nullable: true required: - - pagination - - tagFilterExpression - - timeFrame + - pagination + - tagFilterExpression + - timeFrame GetMetricsResult: type: object properties: @@ -33572,8 +36265,7 @@ components: writeOnly: true groups: type: array - description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` - and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.' + description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.' items: $ref: '#/components/schemas/SyntheticMetricTagGroup' includeAggregatedTestIds: @@ -33581,11 +36273,12 @@ components: writeOnly: true metrics: type: array - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize - it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, - See `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the + (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be + used to summarize it for the defined time frame. Eg: `[{ 'metric': + 'latency', 'aggregation': 'MEAN'}]`. To know more about supported + metrics and its aggregation, See `Get Metric catalog`. items: $ref: '#/components/schemas/SyntheticMetricConfiguration' pagination: @@ -33595,7 +36288,7 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics + - metrics GetMobileAppBeaconGroups: type: object properties: @@ -33619,22 +36312,23 @@ components: $ref: '#/components/schemas/DeprecatedTagFilter' maxItems: 32 minItems: 0 + nullable: true timeFrame: $ref: '#/components/schemas/TimeFrame' type: type: string enum: - - SESSION_START - - HTTP_REQUEST - - CRASH - - CUSTOM - - VIEW_CHANGE - - DROP_BEACON - - PERF - required: - - group - - metrics - - type + - SESSION_START + - HTTP_REQUEST + - CRASH + - CUSTOM + - VIEW_CHANGE + - DROP_BEACON + - PERF + required: + - group + - metrics + - type GetMobileAppBeacons: type: object properties: @@ -33651,15 +36345,15 @@ components: type: type: string enum: - - SESSION_START - - HTTP_REQUEST - - CRASH - - CUSTOM - - VIEW_CHANGE - - DROP_BEACON - - PERF - required: - - type + - SESSION_START + - HTTP_REQUEST + - CRASH + - CUSTOM + - VIEW_CHANGE + - DROP_BEACON + - PERF + required: + - type GetMobileAppMetrics: type: object properties: @@ -33680,16 +36374,16 @@ components: type: type: string enum: - - SESSION_START - - HTTP_REQUEST - - CRASH - - CUSTOM - - VIEW_CHANGE - - DROP_BEACON - - PERF - required: - - metrics - - type + - SESSION_START + - HTTP_REQUEST + - CRASH + - CUSTOM + - VIEW_CHANGE + - DROP_BEACON + - PERF + required: + - metrics + - type GetMobileAppMetricsV2: type: object properties: @@ -33706,16 +36400,16 @@ components: type: type: string enum: - - SESSION_START - - HTTP_REQUEST - - CRASH - - CUSTOM - - VIEW_CHANGE - - DROP_BEACON - - PERF - required: - - metrics - - type + - SESSION_START + - HTTP_REQUEST + - CRASH + - CUSTOM + - VIEW_CHANGE + - DROP_BEACON + - PERF + required: + - metrics + - type GetPayloadKeysResult: type: object properties: @@ -33725,23 +36419,32 @@ components: items: type: string description: Keys that can be used to retrieve plugin payloads. + nullable: true GetServices: type: object properties: applicationBoundaryScope: type: string - description: "Use when querying calls of an application:\n `INBOUND`: only\ - \ inbound calls \n `ALL`: all the calls to that application (inbound +\ - \ internal)" + description: |- + Use when querying calls of an application: + `INBOUND`: only inbound calls + `ALL`: all the calls to that application (inbound + internal) enum: - - ALL - - INBOUND + - ALL + - INBOUND applicationId: type: string - description: | - An Instana generated unique identifier for an Application. If specified, the list of results will be filtered for the specified Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`. - One can see the application id from Instana UI by going to an Application Perspective page. In the URL, there will be `appId=Av62RoIKQv-A3n6DbMQh9g`. - Alternatively, one can use `Get applications` API endpoint to get the application id in `id` parameter. + description: > + An Instana generated unique identifier for an Application. If + specified, the list of results will be filtered for the specified + Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`. + + One can see the application id from Instana UI by going to an + Application Perspective page. In the URL, there will be + `appId=Av62RoIKQv-A3n6DbMQh9g`. + + Alternatively, one can use `Get applications` API endpoint to get + the application id in `id` parameter. maxLength: 64 minLength: 0 contextScope: @@ -33752,25 +36455,27 @@ components: - downstream is filtered on source service and groups on destination service - none is filtered on destination service and no grouping enum: - - NONE - - UPSTREAM - - DOWNSTREAM + - NONE + - UPSTREAM + - DOWNSTREAM metrics: type: array - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize - it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, - See `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the + (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be + used to summarize it for the defined time frame. Eg: `[{ 'metric': + 'latency', 'aggregation': 'MEAN'}]`. To know more about supported + metrics and its aggregation, See `Get Metric catalog`. items: $ref: '#/components/schemas/AppDataMetricConfiguration' maxItems: 5 minItems: 1 nameFilter: type: string - description: 'filter by name with `contains` semantic. Eg: Let''s say there - are 2 service names `ecomm-order` and `ecomm-deliver`, you can set `ecomm-` - here to include the two Services.' + description: >- + filter by name with `contains` semantic. Eg: Let's say there are 2 + service names `ecomm-order` and `ecomm-deliver`, you can set + `ecomm-` here to include the two Services. maxLength: 256 minLength: 0 order: @@ -33779,21 +36484,30 @@ components: $ref: '#/components/schemas/Pagination' serviceId: type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + description: > + An Instana generated unique identifier for a Service. If specified, + the list of results will be filtered for the specified Service ID. + Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. maxLength: 64 minLength: 0 technologies: type: array - description: A list of technologies to be used for filtering data. For example, - technologies could include AWS ECS, Cassandra, DB2, JVM, Kafka, etc. A - full list of available technologies can be found in X. + description: >- + A list of technologies to be used for filtering data. For example, + technologies could include AWS ECS, Cassandra, DB2, JVM, Kafka, etc. + A full list of available technologies can be found in X. items: type: string - description: A list of technologies to be used for filtering data. For - example, technologies could include AWS ECS, Cassandra, DB2, JVM, Kafka, + description: >- + A list of technologies to be used for filtering data. For example, + technologies could include AWS ECS, Cassandra, DB2, JVM, Kafka, etc. A full list of available technologies can be found in X. minLength: 1 maxItems: 20 @@ -33802,7 +36516,7 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics + - metrics GetSessionReplayMetadataResult: type: object properties: @@ -33822,8 +36536,8 @@ components: example: 1234587890 nullable: true required: - - hasMore - - metadata + - hasMore + - metadata GetSnapshotsQuery: type: object properties: @@ -33839,7 +36553,7 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - snapshotIds + - snapshotIds GetTestResult: type: object properties: @@ -33876,7 +36590,7 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics + - metrics GetTestResultAnalytic: type: object properties: @@ -33902,7 +36616,7 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - syntheticMetrics + - syntheticMetrics GetTestResultBase: type: object properties: @@ -33942,7 +36656,7 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - syntheticMetrics + - syntheticMetrics GetTestSummaryResult: type: object properties: @@ -33963,12 +36677,15 @@ components: timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - metrics + - metrics GetTraceDownloadResultItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: callCount: type: integer @@ -33981,27 +36698,31 @@ components: duration: type: integer format: int64 - description: The total time taken for the entire operation of a call, from - the moment the request was initiated to when the response was received. - The time measured is in milliseconds. This is also known as latency of - a call. + description: >- + The total time taken for the entire operation of a call, from the + moment the request was initiated to when the response was received. + The time measured is in milliseconds. This is also known as latency + of a call. errorCount: type: integer format: int64 - description: Represents whether the call is erroneous or not. 0 is not erroneous + description: >- + Represents whether the call is erroneous or not. 0 is not erroneous and 1 is erroneous. foreignParentId: type: string id: type: string - description: 'The call ID. A unique identifier for an individual call. For - example: `1bcad5c82338deaf`.' + description: >- + The call ID. A unique identifier for an individual call. For + example: `1bcad5c82338deaf`. minSelfTime: type: integer format: int64 - description: The smallest self time in the batch. May be null to indicate - that `minSelfTime` is unknown when this node has only an exit span and - no children. The time measured is in milliseconds. + description: >- + The smallest self time in the batch. May be null to indicate that + `minSelfTime` is unknown when this node has only an exit span and no + children. The time measured is in milliseconds. name: type: string description: 'Name of the call. For example: `GET /articles/:id`.' @@ -34011,14 +36732,16 @@ components: description: exit span duration - entry span duration parentId: type: string - description: The parent call id, referring to another call in the same trace + description: >- + The parent call id, referring to another call in the same trace which triggered the processing associated with this call. timestamp: type: integer format: int64 - description: The timestamp when the call or request was initiated. For example, - Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December - 2024 04:27:59.870 GMT` + description: >- + The timestamp when the call or request was initiated. For example, + Unix epoch time in milliseconds `1735532879870` is `Monday, 30 + December 2024 04:27:59.870 GMT` GetTraceGroups: type: object properties: @@ -34026,19 +36749,23 @@ components: $ref: '#/components/schemas/Group' includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. metrics: type: array - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize - it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, - See `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the + (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be + used to summarize it for the defined time frame. Eg: `[{ 'metric': + 'latency', 'aggregation': 'MEAN'}]`. To know more about supported + metrics and its aggregation, See `Get Metric catalog`. items: $ref: '#/components/schemas/MetricConfig' maxItems: 5 @@ -34055,22 +36782,26 @@ components: $ref: '#/components/schemas/DeprecatedTagFilter' maxItems: 32 minItems: 0 + nullable: true timeFrame: $ref: '#/components/schemas/TimeFrame' required: - - group - - metrics + - group + - metrics GetTraces: type: object properties: includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. order: $ref: '#/components/schemas/Order' pagination: @@ -34083,6 +36814,7 @@ components: $ref: '#/components/schemas/DeprecatedTagFilter' maxItems: 32 minItems: 0 + nullable: true timeFrame: $ref: '#/components/schemas/TimeFrame' GetWebsiteBeaconGroups: @@ -34108,21 +36840,22 @@ components: $ref: '#/components/schemas/DeprecatedTagFilter' maxItems: 32 minItems: 0 + nullable: true timeFrame: $ref: '#/components/schemas/TimeFrame' type: type: string enum: - - PAGELOAD - - RESOURCELOAD - - HTTPREQUEST - - ERROR - - CUSTOM - - PAGE_CHANGE - required: - - group - - metrics - - type + - PAGELOAD + - RESOURCELOAD + - HTTPREQUEST + - ERROR + - CUSTOM + - PAGE_CHANGE + required: + - group + - metrics + - type GetWebsiteBeacons: type: object properties: @@ -34139,14 +36872,14 @@ components: type: type: string enum: - - PAGELOAD - - RESOURCELOAD - - HTTPREQUEST - - ERROR - - CUSTOM - - PAGE_CHANGE - required: - - type + - PAGELOAD + - RESOURCELOAD + - HTTPREQUEST + - ERROR + - CUSTOM + - PAGE_CHANGE + required: + - type GetWebsiteMetrics: type: object properties: @@ -34167,15 +36900,15 @@ components: type: type: string enum: - - PAGELOAD - - RESOURCELOAD - - HTTPREQUEST - - ERROR - - CUSTOM - - PAGE_CHANGE - required: - - metrics - - type + - PAGELOAD + - RESOURCELOAD + - HTTPREQUEST + - ERROR + - CUSTOM + - PAGE_CHANGE + required: + - metrics + - type GetWebsiteMetricsV2: type: object properties: @@ -34192,20 +36925,23 @@ components: type: type: string enum: - - PAGELOAD - - RESOURCELOAD - - HTTPREQUEST - - ERROR - - CUSTOM - - PAGE_CHANGE - required: - - metrics - - type + - PAGELOAD + - RESOURCELOAD + - HTTPREQUEST + - ERROR + - CUSTOM + - PAGE_CHANGE + required: + - metrics + - type GitHubConfiguration: type: object properties: - branchName: - type: string + allowedCredentials: + type: array + items: + type: string + uniqueItems: true credentialName: type: string scriptFile: @@ -34213,21 +36949,20 @@ components: url: type: string required: - - branchName - - url + - url GlobalApplicationAlertConfigWithMetadata: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 @@ -34247,29 +36982,31 @@ components: description: IDs of the applications that this Smart Alert is applied to. items: type: string - description: IDs of the applications that this Smart Alert is applied - to. + description: IDs of the applications that this Smart Alert is applied to. minLength: 1 uniqueItems: true applications: type: object additionalProperties: $ref: '#/components/schemas/ApplicationNode' - description: Selection of applications, services, and endpoints that this - Smart Alert configuration is associated with. This selection is connected + description: >- + Selection of applications, services, and endpoints that this Smart + Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator. boundaryScope: type: string - description: Determines the source of the application alert configuration. - An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers + description: >- + Determines the source of the application alert configuration. An + `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls. enum: - - ALL - - INBOUND + - ALL + - INBOUND builtIn: type: boolean - description: 'Flag that indicates whether this configuration is a built-in - Smart Alert. ' + description: >- + Flag that indicates whether this configuration is a built-in Smart + Alert. created: type: integer format: int64 @@ -34277,16 +37014,18 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the application alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the application alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 @@ -34295,33 +37034,37 @@ components: description: Flag to indicate whether or not the configuration is enabled. evaluationType: type: string - description: Determines whether calls of the aggregated metrics are grouped - by the application, the service, or the endpoint. This also determines - whether the resulting events are categorized as an issue on the respective - entity of that group. + description: >- + Determines whether calls of the aggregated metrics are grouped by + the application, the service, or the endpoint. This also determines + whether the resulting events are categorized as an issue on the + respective entity of that group. enum: - - PER_AP - - PER_AP_SERVICE - - PER_AP_ENDPOINT + - PER_AP + - PER_AP_SERVICE + - PER_AP_ENDPOINT gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string description: ID of this Global Application Alert Configuration. @@ -34329,12 +37072,15 @@ components: minLength: 0 includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: 'Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. ' + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. initialCreated: type: integer format: int64 @@ -34342,35 +37088,41 @@ components: minimum: 1 name: type: string - description: Name of the application alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the application alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/ApplicationAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -34379,33 +37131,34 @@ components: $ref: '#/components/schemas/ApplicationTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - alertChannelIds - - applications - - boundaryScope - - customPayloadFields - - description - - evaluationType - - granularity - - id - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - alertChannelIds + - applications + - boundaryScope + - customPayloadFields + - description + - evaluationType + - granularity + - id + - name + - tagFilterExpression + - timeThreshold GlobalApplicationsAlertConfig: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 @@ -34424,73 +37177,85 @@ components: type: object additionalProperties: $ref: '#/components/schemas/ApplicationNode' - description: Selection of applications, services, and endpoints that this - Smart Alert configuration is associated with. This selection is connected + description: >- + Selection of applications, services, and endpoints that this Smart + Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator. boundaryScope: type: string - description: Determines the source of the application alert configuration. - An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers + description: >- + Determines the source of the application alert configuration. An + `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls. enum: - - ALL - - INBOUND + - ALL + - INBOUND customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the application alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the application alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 evaluationType: type: string - description: Determines whether calls of the aggregated metrics are grouped - by the application, the service, or the endpoint. This also determines - whether the resulting events are categorized as an issue on the respective - entity of that group. + description: >- + Determines whether calls of the aggregated metrics are grouped by + the application, the service, or the endpoint. This also determines + whether the resulting events are categorized as an issue on the + respective entity of that group. enum: - - PER_AP - - PER_AP_SERVICE - - PER_AP_ENDPOINT + - PER_AP + - PER_AP_SERVICE + - PER_AP_ENDPOINT gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 includeInternal: type: boolean - description: Flag to include Internal Calls. These calls are work done inside - a service and correspond to intermediate spans in custom tracing. + description: >- + Flag to include Internal Calls. These calls are work done inside a + service and correspond to intermediate spans in custom tracing. includeSynthetic: type: boolean - description: 'Flag to include Synthetic Calls. These calls have a synthetic - endpoint as their destination, such as calls to health-check endpoints. ' + description: >- + Flag to include Synthetic Calls. These calls have a synthetic + endpoint as their destination, such as calls to health-check + endpoints. name: type: string - description: Name of the application alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the application alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -34498,22 +37263,26 @@ components: $ref: '#/components/schemas/ApplicationAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -34522,33 +37291,34 @@ components: $ref: '#/components/schemas/ApplicationTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - alertChannelIds - - applications - - boundaryScope - - customPayloadFields - - description - - evaluationType - - granularity - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - alertChannelIds + - applications + - boundaryScope + - customPayloadFields + - description + - evaluationType + - granularity + - name + - tagFilterExpression + - timeThreshold GoogleChatIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - webhookUrl: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + webhookUrl: + type: string + minLength: 1 required: - - id - - kind - - name - - webhookUrl + - id + - kind + - name + - webhookUrl GraphEdge: type: object properties: @@ -34559,16 +37329,16 @@ components: type: string description: Type of dependency between the source and the destination. enum: - - in - - is - - to - - of - - connected - - describes - - of20 - - to20 - - dummy - - parent + - in + - is + - to + - of + - connected + - describes + - of20 + - to20 + - dummy + - parent source: type: string description: ID of the incoming GraphEdge. @@ -34592,8 +37362,7 @@ components: description: Name of the plugin Group: type: object - description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` - and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.' + description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.' properties: groupbyTag: type: string @@ -34602,36 +37371,48 @@ components: minLength: 0 groupbyTagEntity: type: string - description: | + description: > The entity by which the data should be grouped. - This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`. + + This field supports three possible values: `NOT_APPLICABLE`, + `DESTINATION`, and `SOURCE`. + `SOURCE`: the tag filter should apply to the source entity. - `DESTINATION`: the tag filter should apply to the destination entity. - `NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call). + + `DESTINATION`: the tag filter should apply to the destination + entity. + + `NOT_APPLICABLE`: some tags are independent of source or + destination, such as tags on the call itself, log tags or trace tags + (only destination makes sense because the source is unknown for the + root call). enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE + - NOT_APPLICABLE + - DESTINATION + - SOURCE groupbyTagSecondLevelKey: type: string - description: If present, it's the 2nd level key part (e.g. `customKey` on + description: >- + If present, it's the 2nd level key part (e.g. `customKey` on `docker.label.customKey`) maxLength: 256 minLength: 0 + nullable: true required: - - groupbyTag - - groupbyTagEntity + - groupbyTag + - groupbyTagEntity GroupByTag: type: object description: The grouping tags used to group the metric results. properties: key: type: string + nullable: true tagName: type: string minLength: 1 required: - - tagName + - tagName GroupMapping: type: object properties: @@ -34642,6 +37423,7 @@ components: type: string maxLength: 64 minLength: 0 + nullable: true key: type: string maxLength: 65536 @@ -34650,14 +37432,15 @@ components: type: string maxLength: 64 minLength: 5 + nullable: true value: type: string maxLength: 65536 minLength: 0 required: - - groupId - - key - - value + - groupId + - key + - value GroupMappingOverview: type: object properties: @@ -34677,9 +37460,9 @@ components: health: type: string enum: - - RED - - YELLOW - - GREEN + - RED + - YELLOW + - GREEN messages: type: array items: @@ -34687,242 +37470,320 @@ components: HistoricBaseline: type: object allOf: - - $ref: '#/components/schemas/Threshold' - - type: object - properties: - baseline: - type: array - items: + - $ref: '#/components/schemas/Threshold' + - type: object + properties: + baseline: type: array items: - type: number - deviationFactor: - type: number - format: double - exclusiveMaximum: false - exclusiveMinimum: false - maximum: 16.0 - minimum: 0.5 - lastUpdated: - type: integer - format: int64 - minimum: 0 - seasonality: - type: string - enum: - - WEEKLY - - DAILY + type: array + items: + type: number + nullable: true + deviationFactor: + type: number + format: double + exclusiveMaximum: false + exclusiveMinimum: false + maximum: 16 + minimum: 0.5 + lastUpdated: + type: integer + format: int64 + minimum: 0 + seasonality: + type: string + enum: + - WEEKLY + - DAILY required: - - operator - - seasonality + - operator + - seasonality HostAvailabilityRule: type: object allOf: - - $ref: '#/components/schemas/AbstractRule' - - type: object - properties: - closeAfter: - type: integer - format: int64 - maximum: 86400000 - offlineDuration: - type: integer - format: int64 - tagFilter: - $ref: '#/components/schemas/TagFilter' + - $ref: '#/components/schemas/AbstractRule' + - type: object + properties: + closeAfter: + type: integer + format: int64 + maximum: 86400000 + offlineDuration: + type: integer + format: int64 + tagFilter: + $ref: '#/components/schemas/TagFilter' HttpActionConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - allowInsecure: - type: boolean - body: - type: string - expectExists: - type: array - items: + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + allowInsecure: + type: boolean + body: type: string - minLength: 1 - expectJson: - $ref: '#/components/schemas/ContainerNode' - expectMatch: - type: string - expectNotEmpty: - type: array - items: + expectExists: + type: array + items: + type: string + minLength: 1 + expectJson: + $ref: '#/components/schemas/ContainerNode' + expectMatch: type: string - minLength: 1 - expectStatus: - type: integer - format: int32 - followRedirect: - type: boolean - headers: - type: object - additionalProperties: + expectNotEmpty: + type: array + items: + type: string + minLength: 1 + expectStatus: + type: integer + format: int32 + followRedirect: + type: boolean + headers: + type: object + additionalProperties: + type: string + operation: + type: string + enum: + - DELETE + - GET + - HEAD + - OPTIONS + - PATCH + - POST + - PUT + url: + type: string + maxLength: 2047 + minLength: 0 + validationString: type: string - operation: - type: string - enum: - - DELETE - - GET - - HEAD - - OPTIONS - - PATCH - - POST - - PUT - url: - type: string - maxLength: 2047 - minLength: 0 - validationString: - type: string required: - - markSyntheticCall - - syntheticType - - url + - markSyntheticCall + - syntheticType + - url HttpActionConfigurationUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - allowInsecure: - type: boolean - body: - type: string - expectExists: - $ref: '#/components/schemas/SyntheticResourceUpdateListStringListString' - expectJson: - $ref: '#/components/schemas/ContainerNode' - expectMatch: - type: string - expectNotEmpty: - $ref: '#/components/schemas/SyntheticResourceUpdateListStringListString' - expectStatus: - type: integer - format: int32 - followRedirect: - type: boolean - headers: - $ref: '#/components/schemas/SyntheticResourceUpdateMapStringStringListString' - operation: - type: string - enum: - - DELETE - - GET - - HEAD - - OPTIONS - - PATCH - - POST - - PUT - url: - type: string - validationString: - type: string + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + allowInsecure: + type: boolean + body: + type: string + expectExists: + $ref: '#/components/schemas/SyntheticResourceUpdateListStringListString' + expectJson: + $ref: '#/components/schemas/ContainerNode' + expectMatch: + type: string + expectNotEmpty: + $ref: '#/components/schemas/SyntheticResourceUpdateListStringListString' + expectStatus: + type: integer + format: int32 + followRedirect: + type: boolean + headers: + $ref: >- + #/components/schemas/SyntheticResourceUpdateMapStringStringListString + operation: + type: string + enum: + - DELETE + - GET + - HEAD + - OPTIONS + - PATCH + - POST + - PUT + url: + type: string + validationString: + type: string HttpEndpointConfig: type: object properties: endpointNameByCollectedPathTemplateRuleEnabled: type: boolean - description: | - The highest default precedence of endpoint rule is creating endpoint is based on path template. For example, + description: > + The highest default precedence of endpoint rule is creating endpoint + is based on path template. For example, + ``` + /hospital/1948/patient/291148 + /hospital/728/patient/924892 + /hospital/47/patient/25978 + /hospital/108429/patient/1847 + ``` - can be considered as `/hospital/{hid}/patient/{pid}` if this rule is enabled. For most of the use cases, this rule should be enabled. + + can be considered as `/hospital/{hid}/patient/{pid}` if this rule is + enabled. For most of the use cases, this rule should be enabled. endpointNameByFirstPathSegmentRuleEnabled: type: boolean - description: | - There are endpoint extraction rules in Instana which take the first path segment from the HTTP request and turn this into an endpoint name. - For example, given the following URLs `/users/123/profile` and `/users/123/settings`, the extraction rule will only take the first segment. As a result endpoint name will be `users`. - Although this is useful in cases where broad overview of monitoring is required, lot of use cases are more specified. - Considering the above example, if this rule is enabled, Instana can't distinguish between `profile` or `settings` as endpoints. - For use cases where endpoints has to be monitored at fine granular level, this flag should be set to `false`. + description: > + There are endpoint extraction rules in Instana which take the first + path segment from the HTTP request and turn this into an endpoint + name. + + For example, given the following URLs `/users/123/profile` and + `/users/123/settings`, the extraction rule will only take the first + segment. As a result endpoint name will be `users`. + + Although this is useful in cases where broad overview of monitoring + is required, lot of use cases are more specified. + + Considering the above example, if this rule is enabled, Instana + can't distinguish between `profile` or `settings` as endpoints. + + For use cases where endpoints has to be monitored at fine granular + level, this flag should be set to `false`. rules: type: array - description: Specify custom rule configuration apart from Instana predefined - rules. This rule has the highest precedence. This is only available for - HTTP endpoints. + description: >- + Specify custom rule configuration apart from Instana predefined + rules. This rule has the highest precedence. This is only available + for HTTP endpoints. items: $ref: '#/components/schemas/HttpEndpointRule' maxItems: 500 minItems: 0 serviceId: type: string - description: | - An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. - Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter. + description: > + An Instana generated unique identifier for a Service. If specified, + the list of results will be filtered for the specified Service ID. + Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + One can see the service id from Instana UI by going to a Service + page. In the URL, there will be + `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + Alternatively, one can use `Get services` API endpoint to get the + service id in `id` parameter. minLength: 1 required: - - rules - - serviceId + - rules + - serviceId HttpEndpointRule: type: object - description: Specify custom rule configuration apart from Instana predefined - rules. This rule has the highest precedence. This is only available for HTTP + description: >- + Specify custom rule configuration apart from Instana predefined rules. + This rule has the highest precedence. This is only available for HTTP endpoints. properties: enabled: type: boolean - description: Set this flag to `true` if custom rule configurations has to - be considered. + description: >- + Set this flag to `true` if custom rule configurations has to be + considered. pathSegments: type: array - description: "A list of path segment matching rules, each defining how a\ - \ segment of the HTTP path should be matched.\nEach object in this array\ - \ represents a segment rule, allowing for fixed segments, dynamic parameters,\ - \ wildcards, or unsupported segments. \n\n**UNSUPPORTED**: A path segment\ - \ that is not recognized by the system. \n\n**FIXED**: This type represents\ - \ a static, unchanging part of the URL path.\nFor example, `/api/{version}/users`,\ - \ `api` and `users` would be `FIXED` segment. \n\n**PARAMETER**: This\ - \ type represents a variable part of the URL path, often used to capture\ - \ specific parameters or IDs that change with each request.\nFor example,\ - \ `/api/{version}/users`, `version` would be `PARAMETER` segment. `version`\ - \ can be `v1`, `v2`, `v3` etc. \n\n**MATCH_ALL**: This type represents\ - \ a wildcard, capturing all remaining segments from this point onward\ - \ in the URL path.\nFor example, `/api/{version}/users/*` — Matches all\ - \ paths like `/api/v1/users/123`. `/api/v3/users/456` etc. \n\n" + description: >+ + A list of path segment matching rules, each defining how a segment + of the HTTP path should be matched. + + Each object in this array represents a segment rule, allowing for + fixed segments, dynamic parameters, wildcards, or unsupported + segments. + + + **UNSUPPORTED**: A path segment that is not recognized by the + system. + + + **FIXED**: This type represents a static, unchanging part of the URL + path. + + For example, `/api/{version}/users`, `api` and `users` would be + `FIXED` segment. + + + **PARAMETER**: This type represents a variable part of the URL path, + often used to capture specific parameters or IDs that change with + each request. + + For example, `/api/{version}/users`, `version` would be `PARAMETER` + segment. `version` can be `v1`, `v2`, `v3` etc. + + + **MATCH_ALL**: This type represents a wildcard, capturing all + remaining segments from this point onward in the URL path. + + For example, `/api/{version}/users/*` — Matches all paths like + `/api/v1/users/123`. `/api/v3/users/456` etc. + items: $ref: '#/components/schemas/HttpPathSegmentMatchingRule' maxItems: 16 minItems: 1 testCases: type: array - description: | - To validate whether the the defined custom endpoint rule configuration is working as expected. - For example, given a query `/api/*/{version}`, the following test case `/api/anyName/123` will match, while `/otherApi/anyName/123` will not. + description: > + To validate whether the the defined custom endpoint rule + configuration is working as expected. + + For example, given a query `/api/*/{version}`, the following test + case `/api/anyName/123` will match, while `/otherApi/anyName/123` + will not. items: type: string - description: | - To validate whether the the defined custom endpoint rule configuration is working as expected. - For example, given a query `/api/*/{version}`, the following test case `/api/anyName/123` will match, while `/otherApi/anyName/123` will not. + description: > + To validate whether the the defined custom endpoint rule + configuration is working as expected. + + For example, given a query `/api/*/{version}`, the following test + case `/api/anyName/123` will match, while `/otherApi/anyName/123` + will not. maxItems: 32 minItems: 0 required: - - pathSegments + - pathSegments HttpPathSegmentMatchingRule: type: object - description: "A list of path segment matching rules, each defining how a segment\ - \ of the HTTP path should be matched.\nEach object in this array represents\ - \ a segment rule, allowing for fixed segments, dynamic parameters, wildcards,\ - \ or unsupported segments. \n\n**UNSUPPORTED**: A path segment that is not\ - \ recognized by the system. \n\n**FIXED**: This type represents a static,\ - \ unchanging part of the URL path.\nFor example, `/api/{version}/users`, `api`\ - \ and `users` would be `FIXED` segment. \n\n**PARAMETER**: This type represents\ - \ a variable part of the URL path, often used to capture specific parameters\ - \ or IDs that change with each request.\nFor example, `/api/{version}/users`,\ - \ `version` would be `PARAMETER` segment. `version` can be `v1`, `v2`, `v3`\ - \ etc. \n\n**MATCH_ALL**: This type represents a wildcard, capturing all remaining\ - \ segments from this point onward in the URL path.\nFor example, `/api/{version}/users/*`\ - \ — Matches all paths like `/api/v1/users/123`. `/api/v3/users/456` etc. \n\ - \n" + description: >+ + A list of path segment matching rules, each defining how a segment of + the HTTP path should be matched. + + Each object in this array represents a segment rule, allowing for fixed + segments, dynamic parameters, wildcards, or unsupported segments. + + + **UNSUPPORTED**: A path segment that is not recognized by the system. + + + **FIXED**: This type represents a static, unchanging part of the URL + path. + + For example, `/api/{version}/users`, `api` and `users` would be `FIXED` + segment. + + + **PARAMETER**: This type represents a variable part of the URL path, + often used to capture specific parameters or IDs that change with each + request. + + For example, `/api/{version}/users`, `version` would be `PARAMETER` + segment. `version` can be `v1`, `v2`, `v3` etc. + + + **MATCH_ALL**: This type represents a wildcard, capturing all remaining + segments from this point onward in the URL path. + + For example, `/api/{version}/users/*` — Matches all paths like + `/api/v1/users/123`. `/api/v3/users/456` etc. + discriminator: mapping: FIXED: '#/components/schemas/FixedHttpPathSegmentMatchingRule' @@ -34934,55 +37795,55 @@ components: type: type: string enum: - - UNSUPPORTED - - FIXED - - PARAMETER - - MATCH_ALL + - UNSUPPORTED + - FIXED + - PARAMETER + - MATCH_ALL required: - - type + - type HttpScriptConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - fileName: - type: string - github: - $ref: '#/components/schemas/GitHubConfiguration' - script: - type: string - maxLength: 1048576 - minLength: 0 - scriptType: - type: string - enum: - - Basic - - Jest - scripts: - $ref: '#/components/schemas/MultipleScriptsConfiguration' - required: - - markSyntheticCall - - syntheticType + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + fileName: + type: string + github: + $ref: '#/components/schemas/GitHubConfiguration' + script: + type: string + maxLength: 1048576 + minLength: 0 + scriptType: + type: string + enum: + - Basic + - Jest + scripts: + $ref: '#/components/schemas/MultipleScriptsConfiguration' + required: + - markSyntheticCall + - syntheticType HttpScriptConfigurationUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - fileName: - type: string - github: - $ref: '#/components/schemas/GitHubConfiguration' - script: - type: string - scriptType: - type: string - enum: - - Basic - - Jest - scripts: - $ref: '#/components/schemas/MultipleScriptsConfiguration' + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + fileName: + type: string + github: + $ref: '#/components/schemas/GitHubConfiguration' + script: + type: string + scriptType: + type: string + enum: + - Basic + - Jest + scripts: + $ref: '#/components/schemas/MultipleScriptsConfiguration' HyperParam: type: object description: List of hyper parameters of the Built-in Event Specification @@ -35010,99 +37871,119 @@ components: minLength: 0 valueFormat: type: string - description: | + description: > | + * NUMBER: Generic number + * BYTES: Number of bytes + * KILO_BYTES: Number of kilobytes + * MEGA_BYTES: Number of megabytes + * PERCENTAGE: Percentage in scale [0,1] + * PERCENTAGE_100: Percentage in scale [0,100] - * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * LATENCY: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * NANOS: Time in nanoseconds + * MILLIS: Time in milliseconds + * MICROS: Time in microseconds + * SECONDS: Time in seconds + * RATE: Number of occurrences per second + * BYTE_RATE: Number of bytes per second + * UNDEFINED: Metric value unit is not known enum: - - NUMBER - - BYTES - - KILO_BYTES - - MEGA_BYTES - - PERCENTAGE - - PERCENTAGE_100 - - PERCENTAGE_NO_CAPPING - - PERCENTAGE_100_NO_CAPPING - - LATENCY - - NANOS - - MILLIS - - MICROS - - SECONDS - - RATE - - BYTE_RATE - - UNDEFINED - required: - - description - - id - - name - ICMPConfiguration: - type: object - allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - packetCount: - type: integer - format: int32 - packetInterval: - type: string - packetSize: - type: integer - format: int32 - packetTimeout: - type: string - targetHost: - type: string - useDNS: - type: boolean - useIPv6: - type: boolean - validationRules: - type: array - items: - $ref: '#/components/schemas/ICMPValidation' + - NUMBER + - BYTES + - KILO_BYTES + - MEGA_BYTES + - PERCENTAGE + - PERCENTAGE_100 + - PERCENTAGE_NO_CAPPING + - PERCENTAGE_100_NO_CAPPING + - LATENCY + - NANOS + - MILLIS + - MICROS + - SECONDS + - RATE + - BYTE_RATE + - UNDEFINED required: - - markSyntheticCall - - syntheticType - - targetHost - ICMPConfigurationUpdate: + - description + - id + - name + ICMPConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - packetCount: - type: integer - format: int32 - packetInterval: - type: string - packetSize: - type: integer - format: int32 - packetTimeout: - type: string - targetHost: - type: string - useDNS: - type: boolean - useIPv6: - type: boolean - validationRules: - $ref: '#/components/schemas/SyntheticResourceUpdateListICMPValidationListICMPValidation' + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + packetCount: + type: integer + format: int32 + packetInterval: + type: string + packetSize: + type: integer + format: int32 + packetTimeout: + type: string + targetHost: + type: string + useDNS: + type: boolean + useIPv6: + type: boolean + validationRules: + type: array + items: + $ref: '#/components/schemas/ICMPValidation' + required: + - markSyntheticCall + - syntheticType + - targetHost + ICMPConfigurationUpdate: + type: object + allOf: + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + packetCount: + type: integer + format: int32 + packetInterval: + type: string + packetSize: + type: integer + format: int32 + packetTimeout: + type: string + targetHost: + type: string + useDNS: + type: boolean + useIPv6: + type: boolean + validationRules: + $ref: >- + #/components/schemas/SyntheticResourceUpdateListICMPValidationListICMPValidation ICMPValidation: type: object properties: @@ -35111,36 +37992,39 @@ components: operator: type: string enum: - - CONTAINS - - EQUALS - - GREATER_THAN - - GREATER_THAN_OR_EQUALS - - IS - - LESS_THAN - - LESS_THAN_OR_EQUALS - - MATCHES - - NOT_MATCHES + - CONTAINS + - EQUALS + - GREATER_THAN + - GREATER_THAN_OR_EQUALS + - IS + - LESS_THAN + - LESS_THAN_OR_EQUALS + - MATCHES + - NOT_MATCHES value: type: integer format: int64 required: - - key - - operator - - value + - key + - operator + - value IPFiltering: type: object properties: active: type: boolean - description: If the configuration is currently enforced, can be permanent - active (if verified), or temporary after creation (enabling the verification). + description: >- + If the configuration is currently enforced, can be permanent active + (if verified), or temporary after creation (enabling the + verification). denyAll: type: boolean description: Fallback configuration, if unmatched requests should be denied. enabled: type: boolean - description: If the configuration should be enforced. See active status - if it is actually enforced. + description: >- + If the configuration should be enforced. See active status if it is + actually enforced. lastChangedAt: type: integer format: int64 @@ -35148,36 +38032,41 @@ components: lastVerifiedAt: type: integer format: int64 - description: When the configuration was last verified. Can be used to assume - if a configuration needs to be verified. + description: >- + When the configuration was last verified. Can be used to assume if a + configuration needs to be verified. rules: type: array - description: Actual traffic rules. Enforcing allow / block based on incoming - IP address. Are evaluated in given order. + description: >- + Actual traffic rules. Enforcing allow / block based on incoming IP + address. Are evaluated in given order. items: $ref: '#/components/schemas/IPFilteringRuleDto' supportAccessEnabled: type: boolean - description: If Instana support should be able to access your environment. - Instana support is still able to to deactivate the configuration for you - (manual process). + description: >- + If Instana support should be able to access your environment. + Instana support is still able to to deactivate the configuration for + you (manual process). required: - - rules + - rules IPFilteringRuleDto: type: object - description: Actual traffic rules. Enforcing allow / block based on incoming - IP address. Are evaluated in given order. + description: >- + Actual traffic rules. Enforcing allow / block based on incoming IP + address. Are evaluated in given order. properties: block: type: boolean description: If the traffic should be blocked or denied. target: type: string - description: Target of this rule, can be either a IP address or a IP address + description: >- + Target of this rule, can be either a IP address or a IP address range. required: - - block - - target + - block + - target IPFilteringUpsert: type: object properties: @@ -35186,26 +38075,29 @@ components: description: Fallback configuration, if unmatched requests should be denied. enabled: type: boolean - description: If the configuration should be enforced. See active status - if it is actually enforced. + description: >- + If the configuration should be enforced. See active status if it is + actually enforced. rules: type: array - description: Actual traffic rules. Enforcing allow / block based on incoming - IP address. Are evaluated in given order. + description: >- + Actual traffic rules. Enforcing allow / block based on incoming IP + address. Are evaluated in given order. items: $ref: '#/components/schemas/IPFilteringRuleDto' maxItems: 75 minItems: 1 supportAccessEnabled: type: boolean - description: If Instana support should be able to access your environment. - Instana support is still able to to deactivate the configuration for you - (manual process). + description: >- + If Instana support should be able to access your environment. + Instana support is still able to to deactivate the configuration for + you (manual process). required: - - denyAll - - enabled - - rules - - supportAccessEnabled + - denyAll + - enabled + - rules + - supportAccessEnabled IdentityProviderPatch: type: object properties: @@ -35235,16 +38127,17 @@ components: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -35256,47 +38149,55 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the Infrastructure Smart Alert. Used as a template - for the description of alert/event notifications triggered by this Smart - Alert configuration. + description: >- + Description of the Infrastructure Smart Alert. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 evaluationType: type: string - description: Determines whether we evaluate each infra entity independently - or group of entities will be evaluated together. + description: >- + Determines whether we evaluate each infra entity independently or + group of entities will be evaluated together. enum: - - PER_ENTITY - - CUSTOM + - PER_ENTITY + - CUSTOM + nullable: true gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 groupBy: type: array description: The grouping tags used to group the metric results. @@ -35308,8 +38209,9 @@ components: minItems: 0 name: type: string - description: Name of the Infrastructure Smart Alert. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the Infrastructure Smart Alert. Used as a template for the + title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -35319,24 +38221,29 @@ components: type: string description: Set AND / OR enum: - - AND - - OR + - AND + - OR + nullable: true rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdInfraAlertRule' maxItems: 5 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -35345,32 +38252,35 @@ components: $ref: '#/components/schemas/InfraTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + nullable: true required: - - customPayloadFields - - description - - granularity - - groupBy - - name - - tagFilterExpression - - timeThreshold + - customPayloadFields + - description + - granularity + - groupBy + - name + - tagFilterExpression + - timeThreshold InfraAlertConfigWithMetadata: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -35388,47 +38298,53 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the Infrastructure Smart Alert. Used as a template - for the description of alert/event notifications triggered by this Smart - Alert configuration. + description: >- + Description of the Infrastructure Smart Alert. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 enabled: type: boolean evaluationType: type: string - description: Determines whether we evaluate each infra entity independently - or group of entities will be evaluated together. + description: >- + Determines whether we evaluate each infra entity independently or + group of entities will be evaluated together. enum: - - PER_ENTITY - - CUSTOM + - PER_ENTITY + - CUSTOM gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 groupBy: type: array description: The grouping tags used to group the metric results. @@ -35448,8 +38364,9 @@ components: minimum: 1 name: type: string - description: Name of the Infrastructure Smart Alert. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the Infrastructure Smart Alert. Used as a template for the + title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -35461,24 +38378,28 @@ components: type: string description: Set AND / OR enum: - - AND - - OR + - AND + - OR rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdInfraAlertRule' maxItems: 5 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -35487,17 +38408,19 @@ components: $ref: '#/components/schemas/InfraTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - customPayloadFields - - description - - granularity - - groupBy - - id - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + nullable: true + required: + - customPayloadFields + - description + - granularity + - groupBy + - id + - name + - tagFilterExpression + - timeThreshold InfraAlertRule: type: object discriminator: @@ -35508,45 +38431,45 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE alertType: type: string crossSeriesAggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE entityType: type: string metricGroupBy: @@ -35561,47 +38484,62 @@ components: regex: type: boolean required: - - alertType - - metricName + - alertType + - metricName InfraEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - ibmMqFileTransfer: - type: array - description: IBM MQ file transfer information, if relevant for this entity - and event. - items: - type: object - additionalProperties: + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + ibmMqFileTransfer: + type: array + description: >- + IBM MQ file transfer information, if relevant for this entity + and event. + items: type: object - description: IBM MQ file transfer information, if relevant for this - entity and event. - description: IBM MQ file transfer information, if relevant for this - entity and event. - snapshotId: - type: string - description: ID of the snapshot. + additionalProperties: + type: object + description: >- + IBM MQ file transfer information, if relevant for this + entity and event. + description: >- + IBM MQ file transfer information, if relevant for this entity + and event. + snapshotId: + type: string + description: ID of the snapshot. + snapshotIds: + type: array + description: >- + IDs of all affected snapshots. Only present for Infra Smart + Alert events. + items: + type: string + description: >- + IDs of all affected snapshots. Only present for Infra Smart + Alert events. + uniqueItems: true InfraExploreCursor: type: object description: cursor to use between successive queries InfraSloEntity: type: object allOf: - - $ref: '#/components/schemas/SloEntity' - - type: object - properties: - infraType: - type: string - description: Infrastructure Type + - $ref: '#/components/schemas/SloEntity' + - type: object + properties: + infraType: + type: string + description: Infrastructure Type required: - - infraType + - infraType InfraTimeThreshold: type: object - description: The type of threshold to define the criteria when the event and - alert triggers and resolves. + description: >- + The type of threshold to define the criteria when the event and alert + triggers and resolves. discriminator: mapping: violationsInSequence: '#/components/schemas/ViolationsInSequenceInfraTimeThreshold' @@ -35613,7 +38551,7 @@ components: type: type: string required: - - type + - type InfrastructureEntitiesResult: type: object properties: @@ -35633,7 +38571,7 @@ components: description: represents the total number of results minimum: 0 required: - - items + - items InfrastructureGroup: type: object description: group of infrastructure entities @@ -35665,6 +38603,8 @@ components: type: integer format: int64 description: max poll rate across this group + samplingMetadata: + $ref: '#/components/schemas/SamplingMetadata' tags: type: object additionalProperties: @@ -35690,7 +38630,7 @@ components: description: represents the total number of results minimum: 0 required: - - items + - items InfrastructureItem: type: object properties: @@ -35724,8 +38664,9 @@ components: time: type: integer format: int64 - description: Epoch time in milliseconds if the snapshot is offline. Set - to 9223372036854775807 if the snapshot is online. + description: >- + Epoch time in milliseconds if the snapshot is offline. Set to + 9223372036854775807 if the snapshot is online. InfrastructureMetricResult: type: object properties: @@ -35764,16 +38705,18 @@ components: type: string description: Properties of the alert channel in pairs of key/value description: Properties of the alert channel in pairs of key/value + nullable: true rbacTags: type: array description: Team Tags that's assigned to the Alerting Channel items: $ref: '#/components/schemas/ApiTag' + nullable: true uniqueItems: true required: - - id - - kind - - name + - id + - kind + - name Invitation: type: object properties: @@ -35790,9 +38733,10 @@ components: type: string teamId: type: string + nullable: true required: - - email - - groupId + - email + - groupId InvitationResponse: type: object properties: @@ -35806,12 +38750,12 @@ components: invitationStatus: type: string enum: - - SUCCESS - - INTERNAL_ERROR - - FAILURE_USER_ALREADY_EXISTS - - FAILURE_USER_ALREADY_INVITED - - FAILURE_ONLY_DEFAULT_GROUP_INVITATION_ALLOWED - - FAILURE_TENANT_IDP_CONFIGURED + - SUCCESS + - INTERNAL_ERROR + - FAILURE_USER_ALREADY_EXISTS + - FAILURE_USER_ALREADY_INVITED + - FAILURE_ONLY_DEFAULT_GROUP_INVITATION_ALLOWED + - FAILURE_TENANT_IDP_CONFIGURED userEmail: type: string IpMaskingConfiguration: @@ -35820,11 +38764,11 @@ components: ipMasking: type: string enum: - - DEFAULT - - STRICT - - REMOVE_ALL_DETAILS + - DEFAULT + - STRICT + - REMOVE_ALL_DETAILS required: - - ipMasking + - ipMasking JsStackTraceLine: type: object properties: @@ -35841,22 +38785,26 @@ components: minimum: -1 name: type: string + nullable: true translationExplanation: type: string + nullable: true translationStatus: type: integer format: int32 minimum: -1 required: - - file + - file Json: type: object JsonNode: type: object KubernetesPhysicalContext: type: object - description: Contains physical context of Kubernetes which contains information - about the cluster, namespace, node and pod. + description: >- + Contains physical context of Kubernetes which contains information about + the cluster, namespace, node and pod. + nullable: true properties: cluster: $ref: '#/components/schemas/SnapshotPreview' @@ -35905,12 +38853,12 @@ components: type: string minLength: 1 required: - - capabilities - - id - - model - - name - - service - - tenantUnitId + - capabilities + - id + - model + - name + - service + - tenantUnitId LLMGatewayCapability: type: object properties: @@ -35922,7 +38870,7 @@ components: name: type: string required: - - id + - id LLMGatewayModel: type: object properties: @@ -35945,7 +38893,7 @@ components: name: type: string required: - - id + - id LLMGatewayTestConnectionRequest: type: object properties: @@ -35958,21 +38906,23 @@ components: serviceId: type: string required: - - serviceId + - serviceId LatencyBlueprintIndicator: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelIndicator' - - type: object - properties: - threshold: - type: number - format: double - description: Threshold Value for the Blueprint - exclusiveMinimum: false - minimum: 0.0 + - $ref: '#/components/schemas/ServiceLevelIndicator' + - type: object + properties: + metric: + $ref: '#/components/schemas/EntityMetric' + threshold: + type: number + format: double + description: Threshold Value for the Blueprint + exclusiveMinimum: false + minimum: 0 required: - - type + - type LlmModelPrice: type: object properties: @@ -35999,8 +38949,8 @@ components: provider: type: string required: - - inputCost - - outputCost + - inputCost + - outputCost LlmModelPriceMetadata: type: object properties: @@ -36008,7 +38958,7 @@ components: type: string minLength: 1 required: - - currencyCode + - currencyCode LocationStatus: type: object properties: @@ -36029,23 +38979,24 @@ components: type: integer format: int64 required: - - locationId + - locationId LogAlertConfig: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -36057,40 +39008,46 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the Log Smart Alert. Used as a template for - the description of alert/event notifications triggered by this Smart Alert - configuration. + description: >- + Description of the Log Smart Alert. Used as a template for the + description of alert/event notifications triggered by this Smart + Alert configuration. maxLength: 65536 minLength: 0 gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 groupBy: type: array description: The grouping tags used to group the metric results. @@ -36100,26 +39057,32 @@ components: minItems: 0 name: type: string - description: Name of the Log Smart Alert. Used as a template for the title - of alert/event notifications triggered by this Smart Alert configuration. + description: >- + Name of the Log Smart Alert. Used as a template for the title of + alert/event notifications triggered by this Smart Alert + configuration. maxLength: 256 minLength: 0 rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdLogAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -36127,27 +39090,28 @@ components: timeThreshold: $ref: '#/components/schemas/LogTimeThreshold' required: - - description - - granularity - - name - - tagFilterExpression - - timeThreshold + - description + - granularity + - name + - tagFilterExpression + - timeThreshold LogAlertConfigWithMetadata: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -36165,17 +39129,19 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the Log Smart Alert. Used as a template for - the description of alert/event notifications triggered by this Smart Alert - configuration. + description: >- + Description of the Log Smart Alert. Used as a template for the + description of alert/event notifications triggered by this Smart + Alert configuration. maxLength: 65536 minLength: 0 enabled: @@ -36183,22 +39149,25 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 groupBy: type: array description: The grouping tags used to group the metric results. @@ -36216,28 +39185,34 @@ components: minimum: 1 name: type: string - description: Name of the Log Smart Alert. Used as a template for the title - of alert/event notifications triggered by this Smart Alert configuration. + description: >- + Name of the Log Smart Alert. Used as a template for the title of + alert/event notifications triggered by this Smart Alert + configuration. maxLength: 256 minLength: 0 readOnly: type: boolean rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdLogAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -36245,12 +39220,12 @@ components: timeThreshold: $ref: '#/components/schemas/LogTimeThreshold' required: - - description - - granularity - - id - - name - - tagFilterExpression - - timeThreshold + - description + - granularity + - id + - name + - tagFilterExpression + - timeThreshold LogAlertRule: type: object discriminator: @@ -36261,50 +39236,51 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE alertType: type: string metricName: type: string minLength: 1 required: - - alertType - - metricName + - alertType + - metricName LogCountAlertRule: type: object allOf: - - $ref: '#/components/schemas/LogAlertRule' + - $ref: '#/components/schemas/LogAlertRule' required: - - metricName + - metricName LogEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - snapshotId: - type: string - description: ID of the snapshot. + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + snapshotId: + type: string + description: ID of the snapshot. LogTimeThreshold: type: object - description: The type of threshold to define the criteria when the event and - alert triggers and resolves. + description: >- + The type of threshold to define the criteria when the event and alert + triggers and resolves. discriminator: mapping: violationsInSequence: '#/components/schemas/ViolationsInSequenceLogTimeThreshold' @@ -36316,7 +39292,7 @@ components: type: type: string required: - - type + - type LogVolumeGroup: type: object properties: @@ -36328,8 +39304,8 @@ components: type: integer format: int64 required: - - label - - logVolume + - label + - logVolume LogVolumeUsageItem: type: object properties: @@ -36347,8 +39323,8 @@ components: items: $ref: '#/components/schemas/RetentionPeriod' required: - - logVolume - - retentionPeriods + - logVolume + - retentionPeriods LogVolumeUsageResult: type: object properties: @@ -36357,54 +39333,101 @@ components: items: $ref: '#/components/schemas/LogVolumeUsageItem' required: - - logVolumeUsageItems + - logVolumeUsageItems + LogsApiResponse: + type: object + properties: + adjustedTimeFrame: + type: string + canLoadMore: + type: boolean + items: + type: array + items: + $ref: '#/components/schemas/ApiLogItem' + totalHits: + type: integer + format: int32 LogsApplicationAlertRule: type: object allOf: - - $ref: '#/components/schemas/ApplicationAlertRule' - - type: object - properties: - level: - type: string - enum: - - WARN - - ERROR - - ANY - loglevel: - type: string - enum: - - WARN - - ERROR - - ANY - writeOnly: true - message: - type: string - operator: + - $ref: '#/components/schemas/ApplicationAlertRule' + - type: object + properties: + level: + type: string + enum: + - WARN + - ERROR + - ANY + loglevel: + type: string + enum: + - WARN + - ERROR + - ANY + writeOnly: true + message: + type: string + nullable: true + operator: + type: string + enum: + - EQUALS + - CONTAINS + - IN + - NOT_IN + - LESS_THAN + - LESS_OR_EQUAL_THAN + - GREATER_THAN + - GREATER_OR_EQUAL_THAN + - NOT_EMPTY + - NOT_EQUAL + - NOT_CONTAIN + - IS_EMPTY + - NOT_BLANK + - IS_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - REGEX_MATCH + required: + - level + - metricName + - operator + LogsQuery: + type: object + properties: + filter: + $ref: '#/components/schemas/FilterInterface' + offset: + type: integer + format: int32 + maximum: 2000 + minimum: 0 + orderDirection: + type: string + enum: + - ASC + - DESC + nullable: true + requestedTags: + type: array + items: type: string - enum: - - EQUALS - - CONTAINS - - IN - - NOT_IN - - LESS_THAN - - LESS_OR_EQUAL_THAN - - GREATER_THAN - - GREATER_OR_EQUAL_THAN - - NOT_EMPTY - - NOT_EQUAL - - NOT_CONTAIN - - IS_EMPTY - - NOT_BLANK - - IS_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - REGEX_MATCH - required: - - level - - metricName - - operator + maxItems: 30 + minItems: 0 + uniqueItems: true + retrievalSize: + type: integer + format: int32 + maximum: 200 + minimum: 1 + tagFilterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + timeConfig: + $ref: '#/components/schemas/TimeConfig' MaintenanceConfig: type: object properties: @@ -36420,23 +39443,25 @@ components: minLength: 0 query: type: string - description: Dynamic Focus Query that determines the scope of the Maintenance + description: >- + Dynamic Focus Query that determines the scope of the Maintenance Window configuration. maxLength: 2048 minLength: 0 windows: type: array - description: A set of time periods when the Maintenance Window Configuration - is active. + description: >- + A set of time periods when the Maintenance Window Configuration is + active. items: $ref: '#/components/schemas/MaintenanceWindow' maxItems: 1 minItems: 0 uniqueItems: true required: - - id - - name - - query + - id + - name + - query MaintenanceConfigScheduling: type: object description: Time scheduling of the Maintenance Window configurations. @@ -36457,9 +39482,9 @@ components: maxLength: 2048 minLength: 0 required: - - duration - - start - - type + - duration + - start + - type MaintenanceConfigV2: type: object properties: @@ -36475,18 +39500,21 @@ components: minLength: 0 paused: type: boolean - description: Boolean flag to determine if the Maintenance Window configuration - is paused or still live. + description: >- + Boolean flag to determine if the Maintenance Window configuration is + paused or still live. query: type: string - description: Dynamic Focus Query that determines the scope of the Maintenance + description: >- + Dynamic Focus Query that determines the scope of the Maintenance Window configuration. maxLength: 2048 minLength: 0 retriggerOpenAlertsEnabled: type: boolean - description: Boolean flag to determine if we should retrigger open alerts - to be sent out for any events that opened during this maintenance window, + description: >- + Boolean flag to determine if we should retrigger open alerts to be + sent out for any events that opened during this maintenance window, and continues to remain open after the window expires scheduling: $ref: '#/components/schemas/MaintenanceConfigScheduling' @@ -36496,10 +39524,10 @@ components: type: boolean description: Boolean flag to determine if the tagFilterExpression is enabled. required: - - id - - name - - query - - scheduling + - id + - name + - query + - scheduling MaintenanceConfigV2WithStateAndOccurrence: type: object properties: @@ -36521,42 +39549,46 @@ components: $ref: '#/components/schemas/Occurrence' paused: type: boolean - description: Boolean flag to determine if the Maintenance Window configuration - is paused or still live. + description: >- + Boolean flag to determine if the Maintenance Window configuration is + paused or still live. query: type: string - description: Dynamic Focus Query that determines the scope of the Maintenance + description: >- + Dynamic Focus Query that determines the scope of the Maintenance Window configuration. maxLength: 2048 minLength: 0 retriggerOpenAlertsEnabled: type: boolean - description: Boolean flag to determine if we should retrigger open alerts - to be sent out for any events that opened during this maintenance window, + description: >- + Boolean flag to determine if we should retrigger open alerts to be + sent out for any events that opened during this maintenance window, and continues to remain open after the window expires scheduling: $ref: '#/components/schemas/MaintenanceConfigScheduling' state: type: string - description: 'State of the Maintenance Window, it can be: UNSCHEDULED, SCHEDULED, - ACTIVE, PAUSED, EXPIRED.' + description: >- + State of the Maintenance Window, it can be: UNSCHEDULED, SCHEDULED, + ACTIVE, PAUSED, EXPIRED. enum: - - UNSCHEDULED - - SCHEDULED - - ACTIVE - - PAUSED - - EXPIRED + - UNSCHEDULED + - SCHEDULED + - ACTIVE + - PAUSED + - EXPIRED tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilterExpressionEnabled: type: boolean description: Boolean flag to determine if the tagFilterExpression is enabled. required: - - id - - name - - occurrence - - query - - scheduling + - id + - name + - occurrence + - query + - scheduling MaintenanceConfigWithLastUpdated: type: object properties: @@ -36576,27 +39608,30 @@ components: minLength: 0 query: type: string - description: Dynamic Focus Query that determines the scope of the Maintenance + description: >- + Dynamic Focus Query that determines the scope of the Maintenance Window configuration. maxLength: 2048 minLength: 0 windows: type: array - description: A set of time periods when the Maintenance Window Configuration - is active. + description: >- + A set of time periods when the Maintenance Window Configuration is + active. items: $ref: '#/components/schemas/MaintenanceWindow' maxItems: 1 minItems: 0 uniqueItems: true required: - - id - - name - - query + - id + - name + - query MaintenanceWindow: type: object - description: A set of time periods when the Maintenance Window Configuration - is active. + description: >- + A set of time periods when the Maintenance Window Configuration is + active. properties: end: type: integer @@ -36611,14 +39646,15 @@ components: format: int64 minimum: 0 required: - - id + - id ManualAlertingChannelConfiguration: type: object properties: customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/StaticStringField' maxItems: 20 @@ -36629,8 +39665,8 @@ components: maxLength: 256 minLength: 0 required: - - customPayloadFields - - eventId + - customPayloadFields + - eventId ManualCloseInfo: type: object properties: @@ -36664,22 +39700,26 @@ components: maxLength: 256 minLength: 0 required: - - reasonForClosing - - username + - reasonForClosing + - username ManualServiceConfig: type: object properties: description: type: string description: A description of the manual service configuration. + nullable: true enabled: type: boolean - description: Enable or disable the manual service configuration. By default - it is enabled. + description: >- + Enable or disable the manual service configuration. By default it is + enabled. existingServiceId: type: string - description: The service ID of the existing monitored service to which the - calls should be linked. + description: >- + The service ID of the existing monitored service to which the calls + should be linked. + nullable: true id: type: string description: A unique id of the manual service configuration. @@ -36690,19 +39730,19 @@ components: unmonitoredServiceName: type: string description: A service name if you want to map calls to an unmonitored service. + nullable: true required: - - id - - tagFilterExpression + - id + - tagFilterExpression MatchAllHttpPathSegmentMatchingRule: type: object allOf: - - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' + - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' required: - - type + - type MatchExpressionDTO: type: object - description: ' Specify the expression to match, For example, `endpoint.name - contains health`.' + description: ' Specify the expression to match, For example, `endpoint.name contains health`.' discriminator: mapping: BINARY_OP: '#/components/schemas/BinaryOperatorDTO' @@ -36712,7 +39752,7 @@ components: type: type: string required: - - type + - type MetaData: type: object description: Action metadata. @@ -36728,19 +39768,23 @@ components: description: List of metadata for AI originated actions. aiOriginated: type: boolean - description: AI originated action flag. Value is `true` if action is AI - generated `false` otherwise. + description: >- + AI originated action flag. Value is `true` if action is AI generated + `false` otherwise. builtIn: type: boolean - description: Built-in out of the box action flag. Value is `true` if built-in + description: >- + Built-in out of the box action flag. Value is `true` if built-in action `false` otherwise. readOnly: type: boolean - description: Read only action flag. Value is `true` if read only `false` + description: >- + Read only action flag. Value is `true` if read only `false` otherwise. sensorImported: type: boolean - description: Sensor imported action flag. Value is `true` if action is imported + description: >- + Sensor imported action flag. Value is `true` if action is imported from sensor `false` otherwise. MetricAPIResult: type: object @@ -36756,81 +39800,94 @@ components: items: type: number required: - - metrics + - metrics MetricConfig: type: object - description: 'A list of objects each of which defines a metric and the (statistical) - aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it - for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': - ''MEAN''}]`. To know more about supported metrics and its aggregation, See - `Get Metric catalog`.' + description: >- + A list of objects each of which defines a metric and the (statistical) + aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize + it for the defined time frame. Eg: `[{ 'metric': 'latency', + 'aggregation': 'MEAN'}]`. To know more about supported metrics and its + aggregation, See `Get Metric catalog`. properties: aggregation: type: string - description: 'Set aggregation that can be applied to a series of values. - Eg: `MEAN`.' + description: >- + Set aggregation that can be applied to a series of values. Eg: + `MEAN`. enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE granularity: type: integer format: int32 - description: 'If the granularity is set you will get data points with the - specified granularity in seconds. Default: `1000` milliseconds' + description: >- + If the granularity is set you will get data points with the + specified granularity in seconds. Default: `1000` milliseconds + nullable: true metric: type: string description: 'Set a particular metric, eg: `latency`.' minLength: 1 required: - - aggregation - - metric + - aggregation + - metric MetricConfiguration: type: object - description: Details regarding the metric to be configured, including the metric + description: >- + Details regarding the metric to be configured, including the metric name, threshold, and aggregation method properties: metricAggregation: type: string - description: | - Specifies the types of aggregations that can be applied to a series of values. - For example, `P25` refers to the 25th percentile. Note that not all aggregation methods are available for every metric. - For instance, the `Call count` metric supports only the `SUM` aggregation, whereas the `Error rate` metric only supports the `MEAN` aggregation. + description: > + Specifies the types of aggregations that can be applied to a series + of values. + + For example, `P25` refers to the 25th percentile. Note that not all + aggregation methods are available for every metric. + + For instance, the `Call count` metric supports only the `SUM` + aggregation, whereas the `Error rate` metric only supports the + `MEAN` aggregation. enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE + nullable: true metricName: type: string - description: Defines the name of the metric to be monitored. Examples include + description: >- + Defines the name of the metric to be monitored. Examples include `calls` and `latency` minLength: 1 threshold: @@ -36838,25 +39895,58 @@ components: format: double description: Specifies the threshold value for the metric being monitored exclusiveMinimum: true - minimum: 0.0 + minimum: 0 required: - - metricName + - metricName MetricDescription: type: object properties: aggregations: type: array - description: | + description: > The types of aggregations that can be applied to a series of values. - For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics. - For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. + + For example, `P25` is 25th percentile. Note that not all + aggregations are available for metrics. + + For example, `Trace count` has only `SUM` as an aggregation whereas + `Call Count` has two aggregations, `SUM` and `PER_SECOND`. items: type: string - description: | - The types of aggregations that can be applied to a series of values. - For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics. - For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. + description: > + The types of aggregations that can be applied to a series of + values. + + For example, `P25` is 25th percentile. Note that not all + aggregations are available for metrics. + + For example, `Trace count` has only `SUM` as an aggregation + whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. enum: + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE + uniqueItems: true + defaultAggregation: + type: string + description: >- + The preselected aggregation for a metric. For example, for `Call + latency` the default aggregation is `MEAN`. + enum: - SUM - MEAN - MAX @@ -36874,96 +39964,95 @@ components: - SUM_POSITIVE - PER_SECOND - INCREASE - uniqueItems: true - defaultAggregation: - type: string - description: The preselected aggregation for a metric. For example, for - `Call latency` the default aggregation is `MEAN`. - enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE description: type: string - description: A description of the metric. For example, for `Call count` - metric, the description would be something like `Number of received calls` + description: >- + A description of the metric. For example, for `Call count` metric, + the description would be something like `Number of received calls` formatter: type: string - description: | + description: > * `NUMBER`: Generic number + * `BYTES`: Number of bytes + * `KILO_BYTES`: Number of kilobytes + * `MEGA_BYTES`: Number of megabytes + * `PERCENTAGE`: Percentage in scale [0,1] + * `PERCENTAGE_100`: Percentage in scale [0,100] - * `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * `LATENCY`: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * `LATENCY`: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * `NANOS`: Time in nanoseconds + * `MILLIS`: Time in milliseconds + * `MICROS`: Time in microseconds + * `SECONDS`: Time in seconds + * `RATE`: Number of occurrences per second + * `BYTE_RATE`: Number of bytes per second + * `UNDEFINED`: Metric value unit is not known minLength: 1 label: type: string - description: The name of the metric. For example, `Call count`, `Erroneous + description: >- + The name of the metric. For example, `Call count`, `Erroneous calls`, `Service count` etc. minLength: 1 metricId: type: string - description: The unique id of the metric. For example, `calls`, `erroneousCalls`, + description: >- + The unique id of the metric. For example, `calls`, `erroneousCalls`, `latency` etc. minLength: 1 required: - - aggregations - - formatter - - label - - metricId + - aggregations + - formatter + - label + - metricId MetricField: type: object allOf: - - $ref: '#/components/schemas/CustomPayloadField' - - type: object - properties: - aggregation: - type: string - enum: - - SUM - - MEAN - - MIN - - MAX - entityType: - type: string - metricId: - type: string - source: - type: string - enum: - - INFRA - - APPLICATION - timeWindow: - type: object - value: - $ref: '#/components/schemas/MetricFieldValue' + - $ref: '#/components/schemas/CustomPayloadField' + - type: object + properties: + aggregation: + type: string + enum: + - SUM + - MEAN + - MIN + - MAX + - PER_SECOND + entityType: + type: string + metricId: + type: string + source: + type: string + enum: + - INFRA + - APPLICATION + timeWindow: + type: object + value: + $ref: '#/components/schemas/MetricFieldValue' required: - - key + - key MetricFieldValue: type: object description: Configuration for a metric-based custom payload field @@ -36972,10 +40061,11 @@ components: type: string description: The aggregation type to apply to the metric enum: - - SUM - - MEAN - - MIN - - MAX + - SUM + - MEAN + - MIN + - MAX + - PER_SECOND entityType: type: string description: The entity type for the metric query @@ -36986,14 +40076,14 @@ components: type: string description: The source catalog the metric was selected from enum: - - INFRA - - APPLICATION + - INFRA + - APPLICATION timeWindow: type: object description: The time window in milliseconds for metric aggregation required: - - aggregation - - metricId + - aggregation + - metricId MetricInstance: type: object properties: @@ -37004,41 +40094,60 @@ components: minLength: 1 formatter: type: string - description: | + description: > | + * NUMBER: Generic number + * BYTES: Number of bytes + * KILO_BYTES: Number of kilobytes + * MEGA_BYTES: Number of megabytes + * PERCENTAGE: Percentage in scale [0,1] + * PERCENTAGE_100: Percentage in scale [0,100] - * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * LATENCY: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * NANOS: Time in nanoseconds + * MILLIS: Time in milliseconds + * MICROS: Time in microseconds + * SECONDS: Time in seconds + * RATE: Number of occurrences per second + * BYTE_RATE: Number of bytes per second + * UNDEFINED: Metric value unit is not known enum: - - NUMBER - - BYTES - - KILO_BYTES - - MEGA_BYTES - - PERCENTAGE - - PERCENTAGE_100 - - PERCENTAGE_NO_CAPPING - - PERCENTAGE_100_NO_CAPPING - - LATENCY - - NANOS - - MILLIS - - MICROS - - SECONDS - - RATE - - BYTE_RATE - - UNDEFINED + - NUMBER + - BYTES + - KILO_BYTES + - MEGA_BYTES + - PERCENTAGE + - PERCENTAGE_100 + - PERCENTAGE_NO_CAPPING + - PERCENTAGE_100_NO_CAPPING + - LATENCY + - NANOS + - MILLIS + - MICROS + - SECONDS + - RATE + - BYTE_RATE + - UNDEFINED label: type: string minLength: 1 @@ -37049,11 +40158,11 @@ components: type: string minLength: 1 required: - - description - - formatter - - label - - metricId - - pluginId + - description + - formatter + - label + - metricId + - pluginId MetricItem: type: object properties: @@ -37080,7 +40189,8 @@ components: description: Plugin name snapshotId: type: string - description: Id of the exact metric you want to retrieve, eg. "cpu.user", + description: >- + Id of the exact metric you want to retrieve, eg. "cpu.user", "clientrequests.read.mean" tags: type: array @@ -37105,64 +40215,83 @@ components: type: string description: Possible cross series aggregation the metric supports enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE uniqueItems: true description: type: string description: Description of the metric format: type: string - description: | + description: > | + * NUMBER: Generic number + * BYTES: Number of bytes + * KILO_BYTES: Number of kilobytes + * MEGA_BYTES: Number of megabytes + * PERCENTAGE: Percentage in scale [0,1] + * PERCENTAGE_100: Percentage in scale [0,100] - * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * LATENCY: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * NANOS: Time in nanoseconds + * MILLIS: Time in milliseconds + * MICROS: Time in microseconds + * SECONDS: Time in seconds + * RATE: Number of occurrences per second + * BYTE_RATE: Number of bytes per second + * UNDEFINED: Metric value unit is not known enum: - - NUMBER - - BYTES - - KILO_BYTES - - MEGA_BYTES - - PERCENTAGE - - PERCENTAGE_100 - - PERCENTAGE_NO_CAPPING - - PERCENTAGE_100_NO_CAPPING - - LATENCY - - NANOS - - MILLIS - - MICROS - - SECONDS - - RATE - - BYTE_RATE - - UNDEFINED + - NUMBER + - BYTES + - KILO_BYTES + - MEGA_BYTES + - PERCENTAGE + - PERCENTAGE_100 + - PERCENTAGE_NO_CAPPING + - PERCENTAGE_100_NO_CAPPING + - LATENCY + - NANOS + - MILLIS + - MICROS + - SECONDS + - RATE + - BYTE_RATE + - UNDEFINED id: type: string description: Identifier for the metric @@ -37170,44 +40299,44 @@ components: type: string description: Category of the entity enum: - - ACE - - ALICLOUD - - AWS - - AZURE - - CASSANDRA - - CLOUD_FOUNDRY - - CLR - - COCKROACH - - CONSUL - - CONTAINER - - COUCHBASE - - DFQ - - ELASTICSEARCH - - GCP - - HADOOP_YARN - - HAZELCAST - - IBM_CLOUD - - IBM_DATAPOWER - - IBM_I_SERIES - - IBM_MQ - - IBM_MQMFT - - IBM_OPENSTACK - - KAFKA_CONNECT - - KUBERNETES - - MONGO_DB - - MSSQL - - OTHERS - - POSTGRESQL - - REDIS - - SAP - - SELF_MONITORING - - SOLR - - SPARK - - TIBCOBW - - TUXEDO - - VSHPERE - - WEBSPHERE - - CUSTOM_ENTITY + - ACE + - ALICLOUD + - AWS + - AZURE + - CASSANDRA + - CLOUD_FOUNDRY + - CLR + - COCKROACH + - CONSUL + - CONTAINER + - COUCHBASE + - DFQ + - ELASTICSEARCH + - GCP + - HADOOP_YARN + - HAZELCAST + - IBM_CLOUD + - IBM_DATAPOWER + - IBM_I_SERIES + - IBM_MQ + - IBM_MQMFT + - IBM_OPENSTACK + - KAFKA_CONNECT + - KUBERNETES + - MONGO_DB + - MSSQL + - OTHERS + - POSTGRESQL + - REDIS + - SAP + - SELF_MONITORING + - SOLR + - SPARK + - TIBCOBW + - TUXEDO + - VSHPERE + - WEBSPHERE + - CUSTOM_ENTITY label: type: string description: Label for the metric @@ -37221,31 +40350,34 @@ components: type: string description: Metric tags required: - - id - - infraTagCategory - - label - - ownerType + - id + - infraTagCategory + - label + - ownerType MetricPattern: type: object + nullable: true properties: operator: type: string enum: - - is - - contains - - startsWith - - endsWith - - any + - is + - contains + - startsWith + - endsWith + - any placeholder: type: string + nullable: true postfix: type: string + nullable: true prefix: type: string minLength: 1 required: - - operator - - prefix + - operator + - prefix MetricsResult: type: object properties: @@ -37254,7 +40386,7 @@ components: items: $ref: '#/components/schemas/MetricsResultItem' required: - - metricsResult + - metricsResult MetricsResultItem: type: object properties: @@ -37262,56 +40394,65 @@ components: type: object additionalProperties: type: string - description: A map of custom properties composed of the custom property - name and its value. This information will be included if the custom - properties were requested or if the query was grouped and the grouping - included one or more custom properties. - description: A map of custom properties composed of the custom property - name and its value. This information will be included if the custom properties - were requested or if the query was grouped and the grouping included one - or more custom properties. + description: >- + A map of custom properties composed of the custom property name + and its value. This information will be included if the custom + properties were requested or if the query was grouped and the + grouping included one or more custom properties. + description: >- + A map of custom properties composed of the custom property name and + its value. This information will be included if the custom + properties were requested or if the query was grouped and the + grouping included one or more custom properties. metrics: type: array - description: A map of the requested metrics, composed of the metric name - and its value. + description: >- + A map of the requested metrics, composed of the metric name and its + value. items: type: object additionalProperties: type: object - description: A map of the requested metrics, composed of the metric - name and its value. - description: A map of the requested metrics, composed of the metric name - and its value. + description: >- + A map of the requested metrics, composed of the metric name and + its value. + description: >- + A map of the requested metrics, composed of the metric name and + its value. runType: type: string description: Indicates whether the test was scheduled to run or run now + nullable: true tests: type: array - description: A description of the Synthetic test associated with the result - item. This information will be included if the request was grouped by - synthetic.testId or if includeAggregatedTestId was true on the request. + description: >- + A description of the Synthetic test associated with the result + item. This information will be included if the request was grouped + by synthetic.testId or if includeAggregatedTestId was true on the + request. items: $ref: '#/components/schemas/MetricsTestResultItem' required: - - metrics + - metrics MetricsTestResultItem: type: object - description: A description of the Synthetic test associated with the result - item. This information will be included if the request was grouped by synthetic.testId - or if includeAggregatedTestId was true on the request. + description: >- + A description of the Synthetic test associated with the result item. + This information will be included if the request was grouped by + synthetic.testId or if includeAggregatedTestId was true on the request. properties: applicationId: type: string - description: An identifier of an application associated with the Synthetic - test. This field is deprecated and will be replace by the applicationIds + description: >- + An identifier of an application associated with the Synthetic test. + This field is deprecated and will be replace by the applicationIds field. applicationIds: type: array description: A list of the applications associated with the Synthetic test. items: type: string - description: A list of the applications associated with the Synthetic - test. + description: A list of the applications associated with the Synthetic test. locationId: type: array description: A list of the locations associated with the Synthetic test. @@ -37320,11 +40461,13 @@ components: description: A list of the locations associated with the Synthetic test. mobileApplicationIds: type: array - description: A list of the mobile applications associated with the Synthetic + description: >- + A list of the mobile applications associated with the Synthetic test. items: type: string - description: A list of the mobile applications associated with the Synthetic + description: >- + A list of the mobile applications associated with the Synthetic test. serviceId: type: string @@ -37343,10 +40486,13 @@ components: type: string description: A list of the websites associated with the Synthetic test. required: - - testId + - testId MobileApp: type: object properties: + businessCriticality: + type: integer + format: int32 id: type: string maxLength: 128 @@ -37356,24 +40502,25 @@ components: maxLength: 128 minLength: 0 required: - - id - - name + - id + - name MobileAppAlertConfig: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -37385,20 +40532,23 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true completeTagFilterExpression: $ref: '#/components/schemas/TagFilterExpression' customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the mobile app alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the mobile app alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 @@ -37408,35 +40558,40 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string writeOnly: true mobileAppId: type: string - description: ID of the mobile app that this Smart Alert configuration is - applied to. + description: >- + ID of the mobile app that this Smart Alert configuration is applied + to. maxLength: 64 minLength: 0 name: type: string - description: Name of the mobile app alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the mobile app alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -37444,22 +40599,26 @@ components: $ref: '#/components/schemas/MobileAppAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdMobileAppAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -37468,32 +40627,34 @@ components: $ref: '#/components/schemas/MobileAppTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - customPayloadFields - - description - - granularity - - mobileAppId - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - customPayloadFields + - description + - granularity + - mobileAppId + - name + - tagFilterExpression + - timeThreshold MobileAppAlertConfigWithRBACTag: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -37505,6 +40666,7 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true completeTagFilterExpression: $ref: '#/components/schemas/TagFilterExpression' created: @@ -37514,16 +40676,18 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the mobile app alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the mobile app alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 @@ -37533,22 +40697,25 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string description: 'ID of this Mobile App Alert Config. ' @@ -37561,14 +40728,16 @@ components: minimum: 1 mobileAppId: type: string - description: ID of the mobile app that this Smart Alert configuration is - applied to. + description: >- + ID of the mobile app that this Smart Alert configuration is applied + to. maxLength: 64 minLength: 0 name: type: string - description: Name of the mobile app alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the mobile app alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -37580,28 +40749,33 @@ components: uniqueItems: true readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/MobileAppAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdMobileAppAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -37610,17 +40784,18 @@ components: $ref: '#/components/schemas/MobileAppTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - customPayloadFields - - description - - granularity - - id - - mobileAppId - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - customPayloadFields + - description + - granularity + - id + - mobileAppId + - name + - tagFilterExpression + - timeThreshold MobileAppAlertRule: type: object discriminator: @@ -37635,36 +40810,39 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE alertType: type: string metricName: type: string minLength: 1 required: - - alertType - - metricName + - alertType + - metricName MobileAppBeaconGroupsItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: cursor: $ref: '#/components/schemas/IngestionOffsetCursor' @@ -37684,9 +40862,9 @@ components: type: string minLength: 1 required: - - cursor - - metrics - - name + - cursor + - metrics + - name MobileAppBeaconGroupsResult: type: object properties: @@ -37694,13 +40872,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/MobileAppBeaconGroupsItem' totalHits: @@ -37711,17 +40893,20 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items + - items MobileAppBeaconResult: type: object properties: @@ -37729,13 +40914,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/MobileAppBeaconsItem' totalHits: @@ -37746,17 +40935,20 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items + - items MobileAppBeaconTagGroup: type: object properties: @@ -37767,30 +40959,44 @@ components: minLength: 0 groupbyTagEntity: type: string - description: | + description: > The entity by which the data should be grouped. - This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`. + + This field supports three possible values: `NOT_APPLICABLE`, + `DESTINATION`, and `SOURCE`. + `SOURCE`: the tag filter should apply to the source entity. - `DESTINATION`: the tag filter should apply to the destination entity. - `NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call). + + `DESTINATION`: the tag filter should apply to the destination + entity. + + `NOT_APPLICABLE`: some tags are independent of source or + destination, such as tags on the call itself, log tags or trace tags + (only destination makes sense because the source is unknown for the + root call). enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE + - NOT_APPLICABLE + - DESTINATION + - SOURCE groupbyTagSecondLevelKey: type: string - description: If present, it's the 2nd level key part (e.g. `customKey` on + description: >- + If present, it's the 2nd level key part (e.g. `customKey` on `docker.label.customKey`) maxLength: 256 minLength: 0 + nullable: true required: - - groupbyTag - - groupbyTagEntity + - groupbyTag + - groupbyTagEntity MobileAppBeaconsItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: beacon: $ref: '#/components/schemas/MobileAppMonitoringBeacon' @@ -37799,17 +41005,17 @@ components: impactedBeaconInfo: $ref: '#/components/schemas/ImpactedBeaconInfo' required: - - beacon - - cursor + - beacon + - cursor MobileAppEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - mobileAppId: - type: string - description: ID of the mobile app. + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + mobileAppId: + type: string + description: ID of the mobile app. MobileAppMetricResult: type: object additionalProperties: @@ -37836,10 +41042,12 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true appVersion: type: string maxLength: 128 minLength: 0 + nullable: true appVersionNumber: type: integer format: int64 @@ -37852,6 +41060,7 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true batchSize: type: integer format: int64 @@ -37864,6 +41073,7 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true bytesIngested: type: integer format: int64 @@ -37871,10 +41081,12 @@ components: type: string maxLength: 256 minLength: 0 + nullable: true city: type: string maxLength: 256 minLength: 0 + nullable: true clockSkew: type: integer format: int64 @@ -37887,30 +41099,37 @@ components: type: string maxLength: 16 minLength: 0 + nullable: true continent: type: string maxLength: 256 minLength: 0 + nullable: true continentCode: type: string maxLength: 64 minLength: 0 + nullable: true country: type: string maxLength: 256 minLength: 0 + nullable: true countryCode: type: string maxLength: 64 minLength: 0 + nullable: true currentAppState: type: string maxLength: 24 minLength: 0 + nullable: true customEventName: type: string maxLength: 256 minLength: 0 + nullable: true customMetric: type: number format: double @@ -37922,18 +41141,22 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true deviceManufacturer: type: string maxLength: 128 minLength: 0 + nullable: true deviceModel: type: string maxLength: 128 minLength: 0 + nullable: true dropView: type: string maxLength: 256 minLength: 0 + nullable: true duration: type: integer format: int64 @@ -37942,6 +41165,7 @@ components: type: string maxLength: 16 minLength: 0 + nullable: true encodedBodySize: type: integer format: int64 @@ -37958,14 +41182,17 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true errorMessage: type: string maxLength: 16384 minLength: 0 + nullable: true errorType: type: string maxLength: 1024 minLength: 0 + nullable: true googlePlayServicesMissing: type: boolean hotStartTimeMs: @@ -37976,18 +41203,22 @@ components: type: object additionalProperties: type: string + nullable: true httpCallMethod: type: string maxLength: 16 minLength: 0 + nullable: true httpCallOrigin: type: string maxLength: 1024 minLength: 0 + nullable: true httpCallPath: type: string maxLength: 4096 minLength: 0 + nullable: true httpCallStatus: type: integer format: int32 @@ -37997,6 +41228,7 @@ components: type: string maxLength: 4096 minLength: 0 + nullable: true ingestionTime: type: integer format: int64 @@ -38005,6 +41237,7 @@ components: type: object additionalProperties: type: string + nullable: true label: type: string latitude: @@ -38021,6 +41254,7 @@ components: type: object additionalProperties: type: string + nullable: true mobileAppId: type: string maxLength: 64 @@ -38029,20 +41263,24 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true osName: type: string maxLength: 128 minLength: 0 + nullable: true osVersion: type: string maxLength: 128 minLength: 0 + nullable: true parentBeaconId: type: string parsedStackTrace: type: string maxLength: 16384 minLength: 0 + nullable: true performanceSubtype: type: string maxLength: 24 @@ -38051,6 +41289,7 @@ components: type: string maxLength: 32 minLength: 0 + nullable: true rateLimitBeaconType: type: string maxLength: 128 @@ -38064,6 +41303,7 @@ components: items: type: number format: float + nullable: true rateLimitTimeMax: type: integer format: int64 @@ -38085,24 +41325,29 @@ components: sessionReplayStatus: type: integer format: int64 + nullable: true stackTrace: type: string maxLength: 16384 minLength: 0 + nullable: true stackTraceKeyChecksum: type: string maxLength: 128 minLength: 0 + nullable: true stackTraceKeyInformation: type: string maxLength: 1024 minLength: 0 + nullable: true stackTraceLine: type: array items: $ref: '#/components/schemas/StackTraceLine' maxItems: 128 minItems: 0 + nullable: true stackTraceParsingStatus: type: integer format: int32 @@ -38111,10 +41356,12 @@ components: type: string maxLength: 256 minLength: 0 + nullable: true subdivisionCode: type: string maxLength: 64 minLength: 0 + nullable: true tenant: type: string maxLength: 256 @@ -38141,6 +41388,7 @@ components: type: string maxItems: 15 minItems: 0 + nullable: true usedMb: type: integer format: int64 @@ -38149,32 +41397,39 @@ components: type: string maxLength: 128 minLength: 0 + nullable: true userId: type: string maxLength: 128 minLength: 0 + nullable: true userIp: type: string maxLength: 45 minLength: 0 + nullable: true userLanguages: type: array items: type: string maxItems: 5 minItems: 0 + nullable: true userName: type: string maxLength: 128 minLength: 0 + nullable: true userSessionId: type: string maxLength: 128 minLength: 0 + nullable: true view: type: string maxLength: 256 minLength: 0 + nullable: true viewportHeight: type: integer format: int32 @@ -38188,27 +41443,67 @@ components: format: int64 minimum: -1 required: - - beaconId - - mobileAppId - - performanceSubtype - - rateLimitBeaconType - - type + - beaconId + - mobileAppId + - performanceSubtype + - rateLimitBeaconType + - type MobileAppMonitoringMetricDescription: type: object properties: aggregations: type: array - description: | + description: > The types of aggregations that can be applied to a series of values. - For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics. - For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. + + For example, `P25` is 25th percentile. Note that not all + aggregations are available for metrics. + + For example, `Trace count` has only `SUM` as an aggregation whereas + `Call Count` has two aggregations, `SUM` and `PER_SECOND`. items: type: string - description: | - The types of aggregations that can be applied to a series of values. - For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics. - For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. + description: > + The types of aggregations that can be applied to a series of + values. + + For example, `P25` is 25th percentile. Note that not all + aggregations are available for metrics. + + For example, `Trace count` has only `SUM` as an aggregation + whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. enum: + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE + uniqueItems: true + beaconTypes: + type: array + items: + type: string + minLength: 1 + minItems: 1 + uniqueItems: true + defaultAggregation: + type: string + description: >- + The preselected aggregation for a metric. For example, for `Call + latency` the default aggregation is `MEAN`. + enum: - SUM - MEAN - MAX @@ -38226,68 +41521,59 @@ components: - SUM_POSITIVE - PER_SECOND - INCREASE - uniqueItems: true - beaconTypes: - type: array - items: - type: string - minLength: 1 - minItems: 1 - uniqueItems: true - defaultAggregation: - type: string - description: The preselected aggregation for a metric. For example, for - `Call latency` the default aggregation is `MEAN`. - enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE description: type: string - description: A description of the metric. For example, for `Call count` - metric, the description would be something like `Number of received calls` + description: >- + A description of the metric. For example, for `Call count` metric, + the description would be something like `Number of received calls` formatter: type: string - description: | + description: > * `NUMBER`: Generic number + * `BYTES`: Number of bytes + * `KILO_BYTES`: Number of kilobytes + * `MEGA_BYTES`: Number of megabytes + * `PERCENTAGE`: Percentage in scale [0,1] + * `PERCENTAGE_100`: Percentage in scale [0,100] - * `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * `LATENCY`: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * `LATENCY`: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * `NANOS`: Time in nanoseconds + * `MILLIS`: Time in milliseconds + * `MICROS`: Time in microseconds + * `SECONDS`: Time in seconds + * `RATE`: Number of occurrences per second + * `BYTE_RATE`: Number of bytes per second + * `UNDEFINED`: Metric value unit is not known minLength: 1 label: type: string - description: The name of the metric. For example, `Call count`, `Erroneous + description: >- + The name of the metric. For example, `Call count`, `Erroneous calls`, `Service count` etc. minLength: 1 metricId: type: string - description: The unique id of the metric. For example, `calls`, `erroneousCalls`, + description: >- + The unique id of the metric. For example, `calls`, `erroneousCalls`, `latency` etc. minLength: 1 pathToValueInBeacon: @@ -38296,49 +41582,55 @@ components: type: string maxItems: 2147483647 minItems: 1 + nullable: true secondaryBeaconTypes: type: array items: type: string + nullable: true uniqueItems: true tagName: type: string + nullable: true required: - - aggregations - - beaconTypes - - formatter - - label - - metricId + - aggregations + - beaconTypes + - formatter + - label + - metricId MobileAppMonitoringMetricsConfiguration: type: object properties: aggregation: type: string - description: 'Set aggregation that can be applied to a series of values. - Eg: `MEAN`.' + description: >- + Set aggregation that can be applied to a series of values. Eg: + `MEAN`. enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE granularity: type: integer format: int32 - description: 'If the granularity is set you will get data points with the - specified granularity in seconds. Default: `1000` milliseconds' + description: >- + If the granularity is set you will get data points with the + specified granularity in seconds. Default: `1000` milliseconds + nullable: true metric: type: string description: 'Set a particular metric, eg: `latency`.' @@ -38346,14 +41638,15 @@ components: numeratorTagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' required: - - aggregation - - metric + - aggregation + - metric MobileAppSloMetricCatalog: type: object MobileAppTimeThreshold: type: object - description: The type of threshold to define the criteria when the event and - alert triggers and resolves. + description: >- + The type of threshold to define the criteria when the event and alert + triggers and resolves. discriminator: mapping: userImpactOfViolationsInSequence: '#/components/schemas/UserImpactMobileAppTimeThreshold' @@ -38367,7 +41660,21 @@ components: type: type: string required: - - type + - type + MobileSloEntity: + type: object + allOf: + - $ref: '#/components/schemas/SloEntity' + - type: object + properties: + mobileIds: + type: array + description: The ID(s) of the Mobile Apps + items: + type: string + description: The ID(s) of the Mobile Apps + nullable: true + uniqueItems: true MonitoredEntitiesStats: type: object description: Statistics of monitored entities. @@ -38409,8 +41716,8 @@ components: format: int32 description: Count of serverless required: - - hasEntities - - monitoredEntitiesStats + - hasEntities + - monitoredEntitiesStats MultipleScriptsConfiguration: type: object properties: @@ -38421,25 +41728,27 @@ components: NS1Integration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - headers: - type: array - items: - type: string - minLength: 1 - webhookUrls: - type: array - items: + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + feedLabel: type: string - minLength: 1 - minItems: 1 + headers: + type: array + items: + type: string + minLength: 1 + webhookUrls: + type: array + items: + type: string + minLength: 1 + minItems: 1 required: - - id - - kind - - name - - webhookUrls + - id + - kind + - name + - webhookUrls NewApplicationConfig: type: object properties: @@ -38453,18 +41762,40 @@ components: minItems: 1 boundaryScope: type: string - description: | - **INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective. + description: > + **INBOUND**: Inbound calls are calls initiated from outside the + application and where the destination service is part of the + selected application perspective. - **ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective. - **DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`. - At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`. - It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`. + **ALL**: Results and metrics for not only calls at the application + perspective boundary, but also those occurring within the + application perspective. + + + **DEFAULT**: Default value, for Application Perspectives created + before the introduction of `ALL` and `INBOUND`. + + At present, whenever new Application Perspectives are created, there + are only 2 options to select: `ALL` or `INBOUND`. + + It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is + deprecated. `DEFAULT` is treated as `INBOUND`. + enum: + - ALL + - INBOUND + - DEFAULT + businessCriticality: + type: string + description: Business criticality level of the application enum: - - ALL - - INBOUND - - DEFAULT + - NOT_DEFINED + - LOWEST + - LOW + - MEDIUM + - HIGH + - HIGHEST + nullable: true label: type: string description: 'Name of the Application Perspective. Eg: `app1`.' @@ -38474,28 +41805,44 @@ components: $ref: '#/components/schemas/MatchExpressionDTO' scope: type: string - description: | - **INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set). + description: > + **INCLUDE_NO_DOWNSTREAM** : Only the selected services from the + filters are included (call this the core set). + This is useful when you treat the services as opaque. + An example would be the services that represent 3rd party APIs. - **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with. - This is useful if you are want to monitor a set of services and their direct dependencies. - For example, a development team responsible for several micro-services. - **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services. + **INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include + the core set of services from the filters and then expand this core + set to include the database and messaging services that the core set + directly interacts with. + + This is useful if you are want to monitor a set of services and + their direct dependencies. + + For example, a development team responsible for several + micro-services. + + + **INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically + includes all the services that form the entire end-to-end dependency + chain of the core set of services. + This is useful if the AP will be used for troubleshooting. enum: - - INCLUDE_NO_DOWNSTREAM - - INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING - - INCLUDE_ALL_DOWNSTREAM + - INCLUDE_NO_DOWNSTREAM + - INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING + - INCLUDE_ALL_DOWNSTREAM tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' required: - - accessRules - - boundaryScope - - label - - scope + - accessRules + - boundaryScope + - businessCriticality + - label + - scope NewBusinessPerspectiveConfig: type: object properties: @@ -38515,21 +41862,61 @@ components: description: type: string description: A description of the manual service configuration. + nullable: true enabled: type: boolean - description: Enable or disable the manual service configuration. By default - it is enabled. + description: >- + Enable or disable the manual service configuration. By default it is + enabled. existingServiceId: type: string - description: The service ID of the existing monitored service to which the - calls should be linked. + description: >- + The service ID of the existing monitored service to which the calls + should be linked. + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' unmonitoredServiceName: type: string description: A service name if you want to map calls to an unmonitored service. + nullable: true required: - - tagFilterExpression + - tagFilterExpression + Notification: + type: object + description: >- + Optional notifications configuration for action execution events. Each + notification specifies a condition (started, fail, success) and + associated alert channels. + properties: + alertChannelIds: + type: array + description: >- + List of alert channel identifiers to send notifications to for this + condition. + items: + type: string + description: >- + List of alert channel identifiers to send notifications to for + this condition. + minItems: 1 + condition: + type: string + description: >- + Notification condition. Determines when the notification is sent. + Each notification object represents a single condition with its + associated alert channels. + enum: + - STATUS_UNKNOWN + - SUBMITTED + - IN_PROGRESS + - SUCCESS + - FAILED + - READY + - TIMEOUT + required: + - alertChannelIds + - condition OAuthConfig: type: object properties: @@ -38546,8 +41933,8 @@ components: grantType: type: string enum: - - CLIENT_CREDENTIALS - - PASSWORD + - CLIENT_CREDENTIALS + - PASSWORD password: type: string writeOnly: true @@ -38558,9 +41945,9 @@ components: type: string writeOnly: true required: - - clientId - - clientSecret - - tokenUrl + - clientId + - clientSecret + - tokenUrl OAuthIntegration: type: object properties: @@ -38584,8 +41971,8 @@ components: status: type: string enum: - - VALID - - INVALID + - VALID + - INVALID tokenType: type: string valid: @@ -38605,88 +41992,94 @@ components: Office365Integration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - webhookUrl: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + webhookUrl: + type: string + minLength: 1 required: - - id - - kind - - name - - webhookUrl + - id + - kind + - name + - webhookUrl OneTimeMaintenanceWindow: type: object allOf: - - $ref: '#/components/schemas/MaintenanceConfigScheduling' + - $ref: '#/components/schemas/MaintenanceConfigScheduling' required: - - duration - - start - - type + - duration + - start + - type OpsgenieIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - alias: - type: string - apiKey: - type: string - minLength: 1 - region: - type: string - enum: - - US - - EU - tags: - type: string + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + alias: + type: string + nullable: true + apiKey: + type: string + minLength: 1 + region: + type: string + enum: + - US + - EU + tags: + type: string + nullable: true required: - - apiKey - - id - - kind - - name - - region + - apiKey + - id + - kind + - name + - region Order: type: object - description: | + description: > Specifies the ordering of the results. - It contains fields that define the sorting criteria, the collation for sorting, and the direction in which the results should be ordered. + + It contains fields that define the sorting criteria, the collation for + sorting, and the direction in which the results should be ordered. properties: by: type: string - description: If the granularity is set to `1` you can use the metric name - eg. `latency.p95` to order by that value. + description: >- + If the granularity is set to `1` you can use the metric name eg. + `latency.p95` to order by that value. minLength: 1 collation: type: string - description: Language code used for sorting. Ignored for infrastructure - queries. + description: Language code used for sorting. Ignored for infrastructure queries. + nullable: true direction: type: string - description: The order in which results will be sorted, either `ASC` for + description: >- + The order in which results will be sorted, either `ASC` for ascending or `DESC` for descending. enum: - - ASC - - DESC + - ASC + - DESC required: - - by - - direction + - by + - direction PagerdutyIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - serviceIntegrationKey: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + serviceIntegrationKey: + type: string + minLength: 1 required: - - id - - kind - - name - - serviceIntegrationKey + - id + - kind + - name + - serviceIntegrationKey PaginatedResult: type: object properties: @@ -38708,22 +42101,24 @@ components: format: int64 minimum: 0 required: - - items + - items Pagination: type: object properties: page: type: integer format: int32 - description: Page number for a specific page in the results. For example, - if you'd like to retrieve the 5th page out of 10 pages, the value would + description: >- + Page number for a specific page in the results. For example, if + you'd like to retrieve the 5th page out of 10 pages, the value would be 5. minimum: 1 pageSize: type: integer format: int32 - description: 'Set the number of items you want to return with one query. - Eg: if you want to retrieve 10 items, the value would be 10.' + description: >- + Set the number of items you want to return with one query. Eg: if + you want to retrieve 10 items, the value would be 10. maximum: 200 minimum: 1 Parameter: @@ -38736,6 +42131,7 @@ components: hidden: type: boolean description: Is parameter hidden or not. + nullable: true label: type: string description: Parameter label. @@ -38747,21 +42143,24 @@ components: required: type: boolean description: Is parameter required or not. + nullable: true secured: type: boolean description: Is parameter secured or not. + nullable: true type: type: string - description: Parameter type. Valid values are `static`, `dynamic`, or `vault`. + description: >- + Parameter type. Valid values are `static`, `dynamic`, or `vault`. Default value is `static` minLength: 1 value: type: string description: Parameter value. required: - - label - - name - - type + - label + - name + - type ParameterValue: type: object description: List of action input parameters. @@ -38774,32 +42173,41 @@ components: type: string description: Parameter value. required: - - name - - value + - name + - value PathParameterHttpPathSegmentMatchingRule: type: object allOf: - - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' - - type: object - properties: - name: - type: string - description: | - Given `/api/{version}/users` URI, `PARAMETER` name is `version`. - minLength: 1 + - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' + - type: object + properties: + name: + type: string + description: | + Given `/api/{version}/users` URI, `PARAMETER` name is `version`. + minLength: 1 required: - - name - - type + - name + - type PhysicalContext: type: object - description: | - The physical context of an entity. This is typically used to describe where a host, container or process fits into the infrastructure. + description: > + The physical context of an entity. This is typically used to describe + where a host, container or process fits into the infrastructure. + 1. `cloudfoundry`: Contains physical context of Cloudfoundry. - 2. `cluster`: Contains physical context of cluster like Hazelcast, Elasticsearch. + + 2. `cluster`: Contains physical context of cluster like Hazelcast, + Elasticsearch. + 3. `container`: Contains physical context of container. + 4. `host`: Contains physical context of host. + 5. `kubernetes`: Contains physical context of Kubernetes. + 6. `process`: Contains physical context of a process. + nullable: true properties: cloudfoundry: $ref: '#/components/schemas/CloudfoundryPhysicalContext' @@ -38852,20 +42260,22 @@ components: $ref: '#/components/schemas/Trigger' typeConfigurations: type: array - description: List of configurations that contains the list of actions to - run and the mode (automatic or manual) in which the policy is run. + description: >- + List of configurations that contains the list of actions to run and + the mode (automatic or manual) in which the policy is run. items: $ref: '#/components/schemas/TypeConfiguration' minItems: 1 required: - - id - - name - - trigger - - typeConfigurations + - id + - name + - trigger + - typeConfigurations PolicyRunnable: type: object - description: Runnable associated with the policy. It can be a `workflow` or - `action`. Currently only supports `action`. + description: >- + Runnable associated with the policy. It can be a `workflow` or `action`. + Currently only supports `action`. properties: id: type: string @@ -38877,26 +42287,29 @@ components: type: string description: Type of runnable. Supported value is `action`. enum: - - action - - workflow + - action + - workflow required: - - id - - runConfiguration - - type + - id + - runConfiguration + - type PolicyScheduling: type: object description: Scheduling information for a scheduled policy. properties: recurrentRule: type: string - description: 'Recurrent Rule defines how the policy recurs, using iCalendar - RRULE format (e.g., `FREQ=DAILY;INTERVAL=1`).It supports fields like FREQ, - INTERVAL, BYDAY. Refer to RFC 5545: https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10' + description: >- + Recurrent Rule defines how the policy recurs, using iCalendar RRULE + format (e.g., `FREQ=DAILY;INTERVAL=1`).It supports fields like FREQ, + INTERVAL, BYDAY. Refer to RFC 5545: + https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 startTime: type: string format: date-time - description: The time to run the policy action in milliseconds since epoch - (UTC) (e.g., `1706713140000`). + description: >- + The time to run the policy action in milliseconds since epoch (UTC) + (e.g., `1706713140000`). PostSnapshotsResult: type: object properties: @@ -38905,12 +42318,14 @@ components: description: Detail information for requested snapshots. items: $ref: '#/components/schemas/SnapshotItem' + nullable: true notFoundSnapshotsIds: type: array description: Snapshot ids for snapshots that could not be retrieved. items: type: string description: Snapshot ids for snapshots that could not be retrieved. + nullable: true PrefixObject: type: object description: Shortcode prefix configuration @@ -38921,8 +42336,7 @@ components: example: true prefix: type: string - description: The prefix to use for event short codes (e.g., 'INSTANA-', - 'PROD-') + description: The prefix to use for event short codes (e.g., 'INSTANA-', 'PROD-') example: INSTANA- Problem: type: object @@ -38943,50 +42357,131 @@ components: type: integer format: int32 required: - - id + - id PrometheusWebhookIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - receiver: + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + receiver: + type: string + nullable: true + webhookUrl: + type: string + minLength: 1 + required: + - id + - kind + - name + - webhookUrl + RbacRestrictions: + type: object + properties: + actionFilters: + type: array + items: + type: string + uniqueItems: true + alertingChannels: + type: array + items: type: string - webhookUrl: + uniqueItems: true + apdexIds: + type: array + items: type: string - minLength: 1 - required: - - id - - kind - - name - - webhookUrl + uniqueItems: true + applications: + type: array + items: + type: string + uniqueItems: true + businessPerspectives: + type: array + items: + type: string + uniqueItems: true + infraDfqFilter: + type: array + items: + type: string + uniqueItems: true + kubernetesClusters: + type: array + items: + type: string + uniqueItems: true + kubernetesNamespaces: + type: array + items: + type: string + uniqueItems: true + logFilters: + type: array + items: + type: string + uniqueItems: true + loggingPerspectives: + type: array + items: + type: string + uniqueItems: true + mobileApps: + type: array + items: + type: string + uniqueItems: true + serviceLevels: + type: array + items: + type: string + uniqueItems: true + syntheticCredentials: + type: array + items: + type: string + uniqueItems: true + syntheticTests: + type: array + items: + type: string + uniqueItems: true + websites: + type: array + items: + type: string + uniqueItems: true RecurrentMaintenanceWindow: type: object allOf: - - $ref: '#/components/schemas/MaintenanceConfigScheduling' - - type: object - properties: - rrule: - type: string - minLength: 1 - timezoneId: - type: string + - $ref: '#/components/schemas/MaintenanceConfigScheduling' + - type: object + properties: + rrule: + type: string + minLength: 1 + timezoneId: + type: string required: - - duration - - rrule - - start - - type + - duration + - rrule + - start + - type Release: type: object properties: applications: type: array - description: The list of application perspectives where the release can - be viewed. + description: >- + The list of application perspectives where the release can be + viewed. items: $ref: '#/components/schemas/ApplicationScope' maxItems: 10 minItems: 0 + nullable: true name: type: string description: 'The name of the release. For example: `frontend/release-2000`.' @@ -38999,16 +42494,18 @@ components: $ref: '#/components/schemas/ServiceScope' maxItems: 10 minItems: 0 + nullable: true start: type: integer format: int64 - description: 'The timestamp for when the release is created. The time measured - is in milliseconds. For example: `1742349976000` is `Wednesday, 19 March - 2025 02:06:16 GMT`.' + description: >- + The timestamp for when the release is created. The time measured is + in milliseconds. For example: `1742349976000` is `Wednesday, 19 + March 2025 02:06:16 GMT`. minimum: 1 required: - - name - - start + - name + - start ReleaseScope: type: object properties: @@ -39025,12 +42522,14 @@ components: properties: applications: type: array - description: The list of application perspectives where the release can - be viewed. + description: >- + The list of application perspectives where the release can be + viewed. items: $ref: '#/components/schemas/ApplicationScopeWithMetadata' maxItems: 10 minItems: 0 + nullable: true id: type: string description: 'A unique id for a release. For example: `l1wgr3DsQkGLf8u18JiGsg`.' @@ -39039,9 +42538,10 @@ components: lastUpdated: type: integer format: int64 - description: 'The timestamp for when the same release is updated. The time - measured is in milliseconds. For example: `1742369990000` is `Wednesday, - 19 March 2025 07:39:50 GMT`.' + description: >- + The timestamp for when the same release is updated. The time + measured is in milliseconds. For example: `1742369990000` is + `Wednesday, 19 March 2025 07:39:50 GMT`. minimum: 1 name: type: string @@ -39060,16 +42560,18 @@ components: $ref: '#/components/schemas/ServiceScopeWithMetadata' maxItems: 10 minItems: 0 + nullable: true start: type: integer format: int64 - description: 'The timestamp for when the release is created. The time measured - is in milliseconds. For example: `1742349976000` is `Wednesday, 19 March - 2025 02:06:16 GMT`.' + description: >- + The timestamp for when the release is created. The time measured is + in milliseconds. For example: `1742349976000` is `Wednesday, 19 + March 2025 02:06:16 GMT`. minimum: 1 required: - - id - - name + - id + - name RetentionPeriod: type: object properties: @@ -39080,13 +42582,14 @@ components: type: array items: $ref: '#/components/schemas/LogVolumeGroup' + nullable: true retentionDays: type: integer format: int32 maximum: 90 minimum: 7 required: - - logVolume + - logVolume RoleMappingOverview: type: object properties: @@ -39100,23 +42603,25 @@ components: type: string team: type: string + nullable: true teamId: type: string + nullable: true value: type: string required: - - id - - key - - role - - roleId - - value + - id + - key + - role + - roleId + - value RollingTimeWindow: type: object allOf: - - $ref: '#/components/schemas/TimeWindow' + - $ref: '#/components/schemas/TimeWindow' required: - - duration - - durationUnit + - duration + - durationUnit RuleInput: type: object description: List of input rules of the Built-in Event Specification @@ -39124,11 +42629,11 @@ components: inputKind: type: string enum: - - METRIC - - SNAPSHOT_FIELD - - EVENT - - DERIVED_METRIC - - METRIC_PATTERN + - METRIC + - SNAPSHOT_FIELD + - EVENT + - DERIVED_METRIC + - METRIC_PATTERN inputName: type: string maxLength: 256 @@ -39136,124 +42641,145 @@ components: metricRollup: type: integer format: int32 + nullable: true required: - - inputKind - - inputName + - inputKind + - inputName RuleWithThresholdApplicationAlertRule: type: object - description: A list of rules where each rule is associated with multiple thresholds - and their corresponding severity levels. This enables more complex alert configurations - with validations to ensure consistent and logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple thresholds + and their corresponding severity levels. This enables more complex alert + configurations with validations to ensure consistent and logical + threshold-severity combinations. properties: rule: $ref: '#/components/schemas/ApplicationAlertRule' thresholdOperator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN thresholds: type: object additionalProperties: $ref: '#/components/schemas/ThresholdConfigRule' required: - - rule - - thresholdOperator - - thresholds + - rule + - thresholdOperator + - thresholds RuleWithThresholdInfraAlertRule: type: object - description: A list of rules where each rule is associated with multiple thresholds - and their corresponding severity levels. This enables more complex alert configurations - with validations to ensure consistent and logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple thresholds + and their corresponding severity levels. This enables more complex alert + configurations with validations to ensure consistent and logical + threshold-severity combinations. properties: rule: $ref: '#/components/schemas/InfraAlertRule' thresholdOperator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN thresholds: type: object additionalProperties: $ref: '#/components/schemas/ThresholdConfigRule' required: - - rule - - thresholdOperator - - thresholds + - rule + - thresholdOperator + - thresholds RuleWithThresholdLogAlertRule: type: object - description: A list of rules where each rule is associated with multiple thresholds - and their corresponding severity levels. This enables more complex alert configurations - with validations to ensure consistent and logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple thresholds + and their corresponding severity levels. This enables more complex alert + configurations with validations to ensure consistent and logical + threshold-severity combinations. properties: rule: $ref: '#/components/schemas/LogAlertRule' thresholdOperator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN thresholds: type: object additionalProperties: $ref: '#/components/schemas/ThresholdConfigRule' required: - - rule - - thresholdOperator - - thresholds + - rule + - thresholdOperator + - thresholds RuleWithThresholdMobileAppAlertRule: type: object - description: A list of rules where each rule is associated with multiple thresholds - and their corresponding severity levels. This enables more complex alert configurations - with validations to ensure consistent and logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple thresholds + and their corresponding severity levels. This enables more complex alert + configurations with validations to ensure consistent and logical + threshold-severity combinations. properties: rule: $ref: '#/components/schemas/MobileAppAlertRule' thresholdOperator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN thresholds: type: object additionalProperties: $ref: '#/components/schemas/ThresholdConfigRule' required: - - rule - - thresholdOperator - - thresholds + - rule + - thresholdOperator + - thresholds RuleWithThresholdWebsiteAlertRule: type: object - description: A list of rules where each rule is associated with multiple thresholds - and their corresponding severity levels. This enables more complex alert configurations - with validations to ensure consistent and logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple thresholds + and their corresponding severity levels. This enables more complex alert + configurations with validations to ensure consistent and logical + threshold-severity combinations. properties: rule: $ref: '#/components/schemas/WebsiteAlertRule' thresholdOperator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN thresholds: type: object additionalProperties: $ref: '#/components/schemas/ThresholdConfigRule' required: - - rule - - thresholdOperator - - thresholds + - rule + - thresholdOperator + - thresholds RunConfiguration: type: object description: Action run configuration. @@ -39265,7 +42791,20 @@ components: $ref: '#/components/schemas/ActionConfiguration' minItems: 1 required: - - actions + - actions + RunEvaluationResponse: + type: object + description: Response from running an evaluation + properties: + gateway_name: + type: string + description: The LLM gateway name that will be used for evaluation + message: + type: string + description: Status message + success: + type: boolean + description: Whether the evaluation run was initiated successfully SLOConfigWithRBACTag: type: object properties: @@ -39299,71 +42838,74 @@ components: description: List of tags associated with Service Levels Objective Configuration items: type: string - description: List of tags associated with Service Levels Objective Configuration + description: >- + List of tags associated with Service Levels Objective + Configuration target: type: number format: double description: Service Levels Objective Configuration Target exclusiveMaximum: false - exclusiveMinimum: true - maximum: 0.9999 - minimum: 0.0 - timeWindow: - $ref: '#/components/schemas/TimeWindow' - required: - - entity - - indicator - - name - - tags - - target - - timeWindow - SSLCertificateConfiguration: - type: object - allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - acceptSelfSignedCertificate: - type: boolean - daysRemainingCheck: - type: integer - format: int32 - maximum: 365 - minimum: 1 - hostname: - type: string - maxLength: 2047 - minLength: 0 - port: - type: integer - format: int32 - validationRules: - type: array - items: - $ref: '#/components/schemas/SSLCertificateValidation' + exclusiveMinimum: true + maximum: 0.9999 + minimum: 0 + timeWindow: + $ref: '#/components/schemas/TimeWindow' + required: + - entity + - indicator + - name + - tags + - target + - timeWindow + SSLCertificateConfiguration: + type: object + allOf: + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + acceptSelfSignedCertificate: + type: boolean + daysRemainingCheck: + type: integer + format: int32 + maximum: 365 + minimum: 1 + hostname: + type: string + maxLength: 2047 + minLength: 0 + port: + type: integer + format: int32 + validationRules: + type: array + items: + $ref: '#/components/schemas/SSLCertificateValidation' required: - - daysRemainingCheck - - hostname - - markSyntheticCall - - syntheticType + - daysRemainingCheck + - hostname + - markSyntheticCall + - syntheticType SSLCertificateConfigurationUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - acceptSelfSignedCertificate: - type: boolean - daysRemainingCheck: - type: integer - format: int32 - hostname: - type: string - port: - type: integer - format: int32 - validationRules: - $ref: '#/components/schemas/SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation' + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + acceptSelfSignedCertificate: + type: boolean + daysRemainingCheck: + type: integer + format: int32 + hostname: + type: string + port: + type: integer + format: int32 + validationRules: + $ref: >- + #/components/schemas/SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation SSLCertificateValidation: type: object properties: @@ -39372,63 +42914,96 @@ components: operator: type: string enum: - - CONTAINS - - EQUALS - - GREATER_THAN - - GREATER_THAN_OR_EQUALS - - IS - - LESS_THAN - - LESS_THAN_OR_EQUALS - - MATCHES - - NOT_MATCHES + - CONTAINS + - EQUALS + - GREATER_THAN + - GREATER_THAN_OR_EQUALS + - IS + - LESS_THAN + - LESS_THAN_OR_EQUALS + - MATCHES + - NOT_MATCHES value: type: object required: - - key - - operator - - value + - key + - operator + - value SalesforceIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - bearerToken: - type: string - clientId: - type: string - minLength: 1 - clientSecret: - type: string - minLength: 1 - salesforceUrl: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + bearerToken: + type: string + nullable: true + clientId: + type: string + minLength: 1 + nullable: true + clientSecret: + type: string + minLength: 1 + nullable: true + salesforceUrl: + type: string + minLength: 1 required: - - clientId - - clientSecret - - id - - kind - - name - - salesforceUrl + - clientId + - clientSecret + - id + - kind + - name + - salesforceUrl + SamplingMetadata: + type: object + description: Metadata about sampling applied to infrastructure metrics query + nullable: true + properties: + groupsSampled: + type: integer + format: int64 + description: Number of unique groups that were sampled + groupsSkipped: + type: integer + format: int64 + description: Number of unique groups that were not sampled + samplingApplied: + type: boolean + description: >- + Whether sampling was actually applied (true if any groups were + sampled) + totalMembersAfter: + type: integer + format: int64 + description: Total number of entity members after sampling + totalMembersBefore: + type: integer + format: int64 + description: Total number of entity members before sampling + nullable: true SaturationBlueprintIndicator: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelIndicator' - - type: object - properties: - metricName: - type: string - threshold: - type: number - format: double - description: Threshold Value for the Blueprint - exclusiveMinimum: false - minimum: 0.0 + - $ref: '#/components/schemas/ServiceLevelIndicator' + - type: object + properties: + metric: + $ref: '#/components/schemas/EntityMetric' + metricName: + type: string + threshold: + type: number + format: double + description: Threshold Value for the Blueprint + exclusiveMinimum: false + minimum: 0 required: - - type + - type ScopeBinding: type: object + nullable: true properties: scopeId: type: string @@ -39438,6 +43013,7 @@ components: type: string maxLength: 64 minLength: 0 + nullable: true SearchFieldResult: type: object properties: @@ -39445,13 +43021,13 @@ components: type: string description: Field context enum: - - entities - - events - - applications - - services - - endpoints - - appdata_shared - - default_field + - entities + - events + - applications + - services + - endpoints + - appdata_shared + - default_field example: Entity data, trace data, even data description: type: string @@ -39469,12 +43045,12 @@ components: type: string description: Term type enum: - - string - - long - - double - - bool - - key_value - - id + - string + - long + - double + - bool + - key_value + - id Service: type: object properties: @@ -39482,12 +43058,14 @@ components: type: string description: Since, this is a Service, it will be of type `SERVICE`. enum: - - APPLICATION - - SERVICE - - ENDPOINT + - APPLICATION + - SERVICE + - ENDPOINT id: type: string - description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.' + description: >- + Unique ID of the Service. Eg: + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. minLength: 1 label: type: string @@ -39509,42 +43087,50 @@ components: uniqueItems: true types: type: array - description: 'Shows types of Endpoints a Service can consist of. It may - be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.' + description: >- + Shows types of Endpoints a Service can consist of. It may be one or + more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service. items: type: string - description: 'Shows types of Endpoints a Service can consist of. It may - be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.' + description: >- + Shows types of Endpoints a Service can consist of. It may be one + or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service. enum: - - UNDEFINED - - RPC - - EVENT - - GRAPHQL - - BATCH - - SHELL - - HTTP - - SDK - - OPENTELEMETRY - - INTERNAL - - DATABASE - - MESSAGING - - PAGE - - PAGE_RESOURCE + - UNDEFINED + - RPC + - EVENT + - GRAPHQL + - BATCH + - SHELL + - HTTP + - SDK + - OPENTELEMETRY + - INTERNAL + - RPG + - DATABASE + - MESSAGING + - PAGE + - PAGE_RESOURCE uniqueItems: true required: - - id - - label - - snapshotIds - - technologies - - types + - id + - label + - snapshotIds + - technologies + - types ServiceConfig: type: object properties: comment: type: string - description: | - A small description of the service configuration would be present in this field if it was provided during creation of the custom service rule. - If it was not provided, this field will remain empty. It is considered as best practice to add a comment to document the reasoning behind creating the rule. + description: > + A small description of the service configuration would be present in + this field if it was provided during creation of the custom service + rule. + + If it was not provided, this field will remain empty. It is + considered as best practice to add a comment to document the + reasoning behind creating the rule. maxLength: 2048 minLength: 0 enabled: @@ -39552,18 +43138,25 @@ components: description: If enabled, calls will be mapped to the rule. id: type: string - description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`' + description: >- + A unique string for the service configuration. Eg: + `G510hmXYSDysLZ5kuj0BaQ` minLength: 1 label: type: string - description: | - It contains the tags defined in `matchSpecification` concatenated with a dash. - Eg: if the `matchSpecification` contains keys `kubernetes.namespace.name` and `docker.label`, `label` would be `kubernetes.namespace.name-docker.label`. + description: > + It contains the tags defined in `matchSpecification` concatenated + with a dash. + + Eg: if the `matchSpecification` contains keys + `kubernetes.namespace.name` and `docker.label`, `label` would be + `kubernetes.namespace.name-docker.label`. minLength: 1 matchSpecification: type: array - description: Calls will be matched with the array of key-value tags present - in this field. + description: >- + Calls will be matched with the array of key-value tags present in + this field. items: $ref: '#/components/schemas/ServiceMatchingRule' maxItems: 20 @@ -39574,23 +43167,23 @@ components: maxLength: 128 minLength: 1 required: - - enabled - - id - - label - - matchSpecification - - name + - enabled + - id + - label + - matchSpecification + - name ServiceEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - applicationId: - type: string - description: ID of the application this service is in scope of. - serviceId: - type: string - description: ID of the service. + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + applicationId: + type: string + description: ID of the application this service is in scope of. + serviceId: + type: string + description: ID of the service. ServiceItem: type: object properties: @@ -39605,14 +43198,16 @@ components: service: $ref: '#/components/schemas/Service' required: - - metrics - - service + - metrics + - service ServiceLevelIndicator: type: object - description: Indicator of the Service Levels Objective Configuration, it indicates + description: >- + Indicator of the Service Levels Objective Configuration, it indicates the type of metric by which the SLO should be evaluated discriminator: mapping: + advanced-custom: '#/components/schemas/AdvancedCustomBlueprintIndicator' availability: '#/components/schemas/AvailabilityBlueprintIndicator' custom: '#/components/schemas/CustomBlueprintIndicator' latency: '#/components/schemas/LatencyBlueprintIndicator' @@ -39624,47 +43219,48 @@ components: type: string description: Aggregation Type for the Threshold Value enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE blueprint: type: string enum: - - latency - - availability - - traffic - - saturation - - custom + - latency + - availability + - traffic + - saturation + - custom + - advanced-custom operator: type: string description: Operator for the Threshold Value enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= serviceLevelsMeasurement: type: string description: Defines Measurement Type of SLO enum: - - eventBased - - timeBased - - erroneous - - all + - eventBased + - timeBased + - erroneous + - all threshold: type: number format: double @@ -39672,69 +43268,72 @@ components: type: type: string enum: - - eventBased - - timeBased + - eventBased + - timeBased ServiceLevelObjectiveAlertRule: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelsAlertRule' - - type: object - properties: - metric: - type: string - description: This is the service levels metric type. Service levels objective - alerts using status metric. - enum: - - STATUS + - $ref: '#/components/schemas/ServiceLevelsAlertRule' + - type: object + properties: + metric: + type: string + description: >- + This is the service levels metric type. Service levels objective + alerts using status metric. + enum: + - STATUS ServiceLevelsAlertConfig: type: object properties: alertChannelIds: type: array - description: This is the list of channel IDs when alert triggered and sent - to. + description: This is the list of channel IDs when alert triggered and sent to. items: type: string - description: This is the list of channel IDs when alert triggered and - sent to. + description: This is the list of channel IDs when alert triggered and sent to. minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true apdexIds: type: array - description: This is the list of Apdex configurations related to this alert + description: >- + This is the list of Apdex configurations related to this alert (mutually exclusive with sloIds). items: type: string - description: This is the list of Apdex configurations related to this - alert (mutually exclusive with sloIds). + description: >- + This is the list of Apdex configurations related to this alert + (mutually exclusive with sloIds). minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true burnRateConfig: type: array - description: This is the burn rate alert configuration which defines alerting - windows and corresponding thresholds. This configuration must to specified - for BURN_RATE_V2 Alerts. + description: >- + This is the burn rate alert configuration which defines alerting + windows and corresponding thresholds. This configuration must to + specified for BURN_RATE_V2 Alerts. items: $ref: '#/components/schemas/ServiceLevelsBurnRateConfig' + nullable: true uniqueItems: true burnRateTimeWindows: $ref: '#/components/schemas/ServiceLevelsBurnRateTimeWindows' customPayloadFields: type: array - description: This is the custom name and value pairs to be sent along with - the alert to the alert channels. + description: >- + This is the custom name and value pairs to be sent along with the + alert to the alert channels. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: The description of the alert. It is also the alert message - content. + description: The description of the alert. It is also the alert message content. maxLength: 65536 minLength: 0 name: @@ -39747,8 +43346,9 @@ components: severity: type: integer format: int32 - description: 'This is the severity of the alert. The value can be: 5: - warning, 10: critical.' + description: >- + This is the severity of the alert. The value can be: 5: + warning, 10: critical. sloIds: type: array description: This is the list of SLO configurations related to this alert. @@ -39765,78 +43365,81 @@ components: $ref: '#/components/schemas/ServiceLevelsTimeThreshold' triggering: type: boolean - description: Incident flag. If value is true, this alert will become an - accident. - required: - - alertChannelIds - - apdexIds - - customPayloadFields - - description - - name - - rule - - severity - - sloIds - - timeThreshold + description: Incident flag. If value is true, this alert will become an accident. + required: + - alertChannelIds + - apdexIds + - customPayloadFields + - description + - name + - rule + - severity + - sloIds + - timeThreshold ServiceLevelsAlertConfigWithRBACTag: type: object properties: alertChannelIds: type: array - description: This is the list of channel IDs when alert triggered and sent - to. + description: This is the list of channel IDs when alert triggered and sent to. items: type: string - description: This is the list of channel IDs when alert triggered and - sent to. + description: This is the list of channel IDs when alert triggered and sent to. minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true apdexIds: type: array - description: This is the list of Apdex configurations related to this alert + description: >- + This is the list of Apdex configurations related to this alert (mutually exclusive with sloIds). items: type: string - description: This is the list of Apdex configurations related to this - alert (mutually exclusive with sloIds). + description: >- + This is the list of Apdex configurations related to this alert + (mutually exclusive with sloIds). minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true burnRateConfig: type: array - description: This is the burn rate alert configuration which defines alerting - windows and corresponding thresholds. This configuration must to specified - for BURN_RATE_V2 Alerts. + description: >- + This is the burn rate alert configuration which defines alerting + windows and corresponding thresholds. This configuration must to + specified for BURN_RATE_V2 Alerts. items: $ref: '#/components/schemas/ServiceLevelsBurnRateConfig' + nullable: true uniqueItems: true burnRateTimeWindows: $ref: '#/components/schemas/ServiceLevelsBurnRateTimeWindows' created: type: integer format: int64 - description: Created Date of the version of Service Levels Smart Alerts + description: >- + Created Date of the version of Service Levels Smart Alerts Configuration. minimum: 1 customPayloadFields: type: array - description: This is the custom name and value pairs to be sent along with - the alert to the alert channels. + description: >- + This is the custom name and value pairs to be sent along with the + alert to the alert channels. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: The description of the alert. It is also the alert message - content. + description: The description of the alert. It is also the alert message content. maxLength: 65536 minLength: 0 enabled: type: boolean - description: Boolean Parameter specifying the enabled state of Service Levels + description: >- + Boolean Parameter specifying the enabled state of Service Levels Smart Alerts Configuration. id: type: string @@ -39846,8 +43449,9 @@ components: initialCreated: type: integer format: int64 - description: Created Date of the Initial version of Service Levels Smart - Alerts Configuration. + description: >- + Created Date of the Initial version of Service Levels Smart Alerts + Configuration. minimum: 1 name: type: string @@ -39862,15 +43466,17 @@ components: uniqueItems: true readOnly: type: boolean - description: Boolean Parameter specifying the readonly access to Service - Levels Smart Alerts Configuration. + description: >- + Boolean Parameter specifying the readonly access to Service Levels + Smart Alerts Configuration. rule: $ref: '#/components/schemas/ServiceLevelsAlertRule' severity: type: integer format: int32 - description: 'This is the severity of the alert. The value can be: 5: - warning, 10: critical.' + description: >- + This is the severity of the alert. The value can be: 5: + warning, 10: critical. sloIds: type: array description: This is the list of SLO configurations related to this alert. @@ -39887,23 +43493,23 @@ components: $ref: '#/components/schemas/ServiceLevelsTimeThreshold' triggering: type: boolean - description: Incident flag. If value is true, this alert will become an - accident. - required: - - alertChannelIds - - apdexIds - - customPayloadFields - - description - - id - - name - - rule - - severity - - sloIds - - timeThreshold + description: Incident flag. If value is true, this alert will become an accident. + required: + - alertChannelIds + - apdexIds + - customPayloadFields + - description + - id + - name + - rule + - severity + - sloIds + - timeThreshold ServiceLevelsAlertRule: type: object - description: This is the service levels alert type. It could be error budget - alert, service levels object alert, or Apdex alert. + description: >- + This is the service levels alert type. It could be error budget alert, + service levels object alert, or Apdex alert. discriminator: mapping: APDEX: '#/components/schemas/ApdexAlertRule' @@ -39914,22 +43520,24 @@ components: alertType: type: string required: - - alertType + - alertType ServiceLevelsBurnRateConfig: type: object - description: This is the burn rate alert configuration which defines alerting - windows and corresponding thresholds. This configuration must to specified - for BURN_RATE_V2 Alerts. + description: >- + This is the burn rate alert configuration which defines alerting windows + and corresponding thresholds. This configuration must to specified for + BURN_RATE_V2 Alerts. properties: alertWindowType: type: string - description: 'Specifies the Burn Rate Alerting Window type: SINGLE for single - window/threshold alerts, or LONG and SHORT for multi-window/threshold - alerts.' + description: >- + Specifies the Burn Rate Alerting Window type: SINGLE for single + window/threshold alerts, or LONG and SHORT for + multi-window/threshold alerts. enum: - - SINGLE - - LONG - - SHORT + - SINGLE + - LONG + - SHORT duration: type: integer format: int32 @@ -39938,24 +43546,24 @@ components: type: string description: Duration Unit Type of the Burn Rate Alerting Window. enum: - - millisecond - - second - - minute - - hour - - day - - week - - month + - millisecond + - second + - minute + - hour + - day + - week + - month threshold: $ref: '#/components/schemas/ServiceLevelsStaticThresholdConfig' required: - - duration - - durationUnitType - - threshold + - duration + - durationUnitType + - threshold ServiceLevelsBurnRateTimeWindows: type: object deprecated: true - description: This is the short and long time window setting for the burn rate - alerts. + description: This is the short and long time window setting for the burn rate alerts. + nullable: true properties: longTimeWindow: $ref: '#/components/schemas/AlertingTimeWindow' @@ -39963,7 +43571,8 @@ components: $ref: '#/components/schemas/AlertingTimeWindow' ServiceLevelsStaticThresholdConfig: type: object - description: This threshold defines a static value to be evaluated with a specific + description: >- + This threshold defines a static value to be evaluated with a specific operator for burn rate v2 alerts. properties: lastUpdated: @@ -39973,94 +43582,103 @@ components: operator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN value: type: number format: double minimum: 0 required: - - operator + - operator ServiceLevelsTimeThreshold: type: object - description: This is the warm-up and cool-down setting to emit or stop alert - event after threshold reached. + description: >- + This is the warm-up and cool-down setting to emit or stop alert event + after threshold reached. properties: expiry: type: integer format: int64 - description: This is the cooldown period when the active alert misses threshold + description: >- + This is the cooldown period when the active alert misses threshold and stop emitting notification. timeWindow: type: integer format: int64 - description: This is the grace period when the threshold is reached and - the alert becomes active to emit notification. + description: >- + This is the grace period when the threshold is reached and the alert + becomes active to emit notification. required: - - expiry - - timeWindow + - expiry + - timeWindow ServiceLevelseAlertConfigWithMetadata: type: object properties: alertChannelIds: type: array - description: This is the list of channel IDs when alert triggered and sent - to. + description: This is the list of channel IDs when alert triggered and sent to. items: type: string - description: This is the list of channel IDs when alert triggered and - sent to. + description: This is the list of channel IDs when alert triggered and sent to. minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true apdexIds: type: array - description: This is the list of Apdex configurations related to this alert + description: >- + This is the list of Apdex configurations related to this alert (mutually exclusive with sloIds). items: type: string - description: This is the list of Apdex configurations related to this - alert (mutually exclusive with sloIds). + description: >- + This is the list of Apdex configurations related to this alert + (mutually exclusive with sloIds). minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true burnRateConfig: type: array - description: This is the burn rate alert configuration which defines alerting - windows and corresponding thresholds. This configuration must to specified - for BURN_RATE_V2 Alerts. + description: >- + This is the burn rate alert configuration which defines alerting + windows and corresponding thresholds. This configuration must to + specified for BURN_RATE_V2 Alerts. items: $ref: '#/components/schemas/ServiceLevelsBurnRateConfig' + nullable: true uniqueItems: true burnRateTimeWindows: $ref: '#/components/schemas/ServiceLevelsBurnRateTimeWindows' created: type: integer format: int64 - description: Created Date of the version of Service Levels Smart Alerts + description: >- + Created Date of the version of Service Levels Smart Alerts Configuration. minimum: 1 customPayloadFields: type: array - description: This is the custom name and value pairs to be sent along with - the alert to the alert channels. + description: >- + This is the custom name and value pairs to be sent along with the + alert to the alert channels. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: The description of the alert. It is also the alert message - content. + description: The description of the alert. It is also the alert message content. maxLength: 65536 minLength: 0 enabled: type: boolean - description: Boolean Parameter specifying the enabled state of Service Levels + description: >- + Boolean Parameter specifying the enabled state of Service Levels Smart Alerts Configuration. id: type: string @@ -40070,8 +43688,9 @@ components: initialCreated: type: integer format: int64 - description: Created Date of the Initial version of Service Levels Smart - Alerts Configuration. + description: >- + Created Date of the Initial version of Service Levels Smart Alerts + Configuration. minimum: 1 name: type: string @@ -40080,15 +43699,17 @@ components: minLength: 0 readOnly: type: boolean - description: Boolean Parameter specifying the readonly access to Service - Levels Smart Alerts Configuration. + description: >- + Boolean Parameter specifying the readonly access to Service Levels + Smart Alerts Configuration. rule: $ref: '#/components/schemas/ServiceLevelsAlertRule' severity: type: integer format: int32 - description: 'This is the severity of the alert. The value can be: 5: - warning, 10: critical.' + description: >- + This is the severity of the alert. The value can be: 5: + warning, 10: critical. sloIds: type: array description: This is the list of SLO configurations related to this alert. @@ -40105,26 +43726,26 @@ components: $ref: '#/components/schemas/ServiceLevelsTimeThreshold' triggering: type: boolean - description: Incident flag. If value is true, this alert will become an - accident. - required: - - alertChannelIds - - apdexIds - - customPayloadFields - - description - - id - - name - - rule - - severity - - sloIds - - timeThreshold + description: Incident flag. If value is true, this alert will become an accident. + required: + - alertChannelIds + - apdexIds + - customPayloadFields + - description + - id + - name + - rule + - severity + - sloIds + - timeThreshold ServiceMap: type: object properties: connections: type: array - description: A list which indicates which services are consumers and which - are providers in the communication chain. + description: >- + A list which indicates which services are consumers and which are + providers in the communication chain. items: $ref: '#/components/schemas/ServiceMapConnection' uniqueItems: true @@ -40135,79 +43756,113 @@ components: $ref: '#/components/schemas/ExtendedService' uniqueItems: true required: - - connections - - services + - connections + - services ServiceMapConnection: type: object - description: A list which indicates which services are consumers and which are + description: >- + A list which indicates which services are consumers and which are providers in the communication chain. properties: calls: type: integer format: int64 - description: "The number of calls between the 2 services.\nEg: The number\ - \ of calls from `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to\ - \ `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the mentioned\ - \ timeframe is `200`. \n\nIf no timeframe (`to` and `windowSize` in query\ - \ paramter) is mentioned, the timeframe is taken as last hour.\n" + description: > + The number of calls between the 2 services. + + Eg: The number of calls from + `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the + mentioned timeframe is `200`. + + + If no timeframe (`to` and `windowSize` in query paramter) is + mentioned, the timeframe is taken as last hour. minimum: 0 errorRate: type: number format: double - description: "The error rate of the calls between the 2 services.\nEg: The\ - \ error rate of calls from `24558242fdeb52571cfb9fa42f1b334aa65d7e61`\ - \ service to `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the\ - \ mentioned timeframe is `0.1`. \n\nThe value is between 0 and 1. \n\n\ - If no timeframe (`to` and `windowSize` in query paramter) is mentioned,\ - \ the timeframe is taken as last hour.\n" + description: > + The error rate of the calls between the 2 services. + + Eg: The error rate of calls from + `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the + mentioned timeframe is `0.1`. + + + The value is between 0 and 1. + + + If no timeframe (`to` and `windowSize` in query paramter) is + mentioned, the timeframe is taken as last hour. maximum: 1 minimum: 0 from: type: string - description: | + description: > The service that initiates a request to another service. - It contains a unique service id. Eg: `24558242fdeb52571cfb9fa42f1b334aa65d7e61`. + + It contains a unique service id. Eg: + `24558242fdeb52571cfb9fa42f1b334aa65d7e61`. minLength: 1 latency: type: number format: double - description: "The mean latency of the calls between the 2 services.\nEg:\ - \ The mean latency of calls from `24558242fdeb52571cfb9fa42f1b334aa65d7e61`\ - \ service to `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the\ - \ mentioned timeframe is `4.46`. \n\nThe value is in milliseconds. \n\n\ - If no timeframe (`to` and `windowSize` in query paramter) is mentioned,\ - \ the timeframe is taken as last hour.\n" + description: > + The mean latency of the calls between the 2 services. + + Eg: The mean latency of calls from + `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the + mentioned timeframe is `4.46`. + + + The value is in milliseconds. + + + If no timeframe (`to` and `windowSize` in query paramter) is + mentioned, the timeframe is taken as last hour. minimum: 0 to: type: string - description: | + description: > The service that receives the request sent by the source service. - It contains a unique service id. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. + + It contains a unique service id. Eg: + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. minLength: 1 required: - - from - - to + - from + - to ServiceMatchingRule: type: object - description: Calls will be matched with the array of key-value tags present - in this field. + description: >- + Calls will be matched with the array of key-value tags present in this + field. properties: key: type: string - description: | + description: > In Instana UI, this is shown as `Tag`. - One can select a variety of pre-defined tags. Eg: `host.fqdn`, `container.label` etc. + + One can select a variety of pre-defined tags. Eg: `host.fqdn`, + `container.label` etc. minLength: 1 value: type: string - description: | + description: > In Instana UI, this is known as 'key`. - Eg: if one labels Docker containers such as com.acme.service-name:myservice, to map services from this label, - the `key` aka `tag` would be `docker.label` and `value` aka `key` would be `com.acme.service-name`. + + Eg: if one labels Docker containers such as + com.acme.service-name:myservice, to map services from this label, + + the `key` aka `tag` would be `docker.label` and `value` aka `key` + would be `com.acme.service-name`. minLength: 1 required: - - key - - value + - key + - value ServiceMetricResult: type: object properties: @@ -40231,7 +43886,7 @@ components: format: int64 minimum: 0 required: - - items + - items ServiceNode: type: object properties: @@ -40246,79 +43901,79 @@ components: maxLength: 64 minLength: 0 required: - - endpoints - - serviceId + - endpoints + - serviceId ServiceNowEnhancedIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - autoCloseIncidents: - type: boolean - enableSendInstanaNotes: - type: boolean - enableSendServiceNowActivities: - type: boolean - enableSendServiceNowWorkNotes: - type: boolean - instanaUrl: - type: string - manuallyClosedIncidents: - type: boolean - password: - type: string - minLength: 1 - resolutionOfIncident: - type: boolean - serviceNowUrl: - type: string - minLength: 1 - snowStatusOnCloseEvent: - type: integer - format: int32 - tenant: - type: string - minLength: 1 - unit: - type: string - minLength: 1 - username: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + autoCloseIncidents: + type: boolean + enableSendInstanaNotes: + type: boolean + enableSendServiceNowActivities: + type: boolean + enableSendServiceNowWorkNotes: + type: boolean + instanaUrl: + type: string + manuallyClosedIncidents: + type: boolean + password: + type: string + minLength: 1 + resolutionOfIncident: + type: boolean + serviceNowUrl: + type: string + minLength: 1 + snowStatusOnCloseEvent: + type: integer + format: int32 + tenant: + type: string + minLength: 1 + unit: + type: string + minLength: 1 + username: + type: string + minLength: 1 required: - - id - - kind - - name - - password - - serviceNowUrl - - tenant - - unit - - username + - id + - kind + - name + - password + - serviceNowUrl + - tenant + - unit + - username ServiceNowIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - autoCloseIncidents: - type: boolean - password: - type: string - minLength: 1 - serviceNowUrl: - type: string - minLength: 1 - username: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + autoCloseIncidents: + type: boolean + password: + type: string + minLength: 1 + serviceNowUrl: + type: string + minLength: 1 + username: + type: string + minLength: 1 required: - - id - - kind - - name - - password - - serviceNowUrl - - username + - id + - kind + - name + - password + - serviceNowUrl + - username ServiceResult: type: object properties: @@ -40329,8 +43984,9 @@ components: page: type: integer format: int32 - description: Page number you want to retrieve in a request / retrieved in - a response. + description: >- + Page number you want to retrieve in a request / retrieved in a + response. pageSize: type: integer format: int32 @@ -40338,8 +43994,9 @@ components: totalHits: type: integer format: int32 - description: 'The number of results returned. For eg: If `items` has 5 elements, - `totalhits` will be 5' + description: >- + The number of results returned. For eg: If `items` has 5 elements, + `totalhits` will be 5 ServiceScope: type: object description: The list of services where the release can be viewed. @@ -40352,25 +44009,29 @@ components: scopedTo: $ref: '#/components/schemas/ServiceScopedTo' required: - - name + - name ServiceScopeWithMetadata: type: object description: The list of services where the release can be viewed. properties: id: type: string - description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.' + description: >- + Unique ID of the Service. Eg: + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. minLength: 1 name: type: string description: 'Name of the Service. Eg: `payment`.' + nullable: true scopedTo: $ref: '#/components/schemas/ServiceScopedToWithMetadata' required: - - id + - id ServiceScopedTo: type: object description: 'The list of application perspectives where the service is present. ' + nullable: true properties: applications: type: array @@ -40379,29 +44040,32 @@ components: maxItems: 10 minItems: 1 required: - - applications + - applications ServiceScopedToWithMetadata: type: object - description: The release marker would be present in the service but not for - other services within the Application perspective. + description: >- + The release marker would be present in the service but not for other + services within the Application perspective. + nullable: true properties: applications: type: array - description: 'The list of application perspectives where the service is - present. ' + description: 'The list of application perspectives where the service is present. ' items: $ref: '#/components/schemas/ApplicationScopeWithMetadata' maxItems: 10 minItems: 1 required: - - applications + - applications ServiceSimple: type: object description: The destination service. properties: id: type: string - description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.' + description: >- + Unique ID of the Service. Eg: + `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`. label: type: string description: 'Name of the Service. Eg: `payment`.' @@ -40421,7 +44085,8 @@ components: imageData: type: string description: Base64-encoded image data loaded from external storage - example: iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg== + example: >- + iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg== nullable: true imageFormat: type: string @@ -40441,27 +44106,31 @@ components: description: Type of record example: screenshot required: - - bytesIngestedImage - - id - - imageFormat - - sessionId - - timestamp - - type + - bytesIngestedImage + - id + - imageFormat + - sessionId + - timestamp + - type SessionReplayTimestamps: type: object properties: firstImageTimestamp: type: integer format: int64 - description: Timestamp of the first image in the session (epoch milliseconds). + description: >- + Timestamp of the first image in the session (epoch milliseconds). Null if no images exist. example: 1234567890 + nullable: true lastImageTimestamp: type: integer format: int64 - description: Timestamp of the last image in the session (epoch milliseconds). + description: >- + Timestamp of the last image in the session (epoch milliseconds). Null if no images exist. example: 1234567990 + nullable: true SessionSettings: type: object properties: @@ -40481,43 +44150,44 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE crossSeriesAggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE + nullable: true granularity: type: integer format: int64 @@ -40526,6 +44196,7 @@ components: * If granularity is specified data points are returned with the specified granularity * The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in milliseconds) * The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600) + nullable: true title: granularity in milliseconds metric: type: string @@ -40533,34 +44204,37 @@ components: missingValue: type: number format: double + nullable: true regex: type: boolean required: type: boolean description: When true, metric must be present with values required: - - aggregation - - metric + - aggregation + - metric SlackIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - channel: - type: string - emojiRendering: - type: boolean - iconUrl: - type: string - webhookUrl: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + channel: + type: string + nullable: true + emojiRendering: + type: boolean + iconUrl: + type: string + nullable: true + webhookUrl: + type: string + minLength: 1 required: - - id - - kind - - name - - webhookUrl + - id + - kind + - name + - webhookUrl SliConfiguration: type: object properties: @@ -40579,14 +44253,15 @@ components: $ref: '#/components/schemas/SliEntity' sliName: type: string - description: The name of the Service Level Indicator (SLI) specified during - its creation + description: >- + The name of the Service Level Indicator (SLI) specified during its + creation maxLength: 256 minLength: 0 required: - - id - - sliEntity - - sliName + - id + - sliEntity + - sliName SliConfigurationWithLastUpdated: type: object properties: @@ -40610,14 +44285,15 @@ components: $ref: '#/components/schemas/SliEntity' sliName: type: string - description: The name of the Service Level Indicator (SLI) specified during - its creation + description: >- + The name of the Service Level Indicator (SLI) specified during its + creation maxLength: 256 minLength: 0 required: - - id - - sliEntity - - sliName + - id + - sliEntity + - sliName SliEntity: type: object description: Entity Type of the SLI Configuration @@ -40632,14 +44308,15 @@ components: sliType: type: string required: - - sliType + - sliType SliReport: type: object properties: errorBudgetRemaining: type: integer format: int64 - description: This is the error budget remaining compared to the total error + description: >- + This is the error budget remaining compared to the total error budget fromTimestamp: type: integer @@ -40648,13 +44325,15 @@ components: sli: type: number format: double - description: 'Service Level Indicator: This indicates the actual performance - measure of the service' + description: >- + Service Level Indicator: This indicates the actual performance + measure of the service slo: type: number format: double - description: 'Service Level Objective: This is the target value that should - be met by the SLI' + description: >- + Service Level Objective: This is the target value that should be met + by the SLI toTimestamp: type: integer format: int64 @@ -40670,12 +44349,14 @@ components: format: int32 SloEntity: type: object - description: Entity of the Service Levels Objective Configuration, it could - be either Application nor Website + description: >- + Entity of the Service Levels Objective Configuration, it could be either + Application nor Website discriminator: mapping: application: '#/components/schemas/ApplicationSloEntity' infrastructure: '#/components/schemas/InfraSloEntity' + mobile: '#/components/schemas/MobileSloEntity' synthetic: '#/components/schemas/SyntheticSloEntity' website: '#/components/schemas/WebsiteSloEntity' propertyName: type @@ -40685,7 +44366,7 @@ components: type: type: string required: - - type + - type SloReport: type: object properties: @@ -40694,18 +44375,22 @@ components: additionalProperties: type: integer format: int32 - description: Value of accumulated bad minutes/events of SLO configuration - in different timestamps from starting to ending point - description: Value of accumulated bad minutes/events of SLO configuration - in different timestamps from starting to ending point + description: >- + Value of accumulated bad minutes/events of SLO configuration in + different timestamps from starting to ending point + description: >- + Value of accumulated bad minutes/events of SLO configuration in + different timestamps from starting to ending point errorBudgetRemainChart: type: object additionalProperties: type: integer format: int32 - description: Error Budget Remain value of SLO configuration in different + description: >- + Error Budget Remain value of SLO configuration in different timestamps from starting to ending point - description: Error Budget Remain value of SLO configuration in different + description: >- + Error Budget Remain value of SLO configuration in different timestamps from starting to ending point errorBudgetRemaining: type: integer @@ -40724,24 +44409,30 @@ components: additionalProperties: type: integer format: int32 - description: Budget Rate value of SLO configuration in different timestamps + description: >- + Budget Rate value of SLO configuration in different timestamps from starting to ending point - description: Budget Rate value of SLO configuration in different timestamps - from starting to ending point + description: >- + Budget Rate value of SLO configuration in different timestamps from + starting to ending point errorChart: type: object additionalProperties: type: integer format: int32 - description: Value indicating presence of bad minutes/events of SLO configuration - in different timestamps from starting to ending point - description: Value indicating presence of bad minutes/events of SLO configuration + description: >- + Value indicating presence of bad minutes/events of SLO + configuration in different timestamps from starting to ending + point + description: >- + Value indicating presence of bad minutes/events of SLO configuration in different timestamps from starting to ending point fromTimestamp: type: integer format: int64 - description: Starting point of the data retrieval, specified as 13 digit - Unix Timestamp milliseconds + description: >- + Starting point of the data retrieval, specified as 13 digit Unix + Timestamp milliseconds sli: type: number format: double @@ -40753,7 +44444,8 @@ components: toTimestamp: type: integer format: int64 - description: Ending point of the data retrieval, specified as 13 digit Unix + description: >- + Ending point of the data retrieval, specified as 13 digit Unix Timestamp milliseconds totalErrorBudget: type: integer @@ -40764,31 +44456,33 @@ components: additionalProperties: type: integer format: int32 - description: Value indicating violation of SLO configuration in different + description: >- + Value indicating violation of SLO configuration in different timestamps from starting to ending point - description: Value indicating violation of SLO configuration in different + description: >- + Value indicating violation of SLO configuration in different timestamps from starting to ending point SlownessApplicationAlertRule: type: object allOf: - - $ref: '#/components/schemas/ApplicationAlertRule' + - $ref: '#/components/schemas/ApplicationAlertRule' required: - - aggregation - - metricName + - aggregation + - metricName SlownessMobileAppAlertRule: type: object allOf: - - $ref: '#/components/schemas/MobileAppAlertRule' + - $ref: '#/components/schemas/MobileAppAlertRule' required: - - aggregation - - metricName + - aggregation + - metricName SlownessWebsiteAlertRule: type: object allOf: - - $ref: '#/components/schemas/WebsiteAlertRule' + - $ref: '#/components/schemas/WebsiteAlertRule' required: - - aggregation - - metricName + - aggregation + - metricName SnapshotItem: type: object description: Detail information for requested snapshots. @@ -40826,19 +44520,24 @@ components: description: End of timeframe expressed as the Unix epoch time in milliseconds SnapshotPreview: type: object + nullable: true properties: data: type: object additionalProperties: type: object - description: Subset of the data section of the plugin. In most cases this - field will be null. - description: Subset of the data section of the plugin. In most cases this - field will be null. + description: >- + Subset of the data section of the plugin. In most cases this field + will be null. + description: >- + Subset of the data section of the plugin. In most cases this field + will be null. + nullable: true id: type: string - description: This is a snapshot ID. A unique identifier the metrics are - assigned to. + description: >- + This is a snapshot ID. A unique identifier the metrics are assigned + to. minLength: 1 label: type: string @@ -40849,11 +44548,12 @@ components: time: type: integer format: int64 - description: Specifies the exact point at which the id, label and plugin - are valid. + description: >- + Specifies the exact point at which the id, label and plugin are + valid. minimum: 1 required: - - id + - id SnapshotResult: type: object properties: @@ -40866,22 +44566,26 @@ components: properties: container: type: string + nullable: true host: type: string + nullable: true process: type: string + nullable: true snapshotId: type: string + nullable: true SoftwareVersion: type: object properties: discoveryType: type: string enum: - - NATIVE_SENSOR - - REMOTE_SENSOR - - PACKAGE_MANAGER - - OTHER + - NATIVE_SENSOR + - REMOTE_SENSOR + - PACKAGE_MANAGER + - OTHER metadata: type: object additionalProperties: @@ -40895,17 +44599,17 @@ components: softwareType: type: string enum: - - DEPENDENCY - - RUNTIME - - DATABASE - - MESSAGING - - PLATFORM - - PACKAGE - - OS - - CACHE - - API_GATEWAY - - OTHER - - APPLICATION_FRAMEWORK + - DEPENDENCY + - RUNTIME + - DATABASE + - MESSAGING + - PLATFORM + - PACKAGE + - OS + - CACHE + - API_GATEWAY + - OTHER + - APPLICATION_FRAMEWORK minLength: 1 usedBy: type: array @@ -40919,13 +44623,13 @@ components: type: string minLength: 1 required: - - discoveryType - - name - - plugin - - softwareType - - usedBy - - vendor - - version + - discoveryType + - name + - plugin + - softwareType + - usedBy + - vendor + - version SourceMapFileBlob: type: object properties: @@ -40959,17 +44663,17 @@ components: type: type: string enum: - - JS_MAP - - JS - - R8PG_MAP - - DWARF + - JS_MAP + - JS + - R8PG_MAP + - DWARF url: type: string minLength: 1 required: - - format - - type - - url + - format + - type + - url SourceMapUploadConfig: type: object properties: @@ -40978,6 +44682,7 @@ components: format: date-time description: type: string + nullable: true id: type: string metadata: @@ -40990,7 +44695,7 @@ components: type: string format: date-time required: - - metadata + - metadata SourceMapUploadConfigs: type: object properties: @@ -41006,7 +44711,7 @@ components: maxItems: 1024 minItems: 0 required: - - configs + - configs SpanExcerpt: type: object description: Information about the logs attached to the call, if available. @@ -41015,11 +44720,13 @@ components: type: object additionalProperties: type: object - description: Some information about the span, like service name, if it - is an http call, then some information about it like, path, method, + description: >- + Some information about the span, like service name, if it is an + http call, then some information about it like, path, method, host, errors etc. - description: Some information about the span, like service name, if it is - an http call, then some information about it like, path, method, host, + description: >- + Some information about the span, like service name, if it is an http + call, then some information about it like, path, method, host, errors etc. databaseIntegrations: type: array @@ -41028,71 +44735,100 @@ components: duration: type: integer format: int64 - description: The total time taken for the entire operation of a call, from - the moment the request was initiated to when the response was received. - The time measured is in milliseconds. This is also known as latency of - a call. + description: >- + The total time taken for the entire operation of a call, from the + moment the request was initiated to when the response was received. + The time measured is in milliseconds. This is also known as latency + of a call. minimum: 0 errorCount: type: integer format: int32 - description: Represents whether the span is erroneous or not. 0 is not erroneous + description: >- + Represents whether the span is erroneous or not. 0 is not erroneous and 1 is erroneous. minimum: 0 foreignParentId: type: string + nullable: true id: type: string - description: 'The call ID. A unique identifier for an individual call. For - example: `1bcad5c82338deaf`.' + description: >- + The call ID. A unique identifier for an individual call. For + example: `1bcad5c82338deaf`. kind: type: string - description: | + description: > There are 4 types of span kind: - 1. `ENTRY`: An entry span represents an incoming request into a traced service. - 2. `EXIT`: An exit span represents an outgoing request that a service makes to some other service. - 3. `INTERMEDIATE`: An intermediate span represents anything that happens inside a traced service where the flow of control neither enters nor leaves that service, but stays inside it. + + 1. `ENTRY`: An entry span represents an incoming request into a + traced service. + + 2. `EXIT`: An exit span represents an outgoing request that a + service makes to some other service. + + 3. `INTERMEDIATE`: An intermediate span represents anything that + happens inside a traced service where the flow of control neither + enters nor leaves that service, but stays inside it. + 4. `UNKNOWN`: Instana can't determine the span kind. enum: - - UNKNOWN - - ENTRY - - EXIT - - INTERMEDIATE + - UNKNOWN + - ENTRY + - EXIT + - INTERMEDIATE name: type: string - description: The technical type of the span. For example, `node.http.client` - or `jdbc`. + description: >- + The technical type of the span. For example, `node.http.client` or + `jdbc`. minLength: 1 parentId: type: string - description: The parent call id, referring to another call in the same trace + description: >- + The parent call id, referring to another call in the same trace which triggered the processing associated with this call. + nullable: true + samplingRate: + type: number + format: double + description: >- + The probability at which this span was sampled by the tracer. Only + present if the span was subjected to sampling. + nullable: true stackTrace: type: array - description: For an erroneous call, if stack trace is available it will - show a list of items containing file, method and line number of the code. + description: >- + For an erroneous call, if stack trace is available it will show a + list of items containing file, method and line number of the code. items: $ref: '#/components/schemas/StackTraceItem' start: type: integer format: int64 - description: The timestamp when the call or request was initiated. For example, - Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December - 2024 04:27:59.870 GMT` + description: >- + The timestamp when the call or request was initiated. For example, + Unix epoch time in milliseconds `1735532879870` is `Monday, 30 + December 2024 04:27:59.870 GMT` minimum: 1 required: - - data - - id - - kind - - name - - stackTrace + - data + - id + - kind + - name + - stackTrace SpanRelation: type: object - description: | - It shows from where the call is destined to. It includes the following information: + description: > + It shows from where the call is destined to. It includes the following + information: + 1. List of Application Perspectives from which the call is destined to. + 2. Destination service and destination endpoint. + 3. Physical context from the infrastructure point of view. + nullable: true properties: applications: type: array @@ -41106,73 +44842,79 @@ components: service: $ref: '#/components/schemas/Service' required: - - applications + - applications SpecificJsErrorsWebsiteAlertRule: type: object allOf: - - $ref: '#/components/schemas/WebsiteAlertRule' - - type: object - properties: - operator: - type: string - enum: - - EQUALS - - CONTAINS - - IN - - NOT_IN - - LESS_THAN - - LESS_OR_EQUAL_THAN - - GREATER_THAN - - GREATER_OR_EQUAL_THAN - - NOT_EMPTY - - NOT_EQUAL - - NOT_CONTAIN - - IS_EMPTY - - NOT_BLANK - - IS_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - REGEX_MATCH - value: - type: string + - $ref: '#/components/schemas/WebsiteAlertRule' + - type: object + properties: + operator: + type: string + enum: + - EQUALS + - CONTAINS + - IN + - NOT_IN + - LESS_THAN + - LESS_OR_EQUAL_THAN + - GREATER_THAN + - GREATER_OR_EQUAL_THAN + - NOT_EMPTY + - NOT_EQUAL + - NOT_CONTAIN + - IS_EMPTY + - NOT_BLANK + - IS_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - REGEX_MATCH + value: + type: string + nullable: true required: - - metricName - - operator + - metricName + - operator SplunkIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - token: - type: string - minLength: 1 - url: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + token: + type: string + minLength: 1 + url: + type: string + minLength: 1 required: - - id - - kind - - name - - token - - url + - id + - kind + - name + - token + - url StackTraceItem: type: object - description: For an erroneous call, if stack trace is available it will show - a list of items containing file, method and line number of the code. + description: >- + For an erroneous call, if stack trace is available it will show a list + of items containing file, method and line number of the code. properties: file: type: string description: The name of the file where the executed code resides. + nullable: true line: type: string description: The line number within the file where the error was thrown. + nullable: true method: type: string - description: The name of the method or function being executed at the time - the stack trace item was generated. + description: >- + The name of the method or function being executed at the time the + stack trace item was generated. + nullable: true StackTraceLine: type: object properties: @@ -41189,207 +44931,273 @@ components: minimum: -1 name: type: string + nullable: true translationExplanation: type: string + nullable: true translationStatus: type: integer format: int32 minimum: -1 required: - - file + - file StaticBaselineThresholdRule: type: object allOf: - - $ref: '#/components/schemas/ThresholdConfigRule' - - type: object - properties: - baseline: - type: array - items: + - $ref: '#/components/schemas/ThresholdConfigRule' + - type: object + properties: + baseline: type: array items: - type: number - deviationFactor: - type: number - format: double - exclusiveMaximum: false - exclusiveMinimum: false - maximum: 16.0 - minimum: 0.5 - seasonality: - type: string - enum: - - WEEKLY - - DAILY + type: array + items: + type: number + nullable: true + deviationFactor: + type: number + format: double + exclusiveMaximum: false + exclusiveMinimum: false + maximum: 16 + minimum: 0.5 + seasonality: + type: string + enum: + - WEEKLY + - DAILY required: - - seasonality + - seasonality StaticStringField: type: object allOf: - - $ref: '#/components/schemas/CustomPayloadField' - - type: object - properties: - value: - type: string - description: Custom value for static type custom payload - minLength: 1 + - $ref: '#/components/schemas/CustomPayloadField' + - type: object + properties: + value: + type: string + description: Custom value for static type custom payload + minLength: 1 required: - - key - - value + - key + - value StaticThreshold: type: object allOf: - - $ref: '#/components/schemas/Threshold' - - type: object - properties: - lastUpdated: - type: integer - format: int64 - minimum: 0 - value: - type: number - format: double - minimum: 0 - description: This threshold defines a static value to be evaluated with a specific + - $ref: '#/components/schemas/Threshold' + - type: object + properties: + lastUpdated: + type: integer + format: int64 + minimum: 0 + lowerBound: + type: number + format: double + minimum: 0 + nullable: true + upperBound: + type: number + format: double + minimum: 0 + nullable: true + value: + type: number + format: double + minimum: 0 + nullable: true + description: >- + This threshold defines a static value to be evaluated with a specific operator. required: - - operator + - operator StaticThresholdRule: type: object allOf: - - $ref: '#/components/schemas/ThresholdConfigRule' - - type: object - properties: - value: - type: number - format: double - minimum: 0 + - $ref: '#/components/schemas/ThresholdConfigRule' + - type: object + properties: + lowerBound: + type: number + format: double + minimum: 0 + nullable: true + upperBound: + type: number + format: double + minimum: 0 + nullable: true + value: + type: number + format: double + minimum: 0 + nullable: true StatusCodeApplicationAlertRule: type: object allOf: - - $ref: '#/components/schemas/ApplicationAlertRule' - - type: object - properties: - statusCodeEnd: - type: integer - format: int32 - minimum: 1 - statusCodeStart: - type: integer - format: int32 - minimum: 1 - required: - - metricName + - $ref: '#/components/schemas/ApplicationAlertRule' + - type: object + properties: + metricName: + type: string + minLength: 1 + nullable: true + statusCodeEnd: + type: integer + format: int32 + minimum: 1 + statusCodeStart: + type: integer + format: int32 + minimum: 1 + required: + - metricName StatusCodeMobileAppAlertRule: type: object allOf: - - $ref: '#/components/schemas/MobileAppAlertRule' - - type: object - properties: - operator: - type: string - enum: - - EQUALS - - CONTAINS - - IN - - NOT_IN - - LESS_THAN - - LESS_OR_EQUAL_THAN - - GREATER_THAN - - GREATER_OR_EQUAL_THAN - - NOT_EMPTY - - NOT_EQUAL - - NOT_CONTAIN - - IS_EMPTY - - NOT_BLANK - - IS_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - REGEX_MATCH - value: - type: string - minLength: 1 + - $ref: '#/components/schemas/MobileAppAlertRule' + - type: object + properties: + metricName: + type: string + minLength: 1 + nullable: true + operator: + type: string + enum: + - EQUALS + - CONTAINS + - IN + - NOT_IN + - LESS_THAN + - LESS_OR_EQUAL_THAN + - GREATER_THAN + - GREATER_OR_EQUAL_THAN + - NOT_EMPTY + - NOT_EQUAL + - NOT_CONTAIN + - IS_EMPTY + - NOT_BLANK + - IS_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - REGEX_MATCH + value: + type: string + minLength: 1 required: - - metricName - - operator - - value + - metricName + - operator + - value StatusCodeWebsiteAlertRule: type: object allOf: - - $ref: '#/components/schemas/WebsiteAlertRule' - - type: object - properties: - operator: - type: string - enum: - - EQUALS - - CONTAINS - - IN - - NOT_IN - - LESS_THAN - - LESS_OR_EQUAL_THAN - - GREATER_THAN - - GREATER_OR_EQUAL_THAN - - NOT_EMPTY - - NOT_EQUAL - - NOT_CONTAIN - - IS_EMPTY - - NOT_BLANK - - IS_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - REGEX_MATCH - value: - type: string - minLength: 1 + - $ref: '#/components/schemas/WebsiteAlertRule' + - type: object + properties: + operator: + type: string + enum: + - EQUALS + - CONTAINS + - IN + - NOT_IN + - LESS_THAN + - LESS_OR_EQUAL_THAN + - GREATER_THAN + - GREATER_OR_EQUAL_THAN + - NOT_EMPTY + - NOT_EQUAL + - NOT_CONTAIN + - IS_EMPTY + - NOT_BLANK + - IS_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - REGEX_MATCH + value: + type: string + minLength: 1 required: - - metricName - - operator - - value + - metricName + - operator + - value SyntheticAlertConfig: type: object properties: + affectedLocationsCount: + type: integer + format: int32 + description: Number of locations encounters failure + minimum: 1 + nullable: true alertChannelIds: type: array - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 uniqueItems: true customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the synthetic alert configuration. Used as a - template for the description of alert/event notifications triggered by - this Smart Alert configuration. + description: >- + Description of the synthetic alert configuration. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 + evaluationType: + type: string + description: >- + Determines whether synthetic test results are evaluated per location + independently or grouped across all locations. + enum: + - PER_LOCATION + - PER_SYNTHETIC_TEST + nullable: true gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true + includeOnDemand: + type: boolean + description: >- + Controls whether on-demand synthetic test runs should be included in + alert evaluation. When true, both scheduled and on-demand test runs + are evaluated. When false, only scheduled test runs are evaluated. + Default behavior when not provided: (1) If tagFilterExpression + contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; + (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → + defaults to false; (3) If no RUN_TYPE filter exists → defaults to + false. + nullable: true name: type: string - description: Name of the synthetic alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the synthetic alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -41398,43 +45206,52 @@ components: severity: type: integer format: int32 - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 syntheticTestIds: type: array - description: IDs of the synthetic tests that this Smart Alert configuration - is applied to. + description: >- + IDs of the synthetic tests that this Smart Alert configuration is + applied to. items: type: string - description: IDs of the synthetic tests that this Smart Alert configuration - is applied to. + description: >- + IDs of the synthetic tests that this Smart Alert configuration is + applied to. uniqueItems: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' timeThreshold: $ref: '#/components/schemas/SyntheticTimeThreshold' required: - - alertChannelIds - - customPayloadFields - - description - - name - - rule - - syntheticTestIds - - tagFilterExpression - - timeThreshold + - alertChannelIds + - customPayloadFields + - description + - name + - rule + - syntheticTestIds + - tagFilterExpression + - timeThreshold SyntheticAlertConfigWithMetadata: type: object properties: + affectedLocationsCount: + type: integer + format: int32 + description: Number of locations encounters failure + minimum: 1 + nullable: true alertChannelIds: type: array - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 @@ -41446,33 +45263,58 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the synthetic alert configuration. Used as a - template for the description of alert/event notifications triggered by - this Smart Alert configuration. + description: >- + Description of the synthetic alert configuration. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 enabled: type: boolean description: Flag to indicate whether or not the configuration is enabled. + evaluationType: + type: string + description: >- + Determines whether synthetic test results are evaluated per location + independently or grouped across all locations. + enum: + - PER_LOCATION + - PER_SYNTHETIC_TEST + nullable: true gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true id: type: string description: 'ID of this Synthetic Alert Config. ' maxLength: 64 minLength: 0 + includeOnDemand: + type: boolean + description: >- + Controls whether on-demand synthetic test runs should be included in + alert evaluation. When true, both scheduled and on-demand test runs + are evaluated. When false, only scheduled test runs are evaluated. + Default behavior when not provided: (1) If tagFilterExpression + contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; + (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → + defaults to false; (3) If no RUN_TYPE filter exists → defaults to + false. + nullable: true initialCreated: type: integer format: int64 @@ -41480,58 +45322,69 @@ components: minimum: 1 name: type: string - description: Name of the synthetic alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the synthetic alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/SyntheticAlertRule' severity: type: integer format: int32 - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 syntheticTestIds: type: array - description: IDs of the synthetic tests that this Smart Alert configuration - is applied to. + description: >- + IDs of the synthetic tests that this Smart Alert configuration is + applied to. items: type: string - description: IDs of the synthetic tests that this Smart Alert configuration - is applied to. + description: >- + IDs of the synthetic tests that this Smart Alert configuration is + applied to. uniqueItems: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' timeThreshold: $ref: '#/components/schemas/SyntheticTimeThreshold' required: - - alertChannelIds - - customPayloadFields - - description - - id - - name - - rule - - syntheticTestIds - - tagFilterExpression - - timeThreshold + - alertChannelIds + - customPayloadFields + - description + - id + - name + - rule + - syntheticTestIds + - tagFilterExpression + - timeThreshold SyntheticAlertConfigWithRBACTag: type: object properties: + affectedLocationsCount: + type: integer + format: int32 + description: Number of locations encounters failure + minimum: 1 + nullable: true alertChannelIds: type: array - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 @@ -41543,33 +45396,58 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the synthetic alert configuration. Used as a - template for the description of alert/event notifications triggered by - this Smart Alert configuration. + description: >- + Description of the synthetic alert configuration. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 enabled: type: boolean description: Flag to indicate whether or not the configuration is enabled. + evaluationType: + type: string + description: >- + Determines whether synthetic test results are evaluated per location + independently or grouped across all locations. + enum: + - PER_LOCATION + - PER_SYNTHETIC_TEST + nullable: true gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true id: type: string description: 'ID of this Synthetic Alert Config. ' maxLength: 64 minLength: 0 + includeOnDemand: + type: boolean + description: >- + Controls whether on-demand synthetic test runs should be included in + alert evaluation. When true, both scheduled and on-demand test runs + are evaluated. When false, only scheduled test runs are evaluated. + Default behavior when not provided: (1) If tagFilterExpression + contains RUN_TYPE filter that is NOT 'Scheduled' → defaults to true; + (2) If tagFilterExpression contains RUN_TYPE EQUALS 'Scheduled' → + defaults to false; (3) If no RUN_TYPE filter exists → defaults to + false. + nullable: true initialCreated: type: integer format: int64 @@ -41577,8 +45455,9 @@ components: minimum: 1 name: type: string - description: Name of the synthetic alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the synthetic alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -41590,40 +45469,44 @@ components: uniqueItems: true readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/SyntheticAlertRule' severity: type: integer format: int32 - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 syntheticTestIds: type: array - description: IDs of the synthetic tests that this Smart Alert configuration - is applied to. + description: >- + IDs of the synthetic tests that this Smart Alert configuration is + applied to. items: type: string - description: IDs of the synthetic tests that this Smart Alert configuration - is applied to. + description: >- + IDs of the synthetic tests that this Smart Alert configuration is + applied to. uniqueItems: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' timeThreshold: $ref: '#/components/schemas/SyntheticTimeThreshold' required: - - alertChannelIds - - customPayloadFields - - description - - id - - name - - rule - - syntheticTestIds - - tagFilterExpression - - timeThreshold + - alertChannelIds + - customPayloadFields + - description + - id + - name + - rule + - syntheticTestIds + - tagFilterExpression + - timeThreshold SyntheticAlertRule: type: object description: Indicates the type of rule this alert configuration is about. @@ -41635,31 +45518,31 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE alertType: type: string metricName: type: string minLength: 1 required: - - alertType - - metricName + - alertType + - metricName SyntheticBulkResponse: type: object properties: @@ -41674,33 +45557,36 @@ components: properties: customRules: type: array - description: The list of custom rules for synthetic endpoints defined by - the user. + description: >- + The list of custom rules for synthetic endpoints defined by the + user. items: $ref: '#/components/schemas/SyntheticCallRule' maxItems: 500 minItems: 0 defaultRulesEnabled: type: boolean - description: A flag to enable/disable the default synthetic endpoint configurations - defined by Instana. + description: >- + A flag to enable/disable the default synthetic endpoint + configurations defined by Instana. required: - - customRules + - customRules SyntheticCallRule: type: object - description: The list of custom rules for synthetic endpoints defined by the - user. + description: The list of custom rules for synthetic endpoints defined by the user. properties: description: type: string - description: A description of the custom rule. For example, one can mention - the reason behind having the custom rule. + description: >- + A description of the custom rule. For example, one can mention the + reason behind having the custom rule. maxLength: 2048 minLength: 0 enabled: type: boolean - description: A flag to enable/disable the custom synthetic endpoint configurations - defined by the user. + description: >- + A flag to enable/disable the custom synthetic endpoint + configurations defined by the user. matchSpecification: $ref: '#/components/schemas/MatchExpressionDTO' name: @@ -41709,15 +45595,16 @@ components: maxLength: 128 minLength: 1 required: - - matchSpecification - - name + - matchSpecification + - name SyntheticCallWithDefaultsConfig: type: object properties: customRules: type: array - description: The list of custom rules for synthetic endpoints defined by - the user. + description: >- + The list of custom rules for synthetic endpoints defined by the + user. items: $ref: '#/components/schemas/SyntheticCallRule' maxItems: 500 @@ -41728,11 +45615,12 @@ components: $ref: '#/components/schemas/SyntheticCallRule' defaultRulesEnabled: type: boolean - description: A flag to enable/disable the default synthetic endpoint configurations - defined by Instana. + description: >- + A flag to enable/disable the default synthetic endpoint + configurations defined by Instana. required: - - customRules - - defaultRules + - customRules + - defaultRules SyntheticConfiguration: type: object properties: @@ -41827,8 +45715,8 @@ components: items: type: string required: - - credentialName - - credentialValue + - credentialName + - credentialValue SyntheticDatacenter: type: object properties: @@ -41869,11 +45757,11 @@ components: status: type: string required: - - cityName - - code - - countryName - - label - - provider + - cityName + - code + - countryName + - label + - provider SyntheticDatacenterConfiguration: type: object properties: @@ -41895,10 +45783,10 @@ components: type: number format: double required: - - cityName - - countryName - - latitude - - longitude + - cityName + - countryName + - latitude + - longitude SyntheticLocation: type: object properties: @@ -41949,10 +45837,10 @@ components: type: integer format: int32 required: - - geoPoint - - label - - locationType - - playbackCapabilities + - geoPoint + - label + - locationType + - playbackCapabilities SyntheticLocationConfiguration: type: object properties: @@ -41963,55 +45851,57 @@ components: tenantType: type: string enum: - - Multi - - Single + - Multi + - Single SyntheticMetricConfiguration: type: object properties: aggregation: type: string - description: 'Set aggregation that can be applied to a series of values. - Eg: `MEAN`.' + description: >- + Set aggregation that can be applied to a series of values. Eg: + `MEAN`. enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE granularity: type: integer format: int32 - description: 'If the granularity is set you will get data points with the - specified granularity in seconds. Default: `1000` milliseconds' + description: >- + If the granularity is set you will get data points with the + specified granularity in seconds. Default: `1000` milliseconds + nullable: true metric: type: string description: 'Set a particular metric, eg: `latency`.' minLength: 1 required: - - aggregation - - metric + - aggregation + - metric SyntheticMetricTagGroup: type: object - description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` - and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.' + description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.' properties: direction: type: string enum: - - ASC - - DESC + - ASC + - DESC groupbyTag: type: string description: The name of the group tag (e.g. `agent.tag` or `docker.label`). @@ -42019,22 +45909,33 @@ components: minLength: 0 groupbyTagEntity: type: string - description: | + description: > The entity by which the data should be grouped. - This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`. + + This field supports three possible values: `NOT_APPLICABLE`, + `DESTINATION`, and `SOURCE`. + `SOURCE`: the tag filter should apply to the source entity. - `DESTINATION`: the tag filter should apply to the destination entity. - `NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call). + + `DESTINATION`: the tag filter should apply to the destination + entity. + + `NOT_APPLICABLE`: some tags are independent of source or + destination, such as tags on the call itself, log tags or trace tags + (only destination makes sense because the source is unknown for the + root call). enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE + - NOT_APPLICABLE + - DESTINATION + - SOURCE groupbyTagSecondLevelKey: type: string - description: If present, it's the 2nd level key part (e.g. `customKey` on + description: >- + If present, it's the 2nd level key part (e.g. `customKey` on `docker.label.customKey`) maxLength: 256 minLength: 0 + nullable: true includeOthers: type: boolean maxResults: @@ -42043,9 +45944,9 @@ components: maximum: 50 minimum: 1 required: - - direction - - groupbyTag - - groupbyTagEntity + - direction + - groupbyTag + - groupbyTagEntity SyntheticPlaybackCapabilities: type: object properties: @@ -42054,21 +45955,28 @@ components: items: type: string enum: - - chrome - - firefox + - chrome + - firefox executionType: type: array items: type: string enum: - - CI/CD + - CI/CD + extensions: + type: array + items: + type: string + enum: + - GitHub + - PW syntheticType: type: array items: type: string required: - - browserType - - syntheticType + - browserType + - syntheticType SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue: type: object properties: @@ -42126,20 +46034,21 @@ components: type: string SyntheticSloEntity: type: object - allOf: - - $ref: '#/components/schemas/SloEntity' - - type: object - properties: - includeUnscheduledTestResults: - type: boolean - description: 'Only includes the scheduled test results. ' - syntheticTestIds: - type: array - description: 'List of Unique Synthetic Tests IDs ' - items: - type: string + allOf: + - $ref: '#/components/schemas/SloEntity' + - type: object + properties: + includeUnscheduledTestResults: + type: boolean + description: 'Only includes the scheduled test results. ' + syntheticTestIds: + type: array description: 'List of Unique Synthetic Tests IDs ' - uniqueItems: true + items: + type: string + description: 'List of Unique Synthetic Tests IDs ' + nullable: true + uniqueItems: true SyntheticTest: type: object properties: @@ -42226,8 +46135,8 @@ components: playbackMode: type: string enum: - - Simultaneous - - Staggered + - Simultaneous + - Staggered rbacTags: type: array items: @@ -42251,11 +46160,11 @@ components: items: type: string required: - - active - - configuration - - label - - locations - - testFrequency + - active + - configuration + - label + - locations + - testFrequency SyntheticTestCICD: type: object properties: @@ -42266,8 +46175,8 @@ components: testId: type: string required: - - customization - - testId + - customization + - testId SyntheticTestCICDCustomization: type: object properties: @@ -42282,7 +46191,7 @@ components: items: type: string required: - - configuration + - configuration SyntheticTestCICDItem: type: object properties: @@ -42317,14 +46226,14 @@ components: items: type: string required: - - completed - - customization - - locationId - - locationLabel - - testId - - testLabel - - testResultId - - testType + - completed + - customization + - locationId + - locationLabel + - testId + - testLabel + - testResultId + - testType SyntheticTestCICDResponse: type: object properties: @@ -42335,32 +46244,33 @@ components: testResultId: type: string required: - - locationId - - testId - - testResultId + - locationId + - testId + - testResultId SyntheticTestDeepUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTestUpdate' - - type: object - properties: - configuration: - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - $ref: '#/components/schemas/SyntheticTestUpdate' + - type: object + properties: + configuration: + $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' required: - - syntheticUpdateType + - syntheticUpdateType SyntheticTestShallowUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTestUpdate' - - type: object - properties: - configuration: - $ref: '#/components/schemas/SyntheticConfigurationUpdate' + - $ref: '#/components/schemas/SyntheticTestUpdate' + - type: object + properties: + configuration: + $ref: '#/components/schemas/SyntheticConfigurationUpdate' required: - - syntheticUpdateType + - syntheticUpdateType SyntheticTestUpdate: type: object - description: Identifies the type of the synthetic tests updated on this request. + description: >- + Identifies the type of the synthetic tests updated on this request. Valid types are Deep and Shallow. discriminator: mapping: @@ -42373,7 +46283,8 @@ components: applications: $ref: '#/components/schemas/SyntheticResourceUpdateListStringListString' customProperties: - $ref: '#/components/schemas/SyntheticResourceUpdateMapStringStringListString' + $ref: >- + #/components/schemas/SyntheticResourceUpdateMapStringStringListString ids: type: array items: @@ -42395,13 +46306,17 @@ components: type: boolean syntheticUpdateType: type: string - description: | - Indicates the type of update to apply to a set of tests of same syntheticType (Deep) - or a mix of syntheticType values (Shallow). When Shallow is used, only the configuration properties + description: > + Indicates the type of update to apply to a set of tests of same + syntheticType (Deep) + + or a mix of syntheticType values (Shallow). When Shallow is used, + only the configuration properties + retries, retryInterval and timeout can be updated enum: - - Deep - - Shallow + - Deep + - Shallow testFrequency: type: integer format: int32 @@ -42410,11 +46325,12 @@ components: websites: $ref: '#/components/schemas/SyntheticResourceUpdateListStringListString' required: - - syntheticUpdateType + - syntheticUpdateType SyntheticTimeThreshold: type: object - description: The type of threshold to define the criteria when the event and - alert triggers and resolves. + description: >- + The type of threshold to define the criteria when the event and alert + triggers and resolves. discriminator: mapping: violationsInSequence: '#/components/schemas/ViolationsInSequenceSyntheticTimeThreshold' @@ -42428,12 +46344,15 @@ components: maximum: 12 minimum: 1 required: - - type + - type SyntheticTypeConfiguration: type: object - description: |- - Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, - DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript. + description: >- + Synthetic test configuration that is unique to a synthetic type. Valid + types are BrowserScript, + + DNS, ICMP, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and + WebpageScript. discriminator: mapping: BrowserScript: '#/components/schemas/BrowserScriptConfiguration' @@ -42462,25 +46381,28 @@ components: syntheticType: type: string enum: - - BrowserScript - - DNS - - HTTPAction - - HTTPScript - - ICMP - - SSLCertificate - - WebpageAction - - WebpageScript - - NotConfigured + - BrowserScript + - DNS + - HTTPAction + - HTTPScript + - ICMP + - SSLCertificate + - WebpageAction + - WebpageScript + - NotConfigured timeout: type: string required: - - markSyntheticCall - - syntheticType + - markSyntheticCall + - syntheticType SyntheticTypeConfigurationUpdate: type: object - description: |- - Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript, - DNS, HTTPAction, HTTPScript, ICMP, SSLCertificate, WebpageAction, and WebpageScript. + description: >- + Synthetic test configuration that is unique to a synthetic type. Valid + types are BrowserScript, + + DNS, HTTPAction, HTTPScript, ICMP, SSLCertificate, WebpageAction, and + WebpageScript. discriminator: mapping: BrowserScript: '#/components/schemas/BrowserScriptConfigurationUpdate' @@ -42508,55 +46430,55 @@ components: syntheticTest: type: string enum: - - BrowserScript - - DNS - - HTTPAction - - HTTPScript - - ICMP - - SSLCertificate - - WebpageAction - - WebpageScript - - NotConfigured + - BrowserScript + - DNS + - HTTPAction + - HTTPScript + - ICMP + - SSLCertificate + - WebpageAction + - WebpageScript + - NotConfigured writeOnly: true syntheticType: type: string enum: - - BrowserScript - - DNS - - HTTPAction - - HTTPScript - - ICMP - - SSLCertificate - - WebpageAction - - WebpageScript - - NotConfigured + - BrowserScript + - DNS + - HTTPAction + - HTTPScript + - ICMP + - SSLCertificate + - WebpageAction + - WebpageScript + - NotConfigured timeout: type: string SyntheticsEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - locationIds: - type: array - description: IDs of the locations. - items: - type: string + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + locationIds: + type: array description: IDs of the locations. - syntheticTestId: - type: string - description: ID of the synthetic test. + items: + type: string + description: IDs of the locations. + syntheticTestId: + type: string + description: ID of the synthetic test. SystemRule: type: object allOf: - - $ref: '#/components/schemas/AbstractRule' - - type: object - properties: - systemRuleId: - type: string + - $ref: '#/components/schemas/AbstractRule' + - type: object + properties: + systemRuleId: + type: string required: - - systemRuleId + - systemRuleId SystemRuleLabel: type: object properties: @@ -42566,13 +46488,15 @@ components: name: type: string required: - - id - - name + - id + - name Tag: type: object - description: | + description: > List of queryable tags available in a tagTree. Eg: `call.erroneous`. - Consider these tags as attributes of a tagTree. Eg: `Call` tagTree has have `Erroneous`, `Call name`, `Latency` etc as attributes. + + Consider these tags as attributes of a tagTree. Eg: `Call` tagTree has + have `Erroneous`, `Call name`, `Latency` etc as attributes. properties: aliases: type: array @@ -42592,69 +46516,77 @@ components: description: | List of product areas this tag is available in enum: - - INFRASTRUCTURE_METRICS - - APPLICATION - - WEBSITE - - MOBILE_APP - - EUM - - EUM_IMPACTED_BEACON - - EVENT - - SLI - - SLO - - SLO_PREVIEW - - USAGE - - LOG - - SYNTHETICS - - SYNTHETICS_DETAIL - - APDEX - - BIZOPS - - BUSINESS_METRICS - - SUBTRACE - - UNKNOWN + - INFRASTRUCTURE_METRICS + - APPLICATION + - WEBSITE + - MOBILE_APP + - EUM + - EUM_IMPACTED_BEACON + - EVENT + - SLI + - SLO + - SLO_PREVIEW + - USAGE + - LOG + - SYNTHETICS + - SYNTHETICS_DETAIL + - APDEX + - BIZOPS + - BUSINESS_METRICS + - SUBTRACE + - UNKNOWN uniqueItems: true canApplyToDestination: type: boolean - description: | + description: > Whether the tag is available for destination or not. - If source and destination is false, it means the tag is independent of source and destination. Eg: of such tag is `call.http.path`. + + If source and destination is false, it means the tag is independent + of source and destination. Eg: of such tag is `call.http.path`. canApplyToSource: type: boolean - description: | + description: > Whether the tag is available for source or not. - If source and destination is false, it means the tag is independent of source and destination. Eg: of such tag is `call.http.path`. + + If source and destination is false, it means the tag is independent + of source and destination. Eg: of such tag is `call.http.path`. description: type: string description: The description of the tag if it is provided. + nullable: true idTag: type: boolean - description: | + description: > Whether the Tag is a unique ID or not. - Eg: `idTag` for `endpoint.id` is true but for `call.rpc.method` it is false. + + Eg: `idTag` for `endpoint.id` is true but for `call.rpc.method` it + is false. + nullable: true label: type: string description: 'The name of the tag which is seen in the UI. Eg: `Call name`' maxLength: 256 minLength: 0 + nullable: true name: type: string description: 'The name of the tag. Eg: `call.name`' minLength: 1 type: type: string - description: 'The data type of the tag. Eg: `call.name` accepts `STRING` - value.' + description: 'The data type of the tag. Eg: `call.name` accepts `STRING` value.' enum: - - BOOLEAN - - STRING - - NUMBER - - STRING_SET - - STRING_LIST - - KEY_VALUE_PAIR - - FLOAT_LIST - - KEY_NUMBER_PAIR - required: - - name - - type + - BOOLEAN + - STRING + - NUMBER + - STRING_SET + - STRING_LIST + - KEY_VALUE_PAIR + - FLOAT_LIST + - KEY_NUMBER_PAIR + required: + - name + - type TagCatalog: type: object properties: @@ -42666,155 +46598,169 @@ components: $ref: '#/components/schemas/DynamicTag' tagTree: type: array - description: | - The name of the tag dataset (tagTree) which can contain one or more tags as its attributes or children. Eg: `Call`. - Consider this as the root of the tree where it has tags as attributes or children. + description: > + The name of the tag dataset (tagTree) which can contain one or more + tags as its attributes or children. Eg: `Call`. + + Consider this as the root of the tree where it has tags as + attributes or children. items: $ref: '#/components/schemas/TagTreeLevel' minItems: 1 tags: type: array - description: | + description: > List of queryable tags available in a tagTree. Eg: `call.erroneous`. - Consider these tags as attributes of a tagTree. Eg: `Call` tagTree has have `Erroneous`, `Call name`, `Latency` etc as attributes. + + Consider these tags as attributes of a tagTree. Eg: `Call` tagTree + has have `Erroneous`, `Call name`, `Latency` etc as attributes. items: $ref: '#/components/schemas/Tag' minItems: 1 required: - - tagTree - - tags + - tagTree + - tags TagFilter: type: object allOf: - - $ref: '#/components/schemas/TagFilterExpressionElement' - - type: object - properties: - entity: - type: string - description: SOURCE or DESTINATION tag in case of a call tag. For Infrastructure, - always set to NOT_APPLICABLE. - enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE - key: - type: string - description: Tag key in case of a key/value tag. - maxLength: 512 - minLength: 0 - name: - type: string - description: Name of the tag. - maxLength: 128 - minLength: 0 - operator: - type: string - enum: - - EQUALS - - CONTAINS - - IN - - NOT_IN - - LESS_THAN - - LESS_OR_EQUAL_THAN - - GREATER_THAN - - GREATER_OR_EQUAL_THAN - - NOT_EMPTY - - NOT_EQUAL - - NOT_CONTAIN - - IS_EMPTY - - NOT_BLANK - - IS_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - REGEX_MATCH - value: - type: object - description: Tag value to filter on. Can be a string, number, or boolean - value. + - $ref: '#/components/schemas/TagFilterExpressionElement' + - type: object + properties: + entity: + type: string + description: >- + SOURCE or DESTINATION tag in case of a call tag. For + Infrastructure, always set to NOT_APPLICABLE. + enum: + - NOT_APPLICABLE + - DESTINATION + - SOURCE + key: + type: string + description: Tag key in case of a key/value tag. + maxLength: 512 + minLength: 0 + nullable: true + name: + type: string + description: Name of the tag. + maxLength: 128 + minLength: 0 + operator: + type: string + enum: + - EQUALS + - CONTAINS + - IN + - NOT_IN + - LESS_THAN + - LESS_OR_EQUAL_THAN + - GREATER_THAN + - GREATER_OR_EQUAL_THAN + - NOT_EMPTY + - NOT_EQUAL + - NOT_CONTAIN + - IS_EMPTY + - NOT_BLANK + - IS_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - REGEX_MATCH + value: + type: object + description: >- + Tag value to filter on. Can be a string, number, or boolean + value. + nullable: true required: - - entity - - name - - operator + - entity + - name + - operator TagFilterExpression: type: object allOf: - - $ref: '#/components/schemas/TagFilterExpressionElement' - - type: object - properties: - elements: - type: array - items: - $ref: '#/components/schemas/TagFilterExpressionElement' - logicalOperator: - type: string - description: Set AND / OR - enum: - - AND - - OR + - $ref: '#/components/schemas/TagFilterExpressionElement' + - type: object + properties: + elements: + type: array + items: + $ref: '#/components/schemas/TagFilterExpressionElement' + logicalOperator: + type: string + description: Set AND / OR + enum: + - AND + - OR required: - - elements - - logicalOperator + - elements + - logicalOperator TagFilterExpressionElement: type: object - description: Boolean expression of tag filters to define the scope of relevant - calls. + description: Boolean expression of tag filters to define the scope of relevant calls. discriminator: mapping: EXPRESSION: '#/components/schemas/TagFilterExpression' TAG_FILTER: '#/components/schemas/TagFilter' propertyName: type + nullable: true properties: type: type: string required: - - type + - type TagMatcherDTO: type: object allOf: - - $ref: '#/components/schemas/MatchExpressionDTO' - - type: object - properties: - entity: - type: string - enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE - key: - type: string - minLength: 1 - operator: - type: string - enum: - - EQUALS - - NOT_EQUAL - - CONTAINS - - NOT_CONTAIN - - IS_EMPTY - - NOT_EMPTY - - IS_BLANK - - NOT_BLANK - - STARTS_WITH - - ENDS_WITH - - NOT_STARTS_WITH - - NOT_ENDS_WITH - - GREATER_OR_EQUAL_THAN - - LESS_OR_EQUAL_THAN - - LESS_THAN - - GREATER_THAN - value: - type: string + - $ref: '#/components/schemas/MatchExpressionDTO' + - type: object + properties: + entity: + type: string + enum: + - NOT_APPLICABLE + - DESTINATION + - SOURCE + nullable: true + key: + type: string + minLength: 1 + operator: + type: string + enum: + - EQUALS + - NOT_EQUAL + - CONTAINS + - NOT_CONTAIN + - IS_EMPTY + - NOT_EMPTY + - IS_BLANK + - NOT_BLANK + - STARTS_WITH + - ENDS_WITH + - NOT_STARTS_WITH + - NOT_ENDS_WITH + - GREATER_OR_EQUAL_THAN + - LESS_OR_EQUAL_THAN + - LESS_THAN + - GREATER_THAN + value: + type: string + nullable: true required: - - entity - - key - - operator + - entity + - key + - operator TagTreeLevel: type: object - description: | - The name of the tag dataset (tagTree) which can contain one or more tags as its attributes or children. Eg: `Call`. - Consider this as the root of the tree where it has tags as attributes or children. + description: > + The name of the tag dataset (tagTree) which can contain one or more tags + as its attributes or children. Eg: `Call`. + + Consider this as the root of the tree where it has tags as attributes or + children. properties: children: type: array @@ -42827,14 +46773,20 @@ components: description: The description provided, if any. maxLength: 512 minLength: 0 + nullable: true icon: type: string - description: | - Each tag has an Icon which can be seen on the drop down list in Unbounded Analytics. + description: > + Each tag has an Icon which can be seen on the drop down list in + Unbounded Analytics. + If there is an icon, there will be a string associated with it. - Eg: For for all `TAG` under `Call` tagTreeNode, the `icon` value is `lib_application_call`. + + Eg: For for all `TAG` under `Call` tagTreeNode, the `icon` value is + `lib_application_call`. maxLength: 128 minLength: 0 + nullable: true label: type: string description: 'The name of the tagTreeNode. Eg: `Commonly Used`, `Application`.' @@ -42845,18 +46797,26 @@ components: scoreBoost: type: integer format: int32 - description: | + description: > By default it is `null` if it is not set explictily by IBM Instana. - The purpose of this parameter is to rank the tagTree. For eg: some set of tags are frequently used. - Tags under `Commonly used` is frequently used, so it will come up on top of the drop down list of `Query Builder` in `Unbounded Analytics`. + + The purpose of this parameter is to rank the tagTree. For eg: some + set of tags are frequently used. + + Tags under `Commonly used` is frequently used, so it will come up on + top of the drop down list of `Query Builder` in `Unbounded + Analytics`. + Higher the scoreBoost, higher the ranking. + nullable: true type: type: string - description: Type would be either `LEVEL` or `TAG` depending on whether - the tag has any child tags or not respectively. + description: >- + Type would be either `LEVEL` or `TAG` depending on whether the tag + has any child tags or not respectively. required: - - children - - label + - children + - label TagTreeNode: type: object description: Children tags of tagTree @@ -42872,55 +46832,73 @@ components: type: string type: type: string - description: Type would be either `LEVEL` or `TAG` depending on whether - the tag has any child tags or not respectively. + description: >- + Type would be either `LEVEL` or `TAG` depending on whether the tag + has any child tags or not respectively. TagTreeTag: type: object allOf: - - $ref: '#/components/schemas/TagTreeNode' - - type: object - properties: - description: - type: string - maxLength: 512 - minLength: 0 - hidden: - type: boolean - description: If true, the tag will not be available for query in Unbounded - Analytics. - icon: - type: string - maxLength: 128 - minLength: 0 - label: - type: string - description: 'The name of the tagTreeNode. Eg: `Call Error Message`, `Endpoint - Name`.' - maxLength: 128 - minLength: 0 - queryable: - type: boolean - description: | - queryable property can have 3 states which will be reflected in the drop down list in `Query Builder` of `Unbounded Analytics` of Instana UI: - - true: the tag has been seen by IBM Instana and must be shown. - - false: the tag could have been processed, but has not been seen by IBM Instana and could be hidden. - - null: the tag has not been processed and should be shown. - The purpose is to make it easier for customers to find the right tags in drop down list - scoreBoost: - type: integer - format: int32 - description: | - By default it is `null` if it is not set explictily by IBM Instana. - The purpose of this parameter is to rank the Tag. For eg: tags are frequently used within the tagTree - For eg, assume there are 8 tags under `Commonly Used`. IBM Instana can set the ranking for each of these tags within `Commonly Used`. - Higher the scoreBoost, higher the ranking. - tagName: - type: string - maxLength: 128 - minLength: 0 + - $ref: '#/components/schemas/TagTreeNode' + - type: object + properties: + description: + type: string + maxLength: 512 + minLength: 0 + nullable: true + hidden: + type: boolean + description: >- + If true, the tag will not be available for query in Unbounded + Analytics. + nullable: true + icon: + type: string + maxLength: 128 + minLength: 0 + nullable: true + label: + type: string + description: >- + The name of the tagTreeNode. Eg: `Call Error Message`, `Endpoint + Name`. + maxLength: 128 + minLength: 0 + queryable: + type: boolean + description: > + queryable property can have 3 states which will be reflected in + the drop down list in `Query Builder` of `Unbounded Analytics` + of Instana UI: + - true: the tag has been seen by IBM Instana and must be shown. + - false: the tag could have been processed, but has not been seen by IBM Instana and could be hidden. + - null: the tag has not been processed and should be shown. + The purpose is to make it easier for customers to find the right + tags in drop down list + nullable: true + scoreBoost: + type: integer + format: int32 + description: > + By default it is `null` if it is not set explictily by IBM + Instana. + + The purpose of this parameter is to rank the Tag. For eg: tags + are frequently used within the tagTree + + For eg, assume there are 8 tags under `Commonly Used`. IBM + Instana can set the ranking for each of these tags within + `Commonly Used`. + + Higher the scoreBoost, higher the ranking. + nullable: true + tagName: + type: string + maxLength: 128 + minLength: 0 required: - - label - - tagName + - label + - tagName TestCommonProperties: type: object properties: @@ -42981,6 +46959,7 @@ components: modifiedAt: type: integer format: int64 + nullable: true rbacTags: type: array items: @@ -43001,37 +46980,41 @@ components: type: string writeOnly: true required: - - active - - frequency - - id - - label - - type + - active + - frequency + - id + - label + - type TestConnectionResponse: type: object description: Response from a test connection request properties: connected: type: boolean - description: Indicates whether the connection to the remote service was + description: >- + Indicates whether the connection to the remote service was established successfully example: true message: type: string - description: A human-readable message describing the outcome of the connection + description: >- + A human-readable message describing the outcome of the connection test example: Connection successful statusCode: type: integer format: int32 - description: The HTTP status code returned by the remote service during - the connection test + description: >- + The HTTP status code returned by the remote service during the + connection test example: 200 required: - - connected - - message - - statusCode + - connected + - message + - statusCode TestLastError: type: object + nullable: true properties: errors: type: array @@ -43074,6 +47057,18 @@ components: type: array items: type: string + icmpPacketCount: + type: integer + format: int32 + icmpPacketInterval: + type: string + icmpPacketSize: + type: integer + format: int32 + icmpPacketTimeout: + type: string + icmpTargetHost: + type: string id: type: string ismDetails: @@ -43088,8 +47083,13 @@ components: type: string runType: type: string + nullable: true sslDaysRemaining: type: string + nullable: true + sslHostname: + type: string + nullable: true testCommonProperties: $ref: '#/components/schemas/TestCommonProperties' testId: @@ -43100,8 +47100,8 @@ components: testName: type: string required: - - clientId - - testId + - clientId + - testId TestResultDetailData: type: object properties: @@ -43174,7 +47174,7 @@ components: items: type: string required: - - testId + - testId TestResultListItem: type: object properties: @@ -43189,8 +47189,8 @@ components: testResultCommonProperties: $ref: '#/components/schemas/TestResultCommonProperties' required: - - metrics - - testResultCommonProperties + - metrics + - testResultCommonProperties TestResultListResult: type: object properties: @@ -43212,7 +47212,7 @@ components: format: int64 minimum: 0 required: - - items + - items TestResultMetadata: type: object properties: @@ -43229,7 +47229,7 @@ components: testResultId: type: string required: - - testId + - testId TestResultSubtransaction: type: object properties: @@ -43242,8 +47242,8 @@ components: additionalProperties: type: object required: - - metrics - - properties + - metrics + - properties Threshold: type: object deprecated: true @@ -43254,19 +47254,22 @@ components: historicBaseline: '#/components/schemas/HistoricBaseline' staticThreshold: '#/components/schemas/StaticThreshold' propertyName: type + nullable: true properties: operator: type: string enum: - - '>' - - '>=' - - < - - <= + - '>' + - '>=' + - < + - <= + - OUTSIDE + - BETWEEN type: type: string required: - - operator - - type + - operator + - type ThresholdConfigRule: type: object discriminator: @@ -43279,66 +47282,84 @@ components: type: type: string required: - - type + - type ThresholdRule: type: object allOf: - - $ref: '#/components/schemas/AbstractRule' - - type: object - properties: - aggregation: - type: string - enum: - - sum - - avg - - min - - max - - absolute_diff - - relative_diff - conditionOperator: - type: string - enum: - - '>' - - '>=' - - < - - <= - - = - - '!=' - conditionValue: - type: number - format: double - metricName: - type: string - maxLength: 512 - minLength: 0 - metricPattern: - $ref: '#/components/schemas/MetricPattern' - rollup: - type: integer - format: int64 - window: - type: integer - format: int64 - required: - - conditionOperator + - $ref: '#/components/schemas/AbstractRule' + - type: object + properties: + aggregation: + type: string + enum: + - sum + - avg + - min + - max + - absolute_diff + - relative_diff + nullable: true + conditionOperator: + type: string + enum: + - '>' + - '>=' + - < + - <= + - '=' + - '!=' + conditionValue: + type: number + format: double + metricName: + type: string + maxLength: 512 + minLength: 0 + nullable: true + metricPattern: + $ref: '#/components/schemas/MetricPattern' + rollup: + type: integer + format: int64 + window: + type: integer + format: int64 + required: + - conditionOperator ThroughputApplicationAlertRule: type: object allOf: - - $ref: '#/components/schemas/ApplicationAlertRule' + - $ref: '#/components/schemas/ApplicationAlertRule' required: - - metricName + - metricName ThroughputMobileAppAlertRule: type: object allOf: - - $ref: '#/components/schemas/MobileAppAlertRule' + - $ref: '#/components/schemas/MobileAppAlertRule' required: - - metricName + - metricName ThroughputWebsiteAlertRule: type: object allOf: - - $ref: '#/components/schemas/WebsiteAlertRule' + - $ref: '#/components/schemas/WebsiteAlertRule' required: - - metricName + - metricName + TimeConfig: + type: object + properties: + autoRefresh: + type: boolean + focusedMoment: + type: integer + format: int64 + nullable: true + to: + type: integer + format: int64 + nullable: true + windowSize: + type: integer + format: int64 TimeFrame: type: object description: Time range for which the data should be retrieved. @@ -43346,9 +47367,11 @@ components: to: type: integer format: int64 - description: 'end of timeframe expressed as the Unix epoch time in milliseconds. - Eg: `ISO 8601` standard time `2024-06-27T05:05:55.615Z` can be represented - as `1719464755615` in Unix epoch time in milliseconds.' + description: >- + end of timeframe expressed as the Unix epoch time in milliseconds. + Eg: `ISO 8601` standard time `2024-06-27T05:05:55.615Z` can be + represented as `1719464755615` in Unix epoch time in milliseconds. + nullable: true windowSize: type: integer format: int64 @@ -43372,22 +47395,22 @@ components: type: string description: Unit of the Time Window Duration enum: - - millisecond - - second - - minute - - hour - - day - - week - - calendar_month + - millisecond + - second + - minute + - hour + - day + - week + - calendar_month timezone: type: string description: Timezone string type: type: string required: - - duration - - durationUnit - - type + - duration + - durationUnit + - type Topology: type: object properties: @@ -43417,8 +47440,9 @@ components: description: Flag which tells whether the trace is erroneous or not id: type: string - description: The trace ID. All spans of the same trace must have the same - trace ID. For example, `e93282c0d5018320`. + description: >- + The trace ID. All spans of the same trace must have the same trace + ID. For example, `e93282c0d5018320`. minLength: 1 label: type: string @@ -43432,18 +47456,23 @@ components: description: The start time of the trace. minimum: 1 required: - - id - - label + - id + - label TraceActivityTreeNodeDetails: type: object properties: batchSelfTime: type: integer format: int64 - description: | + description: > Sum of all self times in a batch of calls. - For example, if 5 calls are in a batch and its self times are : `[1,2,3,4,5]` in milliseconds, then the batch self time would be sum of the self times, + + For example, if 5 calls are in a batch and its self times are : + `[1,2,3,4,5]` in milliseconds, then the batch self time would be sum + of the self times, + in this case, it will be 15 milliseconds. + nullable: true batchSize: type: integer format: int32 @@ -43454,21 +47483,24 @@ components: duration: type: integer format: int64 - description: The total time taken for the entire operation of a call, from - the moment the request was initiated to when the response was received. - The time measured is in milliseconds. This is also known as latency of - a call. + description: >- + The total time taken for the entire operation of a call, from the + moment the request was initiated to when the response was received. + The time measured is in milliseconds. This is also known as latency + of a call. minimum: 0 errorCount: type: integer format: int32 - description: Represents whether the call is erroneous or not. 0 is not erroneous + description: >- + Represents whether the call is erroneous or not. 0 is not erroneous and 1 is erroneous. minimum: 0 id: type: string - description: 'The call ID. A unique identifier for an individual call. For - example: `1bcad5c82338deaf`.' + description: >- + The call ID. A unique identifier for an individual call. For + example: `1bcad5c82338deaf`. minLength: 1 isSynthetic: type: boolean @@ -43487,30 +47519,35 @@ components: minSelfTime: type: integer format: int64 - description: The smallest self time in the batch. May be null to indicate - that `minSelfTime` is unknown when this node has only an exit span and - no children. The time measured is in milliseconds. + description: >- + The smallest self time in the batch. May be null to indicate that + `minSelfTime` is unknown when this node has only an exit span and no + children. The time measured is in milliseconds. + nullable: true networkTime: type: integer format: int64 - description: The time difference between the Exit Span Time of the caller - and the Entry Span Time of the call. This value is measured in milliseconds + description: >- + The time difference between the Exit Span Time of the caller and the + Entry Span Time of the call. This value is measured in milliseconds and may be null if network time is not applicable. + nullable: true rawSpanLoadError: type: string description: Whether an error occurred loading raw spans from external storage. enum: - - UNKNOWN_ERROR - - NOT_FOUND - - PERMISSION_DENIED - - NO_ERROR + - UNKNOWN_ERROR + - NOT_FOUND + - PERMISSION_DENIED + - NO_ERROR samplingFactor: type: integer format: int64 - description: Sampling factor represents the inverse of the sampling rate - and indicates how many actual calls are represented by a single sampled - call. For example, a sampling factor of 10 means that one sampled call - represents 10 actual calls. + description: >- + Sampling factor represents the inverse of the sampling rate and + indicates how many actual calls are represented by a single sampled + call. For example, a sampling factor of 10 means that one sampled + call represents 10 actual calls. source: $ref: '#/components/schemas/SpanRelation' spans: @@ -43524,17 +47561,18 @@ components: start: type: integer format: int64 - description: The timestamp when the call or request was initiated. For example, - Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December - 2024 04:27:59.870 GMT` + description: >- + The timestamp when the call or request was initiated. For example, + Unix epoch time in milliseconds `1735532879870` is `Monday, 30 + December 2024 04:27:59.870 GMT` minimum: 1 synthetic: type: boolean required: - - id - - label - - logs - - spans + - id + - label + - logs + - spans TraceDownloadResult: type: object properties: @@ -43542,13 +47580,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/GetTraceDownloadResultItem' totalHits: @@ -43559,22 +47601,28 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items + - items TraceGroupsItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: cursor: $ref: '#/components/schemas/IngestionOffsetCursor' @@ -43582,26 +47630,44 @@ components: type: object additionalProperties: type: array - description: | + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. items: type: array - description: | + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: + `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. items: type: number - description: | + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. - description: | + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: + `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. + description: > Grouped metric details like `errors.mean`, `calls.sum`. - It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`. - Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`. + + It is usually a array of key-value pair. Format of key is + `metric.aggregation.granularity`, for example: `latency.p75.360`. + + Format of value is `[earliest timestamp, value of key]`, for + example: `[1725602720000, 0.013141001434936938]`. name: type: string description: Name of the group. @@ -43612,9 +47678,9 @@ components: description: Earliest timestamp of the trace from the group minimum: 0 required: - - cursor - - metrics - - name + - cursor + - metrics + - name TraceGroupsResult: type: object properties: @@ -43622,13 +47688,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/TraceGroupsItem' totalHits: @@ -43639,40 +47709,46 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items - TraceImpactApplicationTimeThreshold: - type: object - allOf: - - $ref: '#/components/schemas/ApplicationTimeThreshold' - - type: object - properties: - requests: - type: integer - format: int32 - minimum: 1 + - items + TraceImpactApplicationTimeThreshold: + type: object + allOf: + - $ref: '#/components/schemas/ApplicationTimeThreshold' + - type: object + properties: + requests: + type: integer + format: int32 + minimum: 1 TraceItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: cursor: $ref: '#/components/schemas/IngestionOffsetCursor' trace: $ref: '#/components/schemas/Trace' required: - - cursor - - trace + - cursor + - trace TraceResult: type: object properties: @@ -43680,13 +47756,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/TraceItem' totalHits: @@ -43697,42 +47777,88 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. + minimum: 0 + required: + - items + TraceSamplingConfig: + type: object + properties: + createdAt: + type: integer + format: int64 + enabled: + type: boolean + evaluationWindowMinutes: + type: integer + format: int32 + minimum: 1 + retentionPercentage: + type: number + format: double + exclusiveMinimum: false + maximum: 100 + minimum: 0.01 + samplingFrequencyHours: + type: integer + format: int32 + minimum: 0 + samplingRate: + type: number + format: double + maximum: 100 minimum: 0 + samplingType: + type: string + tenantUnitId: + type: string + updatedAt: + type: integer + format: int64 + volumeStrategy: + type: string required: - - items + - enabled + - samplingType + - volumeStrategy TrafficBlueprintIndicator: type: object allOf: - - $ref: '#/components/schemas/ServiceLevelIndicator' - - type: object - properties: - threshold: - type: number - format: double - description: Threshold Value for the Blueprint - exclusiveMinimum: false - minimum: 0.0 - trafficType: - type: string - enum: - - erroneous - - all + - $ref: '#/components/schemas/ServiceLevelIndicator' + - type: object + properties: + metric: + $ref: '#/components/schemas/EntityMetric' + threshold: + type: number + format: double + description: Threshold Value for the Blueprint + exclusiveMinimum: false + minimum: 0 + trafficType: + type: string + enum: + - erroneous + - all required: - - trafficType - - type + - trafficType + - type Trigger: type: object - description: The trigger is the Instana event or Smart Alert that defines the - initial conditions that must be met for the policy to apply on the actions - in `typeConfiguration`. + description: >- + The trigger is the Instana event or Smart Alert that defines the initial + conditions that must be met for the policy to apply on the actions in + `typeConfiguration`. properties: description: type: string @@ -43747,53 +47873,125 @@ components: $ref: '#/components/schemas/PolicyScheduling' type: type: string - description: Instana event type, Smart Alert type, or 'schedule'. The type - must be one of the enum values. + description: >- + Instana event type, Smart Alert type, or 'schedule'. The type must + be one of the enum values. enum: - - customEvent - - builtinEvent - - applicationSmartAlert - - globalApplicationSmartAlert - - websiteSmartAlert - - infraSmartAlert - - mobileAppSmartAlert - - syntheticsSmartAlert - - logSmartAlert - - sloSmartAlert - - schedule - required: - - type + - customEvent + - builtinEvent + - applicationSmartAlert + - globalApplicationSmartAlert + - websiteSmartAlert + - infraSmartAlert + - mobileAppSmartAlert + - syntheticsSmartAlert + - logSmartAlert + - sloSmartAlert + - schedule + required: + - type TypeConfiguration: type: object - description: List of configurations that contains the list of actions to run - and the mode (automatic or manual) in which the policy is run. + description: >- + List of configurations that contains the list of actions to run and the + mode (automatic or manual) in which the policy is run. properties: condition: $ref: '#/components/schemas/Condition' + maintenanceWindowIds: + type: array + description: >- + Optional list of maintenance window identifiers. When set, the + policy will only run outside of the specified maintenance windows. + items: + type: string + description: >- + Optional list of maintenance window identifiers. When set, the + policy will only run outside of the specified maintenance windows. name: type: string - description: The policy type determines how a policy is run. Value must - be one of the enum values. Value `manual` means the policy is run manually - when an event is raised. Value `automatic` means policy is run automatically - when an event is raised. + description: >- + The policy type determines how a policy is run. Value must be one of + the enum values. Value `manual` means the policy is run manually + when an event is raised. Value `automatic` means policy is run + automatically when an event is raised. enum: - - automatic - - manual + - automatic + - manual runnable: $ref: '#/components/schemas/PolicyRunnable' required: - - name - - runnable + - name + - runnable UnsupportedHttpPathSegmentMatchingRule: type: object allOf: - - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' - - type: object - properties: - unsupportedType: + - $ref: '#/components/schemas/HttpPathSegmentMatchingRule' + - type: object + properties: + unsupportedType: + type: string + required: + - type + UpdateEvaluationRequest: + type: object + properties: + description: + type: string + evaluation_id: + type: string + minLength: 1 + evaluation_name: + type: string + minLength: 1 + evaluator_ids: + type: array + items: + type: string + minItems: 1 + metadata: + type: object + additionalProperties: + type: object + model_names: + type: array + items: + type: string + sampling_percentage: + type: number + format: float + service_names: + type: array + items: + type: string + time_before_run_hours: + type: integer + format: int32 + time_before_run_minutes: + type: integer + format: int32 + trace_ids: + type: array + items: type: string required: - - type + - evaluation_id + - evaluation_name + - evaluator_ids + UpdateFleetConfigurationRequest: + type: object + properties: + configuration: + type: object + name: + type: string + minLength: 1 + version: + type: string + required: + - configuration + - name + - version UpdatedBusinessPerspectiveConfig: type: object properties: @@ -43838,57 +48036,57 @@ components: type: string minLength: 1 required: - - email - - fullName - - id + - email + - fullName + - id UserImpactMobileAppTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/MobileAppTimeThreshold' - - type: object - properties: - impactMeasurementMethod: - type: string - enum: - - AGGREGATED - - PER_WINDOW - userPercentage: - type: number - format: double - exclusiveMaximum: false - exclusiveMinimum: true - maximum: 1.0 - minimum: 0.0 - users: - type: integer - format: int32 - minimum: 1 - required: - - impactMeasurementMethod + - $ref: '#/components/schemas/MobileAppTimeThreshold' + - type: object + properties: + impactMeasurementMethod: + type: string + enum: + - AGGREGATED + - PER_WINDOW + userPercentage: + type: number + format: double + exclusiveMaximum: false + exclusiveMinimum: true + maximum: 1 + minimum: 0 + users: + type: integer + format: int32 + minimum: 1 + required: + - impactMeasurementMethod UserImpactWebsiteTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/WebsiteTimeThreshold' - - type: object - properties: - impactMeasurementMethod: - type: string - enum: - - AGGREGATED - - PER_WINDOW - userPercentage: - type: number - format: double - exclusiveMaximum: false - exclusiveMinimum: true - maximum: 1.0 - minimum: 0.0 - users: - type: integer - format: int32 - minimum: 1 - required: - - impactMeasurementMethod + - $ref: '#/components/schemas/WebsiteTimeThreshold' + - type: object + properties: + impactMeasurementMethod: + type: string + enum: + - AGGREGATED + - PER_WINDOW + userPercentage: + type: number + format: double + exclusiveMaximum: false + exclusiveMinimum: true + maximum: 1 + minimum: 0 + users: + type: integer + format: int32 + minimum: 1 + required: + - impactMeasurementMethod UserResult: type: object properties: @@ -43901,22 +48099,26 @@ components: groupCount: type: integer format: int64 + nullable: true id: type: string minLength: 1 lastLoggedIn: type: integer format: int64 + nullable: true teamNames: type: array items: type: string + nullable: true tfaEnabled: type: boolean + nullable: true required: - - email - - fullName - - id + - email + - fullName + - id UsersResult: type: object properties: @@ -43938,8 +48140,10 @@ components: description: Flag to indicate whether or not the configuration is enabled. entityId: type: string - description: The entity ID in case of Smart Alerts, such as for the application, + description: >- + The entity ID in case of Smart Alerts, such as for the application, website or mobile app. + nullable: true eventTypes: type: array description: The selected event types, if applicable. @@ -43947,17 +48151,18 @@ components: type: string description: The selected event types, if applicable. enum: - - incident - - critical - - warning - - change - - online - - offline - - agent_monitoring_issue - - cve_issue - - none + - incident + - critical + - warning + - change + - online + - offline + - agent_monitoring_issue + - cve_issue + - none maxItems: 6 minItems: 0 + nullable: true uniqueItems: true id: type: string @@ -43981,24 +48186,25 @@ components: type: integer format: int32 description: The number of selected events, if applicable. + nullable: true type: type: string description: The alert type. enum: - - Alert - - WebsiteSmartAlert - - MobileSmartAlert - - ApplicationSmartAlert - - GlobalApplicationSmartAlert - - SyntheticSmartAlert - - InfraSmartAlert - - ServiceLevelSmartAlert - - ApdexSmartAlert - - LogSmartAlert - required: - - id - - label - - type + - Alert + - WebsiteSmartAlert + - MobileSmartAlert + - ApplicationSmartAlert + - GlobalApplicationSmartAlert + - SyntheticSmartAlert + - InfraSmartAlert + - ServiceLevelSmartAlert + - ApdexSmartAlert + - LogSmartAlert + required: + - id + - label + - type ValidatedAlertingConfiguration: type: object properties: @@ -44016,15 +48222,20 @@ components: minLength: 0 applicationNames: type: array - description: Set of Application Perspective names added in the Alert Configuration. + description: >- + Set of Application Perspective names added in the Alert + Configuration. items: type: string - description: Set of Application Perspective names added in the Alert Configuration. + description: >- + Set of Application Perspective names added in the Alert + Configuration. uniqueItems: true customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Supports both static and dynamic fields. Can be left + description: >- + Custom payload fields to send additional information in the alert + notifications. Supports both static and dynamic fields. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' @@ -44039,8 +48250,9 @@ components: minLength: 0 includeEntityNameInLegacyAlerts: type: boolean - description: To include the entity name in a legacy alert based on built-in/custom - events. + description: >- + To include the entity name in a legacy alert based on + built-in/custom events. integrationIds: type: array description: List of Alert Channel IDs added in this Alert Configuration. @@ -44057,32 +48269,36 @@ components: lastUpdated: type: integer format: int64 - description: Unix timestamp representing the time the configuration was - last updated. + description: >- + Unix timestamp representing the time the configuration was last + updated. minimum: 1 muteUntil: type: integer format: int64 - description: Timer dictating how long the Alert Configuration will stay - muted. A value of `0` means the Alert Configuration is currently enabled. + description: >- + Timer dictating how long the Alert Configuration will stay muted. A + value of `0` means the Alert Configuration is currently enabled. Otherwise, the Alert Configuration is currently disabled (muted). required: - - alertName - - customPayloadFields - - eventFilteringConfiguration - - id - - integrationIds + - alertName + - customPayloadFields + - eventFilteringConfiguration + - id + - integrationIds ValidatedMaintenanceConfigV2WithStateAndOccurrence: type: object properties: applicationNames: type: array - description: Name set of the Application Perspectives within the scope of - the Maintenance Window + description: >- + Name set of the Application Perspectives within the scope of the + Maintenance Window items: type: string - description: Name set of the Application Perspectives within the scope - of the Maintenance Window + description: >- + Name set of the Application Perspectives within the scope of the + Maintenance Window uniqueItems: true id: type: string @@ -44091,8 +48307,7 @@ components: minLength: 0 invalid: type: boolean - description: Boolean flag that tells if the Dynamic Focus Query(DFQ) is - invalid. + description: Boolean flag that tells if the Dynamic Focus Query(DFQ) is invalid. lastUpdated: type: integer format: int64 @@ -44106,42 +48321,46 @@ components: $ref: '#/components/schemas/Occurrence' paused: type: boolean - description: Boolean flag to determine if the Maintenance Window configuration - is paused or still live. + description: >- + Boolean flag to determine if the Maintenance Window configuration is + paused or still live. query: type: string - description: Dynamic Focus Query that determines the scope of the Maintenance + description: >- + Dynamic Focus Query that determines the scope of the Maintenance Window configuration. maxLength: 2048 minLength: 0 retriggerOpenAlertsEnabled: type: boolean - description: Boolean flag to determine if we should retrigger open alerts - to be sent out for any events that opened during this maintenance window, + description: >- + Boolean flag to determine if we should retrigger open alerts to be + sent out for any events that opened during this maintenance window, and continues to remain open after the window expires scheduling: $ref: '#/components/schemas/MaintenanceConfigScheduling' state: type: string - description: 'State of the Maintenance Window, it can be: UNSCHEDULED, SCHEDULED, - ACTIVE, PAUSED, EXPIRED.' + description: >- + State of the Maintenance Window, it can be: UNSCHEDULED, SCHEDULED, + ACTIVE, PAUSED, EXPIRED. enum: - - UNSCHEDULED - - SCHEDULED - - ACTIVE - - PAUSED - - EXPIRED + - UNSCHEDULED + - SCHEDULED + - ACTIVE + - PAUSED + - EXPIRED tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilterExpressionEnabled: type: boolean description: Boolean flag to determine if the tagFilterExpression is enabled. required: - - id - - name - - occurrence - - query - - scheduling + - id + - name + - occurrence + - query + - scheduling ValidatedMaintenanceConfigWithStatus: type: object properties: @@ -44152,8 +48371,7 @@ components: minLength: 0 invalid: type: boolean - description: Boolean flag that tells if the Dynamic Focus Query(DFQ) is - invalid. + description: Boolean flag that tells if the Dynamic Focus Query(DFQ) is invalid. lastUpdated: type: integer format: int64 @@ -44165,254 +48383,261 @@ components: minLength: 0 query: type: string - description: Dynamic Focus Query that determines the scope of the Maintenance + description: >- + Dynamic Focus Query that determines the scope of the Maintenance Window configuration. maxLength: 2048 minLength: 0 status: type: string - description: 'Status of the Maintenance Window Configuration. It can be - one of: UNSCHEDULED, SCHEDULED, ACTIVE, FINISHED, PAUSED.' + description: >- + Status of the Maintenance Window Configuration. It can be one of: + UNSCHEDULED, SCHEDULED, ACTIVE, FINISHED, PAUSED. enum: - - UNSCHEDULED - - SCHEDULED - - ACTIVE - - FINISHED - - PAUSED + - UNSCHEDULED + - SCHEDULED + - ACTIVE + - FINISHED + - PAUSED windows: type: array - description: A set of time periods when the Maintenance Window Configuration - is active. + description: >- + A set of time periods when the Maintenance Window Configuration is + active. items: $ref: '#/components/schemas/MaintenanceWindow' maxItems: 1 minItems: 0 uniqueItems: true required: - - id - - name - - query - - status + - id + - name + - query + - status VictorOpsIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - apiKey: - type: string - minLength: 1 - routingKey: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + apiKey: + type: string + minLength: 1 + routingKey: + type: string + minLength: 1 required: - - apiKey - - id - - kind - - name - - routingKey + - apiKey + - id + - kind + - name + - routingKey ViolationsInPeriodApplicationTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/ApplicationTimeThreshold' - - type: object - properties: - violations: - type: integer - format: int32 - maximum: 12 - minimum: 1 + - $ref: '#/components/schemas/ApplicationTimeThreshold' + - type: object + properties: + violations: + type: integer + format: int32 + maximum: 12 + minimum: 1 ViolationsInPeriodMobileAppTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/MobileAppTimeThreshold' - - type: object - properties: - violations: - type: integer - format: int32 - maximum: 12 - minimum: 1 + - $ref: '#/components/schemas/MobileAppTimeThreshold' + - type: object + properties: + violations: + type: integer + format: int32 + maximum: 12 + minimum: 1 ViolationsInPeriodWebsiteTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/WebsiteTimeThreshold' - - type: object - properties: - violations: - type: integer - format: int32 - maximum: 12 - minimum: 1 + - $ref: '#/components/schemas/WebsiteTimeThreshold' + - type: object + properties: + violations: + type: integer + format: int32 + maximum: 12 + minimum: 1 ViolationsInSequenceApplicationTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/ApplicationTimeThreshold' + - $ref: '#/components/schemas/ApplicationTimeThreshold' ViolationsInSequenceInfraTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/InfraTimeThreshold' + - $ref: '#/components/schemas/InfraTimeThreshold' ViolationsInSequenceLogTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/LogTimeThreshold' + - $ref: '#/components/schemas/LogTimeThreshold' ViolationsInSequenceMobileAppTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/MobileAppTimeThreshold' + - $ref: '#/components/schemas/MobileAppTimeThreshold' ViolationsInSequenceSyntheticTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/SyntheticTimeThreshold' + - $ref: '#/components/schemas/SyntheticTimeThreshold' ViolationsInSequenceWebsiteTimeThreshold: type: object allOf: - - $ref: '#/components/schemas/WebsiteTimeThreshold' + - $ref: '#/components/schemas/WebsiteTimeThreshold' WatsonAIOpsWebhookIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - headers: - type: array - items: + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + headers: + type: array + items: + type: string + minLength: 1 + nullable: true + webhookUrl: type: string minLength: 1 - webhookUrl: - type: string - minLength: 1 required: - - id - - kind - - name - - webhookUrl + - id + - kind + - name + - webhookUrl WebexTeamsWebhookIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - webhookUrl: - type: string - minLength: 1 + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + webhookUrl: + type: string + minLength: 1 required: - - id - - kind - - name - - webhookUrl + - id + - kind + - name + - webhookUrl WebhookIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - headers: - type: array - items: - type: string - minLength: 1 - oauth: - $ref: '#/components/schemas/OAuthIntegration' - oauthEnabled: - type: boolean - transformationExpression: - type: string - webhookUrls: - type: array - items: + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + headers: + type: array + items: + type: string + minLength: 1 + oauth: + $ref: '#/components/schemas/OAuthIntegration' + oauthEnabled: + type: boolean + transformationExpression: type: string - minLength: 1 - minItems: 1 + webhookUrls: + type: array + items: + type: string + minLength: 1 + minItems: 1 required: - - id - - kind - - name - - webhookUrls + - id + - kind + - name + - webhookUrls WebpageActionConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - browser: - type: string - enum: - - chrome - - firefox - recordVideo: - type: boolean - url: - type: string - maxLength: 2047 - minLength: 0 + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + browser: + type: string + enum: + - chrome + - firefox + recordVideo: + type: boolean + url: + type: string + maxLength: 2047 + minLength: 0 required: - - markSyntheticCall - - syntheticType - - url + - markSyntheticCall + - syntheticType + - url WebpageActionConfigurationUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - browser: - type: string - enum: - - chrome - - firefox - recordVideo: - type: boolean - url: - type: string + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + browser: + type: string + enum: + - chrome + - firefox + recordVideo: + type: boolean + url: + type: string WebpageScriptConfiguration: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfiguration' - - type: object - properties: - browser: - type: string - enum: - - chrome - - firefox - fileName: - type: string - github: - $ref: '#/components/schemas/GitHubConfiguration' - recordVideo: - type: boolean - script: - type: string - maxLength: 1048576 - minLength: 0 + - $ref: '#/components/schemas/SyntheticTypeConfiguration' + - type: object + properties: + browser: + type: string + enum: + - chrome + - firefox + fileName: + type: string + github: + $ref: '#/components/schemas/GitHubConfiguration' + recordVideo: + type: boolean + script: + type: string + maxLength: 1048576 + minLength: 0 required: - - markSyntheticCall - - syntheticType + - markSyntheticCall + - syntheticType WebpageScriptConfigurationUpdate: type: object allOf: - - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' - - type: object - properties: - browser: - type: string - enum: - - chrome - - firefox - fileName: - type: string - github: - $ref: '#/components/schemas/GitHubConfiguration' - recordVideo: - type: boolean - script: - type: string + - $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate' + - type: object + properties: + browser: + type: string + enum: + - chrome + - firefox + fileName: + type: string + github: + $ref: '#/components/schemas/GitHubConfiguration' + recordVideo: + type: boolean + script: + type: string Website: type: object properties: appName: type: string + businessCriticality: + type: integer + format: int32 id: type: string minLength: 1 @@ -44420,24 +48645,25 @@ components: type: string minLength: 1 required: - - id - - name + - id + - name WebsiteAlertConfig: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -44449,19 +48675,22 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the website alert configuration. Used as a template - for the description of alert/event notifications triggered by this Smart - Alert configuration. + description: >- + Description of the website alert configuration. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 enabled: @@ -44470,26 +48699,30 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 name: type: string - description: Name of the website alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the website alert configuration. Used as a template for the + title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -44497,22 +48730,26 @@ components: $ref: '#/components/schemas/WebsiteAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdWebsiteAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilters: @@ -44527,38 +48764,39 @@ components: $ref: '#/components/schemas/WebsiteTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. websiteId: type: string - description: ID of the website that this Smart Alert configuration is applied - to. + description: ID of the website that this Smart Alert configuration is applied to. maxLength: 64 minLength: 0 required: - - customPayloadFields - - description - - granularity - - name - - tagFilterExpression - - timeThreshold - - websiteId + - customPayloadFields + - description + - granularity + - name + - tagFilterExpression + - timeThreshold + - websiteId WebsiteAlertConfigWithMetadata: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -44570,6 +48808,7 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true created: type: integer format: int64 @@ -44577,17 +48816,19 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the website alert configuration. Used as a template - for the description of alert/event notifications triggered by this Smart - Alert configuration. + description: >- + Description of the website alert configuration. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 enabled: @@ -44596,22 +48837,25 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string description: 'ID of this Website Alert Config. ' @@ -44624,35 +48868,41 @@ components: minimum: 1 name: type: string - description: Name of the website alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the website alert configuration. Used as a template for the + title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/WebsiteAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdWebsiteAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilters: @@ -44667,39 +48917,40 @@ components: $ref: '#/components/schemas/WebsiteTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. websiteId: type: string - description: ID of the website that this Smart Alert configuration is applied - to. + description: ID of the website that this Smart Alert configuration is applied to. maxLength: 64 minLength: 0 required: - - customPayloadFields - - description - - granularity - - id - - name - - tagFilterExpression - - timeThreshold - - websiteId + - customPayloadFields + - description + - granularity + - id + - name + - tagFilterExpression + - timeThreshold + - websiteId WebsiteAlertConfigWithRBACTag: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -44711,6 +48962,7 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true created: type: integer format: int64 @@ -44718,17 +48970,19 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the website alert configuration. Used as a template - for the description of alert/event notifications triggered by this Smart - Alert configuration. + description: >- + Description of the website alert configuration. Used as a template + for the description of alert/event notifications triggered by this + Smart Alert configuration. maxLength: 65536 minLength: 0 enabled: @@ -44737,22 +48991,25 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string description: 'ID of this Website Alert Config. ' @@ -44765,8 +49022,9 @@ components: minimum: 1 name: type: string - description: Name of the website alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the website alert configuration. Used as a template for the + title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 @@ -44778,28 +49036,33 @@ components: uniqueItems: true readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/WebsiteAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdWebsiteAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' tagFilters: @@ -44814,23 +49077,23 @@ components: $ref: '#/components/schemas/WebsiteTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. websiteId: type: string - description: ID of the website that this Smart Alert configuration is applied - to. + description: ID of the website that this Smart Alert configuration is applied to. maxLength: 64 minLength: 0 required: - - customPayloadFields - - description - - granularity - - id - - name - - tagFilterExpression - - timeThreshold - - websiteId + - customPayloadFields + - description + - granularity + - id + - name + - tagFilterExpression + - timeThreshold + - websiteId WebsiteAlertRule: type: object discriminator: @@ -44845,65 +49108,68 @@ components: aggregation: type: string enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE alertType: type: string metricName: type: string minLength: 1 required: - - alertType - - metricName + - alertType + - metricName WebsiteApdexEntity: type: object allOf: - - $ref: '#/components/schemas/ApdexEntity' - - type: object - properties: - beaconType: - type: string - description: Website Beacon Type - enum: - - pageLoad - - resourceLoad - - httpRequest - - error - - custom - - pageChange - entityId: - type: string - description: Website ID - minLength: 1 - threshold: - type: integer - format: int32 - description: Value of the Apdex Threshold - minimum: 1 - required: - - beaconType - - entityId - - tagFilterExpression + - $ref: '#/components/schemas/ApdexEntity' + - type: object + properties: + beaconType: + type: string + description: Website Beacon Type + enum: + - pageLoad + - resourceLoad + - httpRequest + - error + - custom + - pageChange + entityId: + type: string + description: Website ID + minLength: 1 + threshold: + type: integer + format: int32 + description: Value of the Apdex Threshold + minimum: 1 + required: + - beaconType + - entityId + - tagFilterExpression WebsiteBeaconGroupsItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: cursor: $ref: '#/components/schemas/IngestionOffsetCursor' @@ -44923,9 +49189,9 @@ components: type: string minLength: 1 required: - - cursor - - metrics - - name + - cursor + - metrics + - name WebsiteBeaconGroupsResult: type: object properties: @@ -44933,13 +49199,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/WebsiteBeaconGroupsItem' totalHits: @@ -44950,17 +49220,20 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items + - items WebsiteBeaconResult: type: object properties: @@ -44968,13 +49241,17 @@ components: $ref: '#/components/schemas/AdjustedTimeframe' canLoadMore: type: boolean - description: Determine if additional data is available when a new query - is made using the cursor from the last item in the `items` list. + description: >- + Determine if additional data is available when a new query is made + using the cursor from the last item in the `items` list. items: type: array - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and + timestamp, which provide detailed information about the item. items: $ref: '#/components/schemas/WebsiteBeaconsItem' totalHits: @@ -44985,17 +49262,20 @@ components: totalRepresentedItemCount: type: integer format: int64 - description: For calls and EUM beacons, one row can represent multiple real - items (batched call, sample multiplicity) + description: >- + For calls and EUM beacons, one row can represent multiple real items + (batched call, sample multiplicity) minimum: 0 totalRetainedItemCount: type: integer format: int64 - description: For calls and EUM beacons, only a subset is retained for historic - data. Each retained row can represent multiple real items due to batching. + description: >- + For calls and EUM beacons, only a subset is retained for historic + data. Each retained row can represent multiple real items due to + batching. minimum: 0 required: - - items + - items WebsiteBeaconTagGroup: type: object properties: @@ -45006,30 +49286,44 @@ components: minLength: 0 groupbyTagEntity: type: string - description: | + description: > The entity by which the data should be grouped. - This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`. + + This field supports three possible values: `NOT_APPLICABLE`, + `DESTINATION`, and `SOURCE`. + `SOURCE`: the tag filter should apply to the source entity. - `DESTINATION`: the tag filter should apply to the destination entity. - `NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call). + + `DESTINATION`: the tag filter should apply to the destination + entity. + + `NOT_APPLICABLE`: some tags are independent of source or + destination, such as tags on the call itself, log tags or trace tags + (only destination makes sense because the source is unknown for the + root call). enum: - - NOT_APPLICABLE - - DESTINATION - - SOURCE + - NOT_APPLICABLE + - DESTINATION + - SOURCE groupbyTagSecondLevelKey: type: string - description: If present, it's the 2nd level key part (e.g. `customKey` on + description: >- + If present, it's the 2nd level key part (e.g. `customKey` on `docker.label.customKey`) maxLength: 256 minLength: 0 + nullable: true required: - - groupbyTag - - groupbyTagEntity + - groupbyTag + - groupbyTagEntity WebsiteBeaconsItem: type: object - description: | - Represents an array of call group item containing several attributes that describe its properties. - The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item. + description: > + Represents an array of call group item containing several attributes + that describe its properties. + + The item includes fields such as cursor, metrics, name, and timestamp, + which provide detailed information about the item. properties: beacon: $ref: '#/components/schemas/WebsiteMonitoringBeacon' @@ -45038,44 +49332,44 @@ components: impactedBeaconInfo: $ref: '#/components/schemas/ImpactedBeaconInfo' required: - - beacon - - cursor + - beacon + - cursor WebsiteEventBasedSliEntity: type: object allOf: - - $ref: '#/components/schemas/SliEntity' - - type: object - properties: - badEventFilterExpression: - $ref: '#/components/schemas/TagFilterExpressionElement' - beaconType: - type: string - description: Enum value to specify the type of beacons to be monitored - enum: - - pageLoad - - resourceLoad - - httpRequest - - error - - custom - - pageChange - goodEventFilterExpression: - $ref: '#/components/schemas/TagFilterExpressionElement' - websiteId: - type: string - description: Specifies the ID of the Website + - $ref: '#/components/schemas/SliEntity' + - type: object + properties: + badEventFilterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + beaconType: + type: string + description: Enum value to specify the type of beacons to be monitored + enum: + - pageLoad + - resourceLoad + - httpRequest + - error + - custom + - pageChange + goodEventFilterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + websiteId: + type: string + description: Specifies the ID of the Website required: - - badEventFilterExpression - - beaconType - - goodEventFilterExpression + - badEventFilterExpression + - beaconType + - goodEventFilterExpression WebsiteEventResult: type: object allOf: - - $ref: '#/components/schemas/EventResult' - - type: object - properties: - websiteId: - type: string - description: ID of the website. + - $ref: '#/components/schemas/EventResult' + - type: object + properties: + websiteId: + type: string + description: ID of the website. WebsiteMetricResult: type: object additionalProperties: @@ -45098,6 +49392,7 @@ components: type: boolean agentVersion: type: string + nullable: true appCacheTime: type: integer format: int64 @@ -45108,6 +49403,7 @@ components: minimum: -1 backendTraceId: type: string + nullable: true batchSize: type: integer format: int64 @@ -45116,35 +49412,45 @@ components: minLength: 1 browserName: type: string + nullable: true browserVersion: type: string + nullable: true bytesIngested: type: integer format: int64 cacheInteraction: type: string + nullable: true childrenTime: type: integer format: int64 minimum: -1 city: type: string + nullable: true clockSkew: type: integer format: int64 minimum: -1 componentStack: type: string + nullable: true connectionType: type: string + nullable: true continent: type: string + nullable: true continentCode: type: string + nullable: true country: type: string + nullable: true countryCode: type: string + nullable: true cspBlockedUri: type: string cspColumnNumber: @@ -45168,6 +49474,7 @@ components: format: double customEventName: type: string + nullable: true customMetric: type: number format: double @@ -45181,9 +49488,11 @@ components: type: string maxItems: 16 minItems: 0 + nullable: true uniqueItems: true deviceType: type: string + nullable: true dnsTime: type: integer format: int64 @@ -45204,10 +49513,13 @@ components: format: int64 errorId: type: string + nullable: true errorMessage: type: string + nullable: true errorType: type: string + nullable: true firstContentfulPaintTime: type: integer format: int64 @@ -45236,12 +49548,16 @@ components: type: object additionalProperties: type: string + nullable: true httpCallMethod: type: string + nullable: true httpCallOrigin: type: string + nullable: true httpCallPath: type: string + nullable: true httpCallStatus: type: integer format: int32 @@ -45249,8 +49565,10 @@ components: minimum: -1 httpCallUrl: type: string + nullable: true initiator: type: string + nullable: true interactionNextPaint: type: integer format: int64 @@ -45258,6 +49576,7 @@ components: type: object additionalProperties: type: string + nullable: true label: type: string largestContentfulPaintTime: @@ -45271,6 +49590,7 @@ components: type: string locationPath: type: string + nullable: true locationUrl: type: string longitude: @@ -45280,16 +49600,20 @@ components: type: object additionalProperties: type: string + nullable: true onLoadTime: type: integer format: int64 minimum: -1 osName: type: string + nullable: true osVersion: type: string + nullable: true page: type: string + nullable: true pageLoadId: type: string parentBeaconId: @@ -45300,8 +49624,10 @@ components: $ref: '#/components/schemas/JsStackTraceLine' maxItems: 64 minItems: 0 + nullable: true phase: type: string + nullable: true processingTime: type: integer format: int64 @@ -45316,12 +49642,14 @@ components: minimum: -1 resourceType: type: string + nullable: true responseTime: type: integer format: int64 minimum: -1 sessionId: type: string + nullable: true snippetVersion: type: string sslTime: @@ -45330,6 +49658,7 @@ components: minimum: -1 stackTrace: type: string + nullable: true stackTraceParsingStatus: type: integer format: int32 @@ -45339,8 +49668,10 @@ components: format: int32 subdivision: type: string + nullable: true subdivisionCode: type: string + nullable: true tcpTime: type: integer format: int64 @@ -45366,20 +49697,26 @@ components: type: string maxItems: 15 minItems: 0 + nullable: true userEmail: type: string + nullable: true userId: type: string + nullable: true userIp: type: string + nullable: true userLanguages: type: array items: type: string maxItems: 5 minItems: 0 + nullable: true userName: type: string + nullable: true websiteId: type: string minLength: 1 @@ -45397,26 +49734,66 @@ components: format: int32 minimum: -1 required: - - beaconId - - type - - websiteId - - websiteLabel + - beaconId + - type + - websiteId + - websiteLabel WebsiteMonitoringMetricDescription: type: object properties: aggregations: type: array - description: | + description: > The types of aggregations that can be applied to a series of values. - For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics. - For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. + + For example, `P25` is 25th percentile. Note that not all + aggregations are available for metrics. + + For example, `Trace count` has only `SUM` as an aggregation whereas + `Call Count` has two aggregations, `SUM` and `PER_SECOND`. items: type: string - description: | - The types of aggregations that can be applied to a series of values. - For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics. - For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. + description: > + The types of aggregations that can be applied to a series of + values. + + For example, `P25` is 25th percentile. Note that not all + aggregations are available for metrics. + + For example, `Trace count` has only `SUM` as an aggregation + whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`. enum: + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE + uniqueItems: true + beaconTypes: + type: array + items: + type: string + minLength: 1 + minItems: 1 + uniqueItems: true + defaultAggregation: + type: string + description: >- + The preselected aggregation for a metric. For example, for `Call + latency` the default aggregation is `MEAN`. + enum: - SUM - MEAN - MAX @@ -45434,68 +49811,59 @@ components: - SUM_POSITIVE - PER_SECOND - INCREASE - uniqueItems: true - beaconTypes: - type: array - items: - type: string - minLength: 1 - minItems: 1 - uniqueItems: true - defaultAggregation: - type: string - description: The preselected aggregation for a metric. For example, for - `Call latency` the default aggregation is `MEAN`. - enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE description: type: string - description: A description of the metric. For example, for `Call count` - metric, the description would be something like `Number of received calls` + description: >- + A description of the metric. For example, for `Call count` metric, + the description would be something like `Number of received calls` formatter: type: string - description: | + description: > * `NUMBER`: Generic number + * `BYTES`: Number of bytes + * `KILO_BYTES`: Number of kilobytes + * `MEGA_BYTES`: Number of megabytes + * `PERCENTAGE`: Percentage in scale [0,1] + * `PERCENTAGE_100`: Percentage in scale [0,100] - * `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated - * `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated - * `LATENCY`: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms + + * `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could + exceed 1 for example when metric is aggregated + + * `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value + could exceed 100 for example when metric is aggregated + + * `LATENCY`: Time in milliseconds, with value of 0 should not be + considered a a strict 0, but considered as < 1ms + * `NANOS`: Time in nanoseconds + * `MILLIS`: Time in milliseconds + * `MICROS`: Time in microseconds + * `SECONDS`: Time in seconds + * `RATE`: Number of occurrences per second + * `BYTE_RATE`: Number of bytes per second + * `UNDEFINED`: Metric value unit is not known minLength: 1 label: type: string - description: The name of the metric. For example, `Call count`, `Erroneous + description: >- + The name of the metric. For example, `Call count`, `Erroneous calls`, `Service count` etc. minLength: 1 metricId: type: string - description: The unique id of the metric. For example, `calls`, `erroneousCalls`, + description: >- + The unique id of the metric. For example, `calls`, `erroneousCalls`, `latency` etc. minLength: 1 pathToValueInBeacon: @@ -45504,100 +49872,106 @@ components: type: string maxItems: 2147483647 minItems: 1 + nullable: true tagName: type: string + nullable: true required: - - aggregations - - beaconTypes - - formatter - - label - - metricId + - aggregations + - beaconTypes + - formatter + - label + - metricId WebsiteMonitoringMetricsConfiguration: type: object properties: aggregation: type: string - description: 'Set aggregation that can be applied to a series of values. - Eg: `MEAN`.' + description: >- + Set aggregation that can be applied to a series of values. Eg: + `MEAN`. enum: - - SUM - - MEAN - - MAX - - MIN - - P25 - - P50 - - P75 - - P90 - - P95 - - P98 - - P99 - - P99_9 - - P99_99 - - DISTINCT_COUNT - - SUM_POSITIVE - - PER_SECOND - - INCREASE + - SUM + - MEAN + - MAX + - MIN + - P25 + - P50 + - P75 + - P90 + - P95 + - P98 + - P99 + - P99_9 + - P99_99 + - DISTINCT_COUNT + - SUM_POSITIVE + - PER_SECOND + - INCREASE granularity: type: integer format: int32 - description: 'If the granularity is set you will get data points with the - specified granularity in seconds. Default: `1000` milliseconds' + description: >- + If the granularity is set you will get data points with the + specified granularity in seconds. Default: `1000` milliseconds + nullable: true metric: type: string description: 'Set a particular metric, eg: `latency`.' minLength: 1 required: - - aggregation - - metric + - aggregation + - metric WebsiteSloEntity: type: object allOf: - - $ref: '#/components/schemas/SloEntity' - - type: object - properties: - beaconType: - type: string - description: Type of Website Beacon to be considered for the SLO - enum: - - pageLoad - - resourceLoad - - httpRequest - - error - - custom - - pageChange - websiteId: - type: string - description: The ID of the Website + - $ref: '#/components/schemas/SloEntity' + - type: object + properties: + beaconType: + type: string + description: Type of Website Beacon to be considered for the SLO + enum: + - pageLoad + - resourceLoad + - httpRequest + - error + - custom + - pageChange + websiteId: + type: string + description: The ID of the Website required: - - beaconType - - websiteId + - beaconType + - websiteId WebsiteTimeBasedSliEntity: type: object allOf: - - $ref: '#/components/schemas/SliEntity' - - type: object - properties: - beaconType: - type: string - description: Enum value to specify the type of beacons to be monitored - enum: - - pageLoad - - resourceLoad - - httpRequest - - error - - custom - - pageChange - filterExpression: - $ref: '#/components/schemas/TagFilterExpressionElement' - websiteId: - type: string - description: Specifies the ID of the Website + - $ref: '#/components/schemas/SliEntity' + - type: object + properties: + beaconType: + type: string + description: Enum value to specify the type of beacons to be monitored + enum: + - pageLoad + - resourceLoad + - httpRequest + - error + - custom + - pageChange + filterExpression: + $ref: '#/components/schemas/TagFilterExpressionElement' + websiteId: + type: string + description: Specifies the ID of the Website required: - - beaconType + - beaconType WebsiteTimeThreshold: type: object - description: The type of threshold to define the criteria when the event and - alert triggers and resolves. + description: >- + The type of threshold to define the criteria when the event and alert + triggers and resolves. discriminator: mapping: userImpactOfViolationsInSequence: '#/components/schemas/UserImpactWebsiteTimeThreshold' @@ -45611,7 +49985,7 @@ components: type: type: string required: - - type + - type Widget: type: object properties: @@ -45640,30 +50014,31 @@ components: format: int32 maximum: 11 minimum: 0 - y: + 'y': type: integer format: int32 minimum: 0 required: - - config - - id - - type + - config + - id + - type WithMetaData: type: object properties: alertChannelIds: type: array deprecated: true - description: List of IDs of alert channels defined in Instana. Can be left - empty. + description: List of IDs of alert channels defined in Instana. Can be left empty. items: type: string deprecated: true - description: List of IDs of alert channels defined in Instana. Can be - left empty. + description: >- + List of IDs of alert channels defined in Instana. Can be left + empty. minLength: 1 maxItems: 1024 minItems: 0 + nullable: true uniqueItems: true alertChannels: type: object @@ -45675,6 +50050,7 @@ components: description: Set of alert channel IDs associated with the severity. uniqueItems: true description: Set of alert channel IDs associated with the severity. + nullable: true completeTagFilterExpression: $ref: '#/components/schemas/TagFilterExpression' created: @@ -45684,16 +50060,18 @@ components: minimum: 1 customPayloadFields: type: array - description: Custom payload fields to send additional information in the - alert notifications. Can be left empty. + description: >- + Custom payload fields to send additional information in the alert + notifications. Can be left empty. items: $ref: '#/components/schemas/CustomPayloadField' maxItems: 20 minItems: 0 description: type: string - description: Description of the mobile app alert configuration. Used as - a template for the description of alert/event notifications triggered + description: >- + Description of the mobile app alert configuration. Used as a + template for the description of alert/event notifications triggered by this Smart Alert configuration. maxLength: 65536 minLength: 0 @@ -45703,22 +50081,25 @@ components: gracePeriod: type: integer format: int64 - description: The duration for which an alert remains open after conditions - are no longer violated, with the alert auto-closing once the grace period + description: >- + The duration for which an alert remains open after conditions are no + longer violated, with the alert auto-closing once the grace period expires. + nullable: true granularity: type: integer format: int32 default: 600000 - description: The evaluation granularity used for detection of violations - of the defined threshold. Defines the size of the tumbling window used. + description: >- + The evaluation granularity used for detection of violations of the + defined threshold. Defines the size of the tumbling window used. enum: - - 60000 - - 300000 - - 600000 - - 900000 - - 1200000 - - 1800000 + - 60000 + - 300000 + - 600000 + - 900000 + - 1200000 + - 1800000 id: type: string description: 'ID of this Mobile App Alert Config. ' @@ -45731,41 +50112,48 @@ components: minimum: 1 mobileAppId: type: string - description: ID of the mobile app that this Smart Alert configuration is - applied to. + description: >- + ID of the mobile app that this Smart Alert configuration is applied + to. maxLength: 64 minLength: 0 name: type: string - description: Name of the mobile app alert configuration. Used as a template - for the title of alert/event notifications triggered by this Smart Alert + description: >- + Name of the mobile app alert configuration. Used as a template for + the title of alert/event notifications triggered by this Smart Alert configuration. maxLength: 256 minLength: 0 readOnly: type: boolean - description: Flag to indicate whether or not the configuration is read-only. + description: >- + Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config. rule: $ref: '#/components/schemas/MobileAppAlertRule' rules: type: array - description: A list of rules where each rule is associated with multiple - thresholds and their corresponding severity levels. This enables more - complex alert configurations with validations to ensure consistent and - logical threshold-severity combinations. + description: >- + A list of rules where each rule is associated with multiple + thresholds and their corresponding severity levels. This enables + more complex alert configurations with validations to ensure + consistent and logical threshold-severity combinations. items: $ref: '#/components/schemas/RuleWithThresholdMobileAppAlertRule' maxItems: 1 minItems: 1 + nullable: true severity: type: integer format: int32 deprecated: true - description: The severity of the alert when triggered, which is either 5 + description: >- + The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical). maximum: 10 minimum: 5 + nullable: true tagFilterExpression: $ref: '#/components/schemas/TagFilterExpressionElement' threshold: @@ -45774,150 +50162,157 @@ components: $ref: '#/components/schemas/MobileAppTimeThreshold' triggering: type: boolean - description: Optional flag to indicate whether an Incident is also triggered - or not. - required: - - customPayloadFields - - description - - granularity - - id - - mobileAppId - - name - - tagFilterExpression - - timeThreshold + description: >- + Optional flag to indicate whether an Incident is also triggered or + not. + required: + - customPayloadFields + - description + - granularity + - id + - mobileAppId + - name + - tagFilterExpression + - timeThreshold WithResolvedName: type: object allOf: - - $ref: '#/components/schemas/Author' - - type: object - properties: - fullName: - type: string + - $ref: '#/components/schemas/Author' + - type: object + properties: + fullName: + type: string ZChatOpsIntegration: type: object allOf: - - $ref: '#/components/schemas/AbstractIntegration' - - type: object - properties: - bearerAuthToken: - type: string - minLength: 1 - channels: - type: array - items: + - $ref: '#/components/schemas/AbstractIntegration' + - type: object + properties: + bearerAuthToken: + type: string + minLength: 1 + channels: + type: array + items: + type: string + minLength: 1 + maxItems: 1 + minItems: 0 + nullable: true + zchatOpsIncidentsUrl: type: string minLength: 1 - maxItems: 1 - minItems: 0 - zchatOpsIncidentsUrl: - type: string - minLength: 1 required: - - bearerAuthToken - - id - - kind - - name - - zchatOpsIncidentsUrl + - bearerAuthToken + - id + - kind + - name + - zchatOpsIncidentsUrl securitySchemes: ApiKeyAuth: - description: In order to use the REST API, you need to create an API token and - assign permissions to it. API tokens are managed only by the account owner - role, who can create multiple API tokens with varying permissions. API token - management can found in Settings → Access Control → API Tokens. + description: >- + In order to use the REST API, you need to create an API token and assign + permissions to it. API tokens are managed only by the account owner + role, who can create multiple API tokens with varying permissions. API + token management can found in Settings → Security & access. In the + Access control section, click API tokens. in: header name: authorization type: apiKey x-description: authorization x-tagGroups: -- name: Websites & Mobile Apps - tags: - - Website Metrics - - Website Catalog - - Website Analyze - - Website Configuration - - Mobile App Metrics - - Mobile App Catalog - - Mobile App Analyze - - Mobile App Configuration - - End User Monitoring -- name: Applications - tags: - - Application Metrics - - Application Resources - - Application Catalog - - Application Analyze - - Application Settings - - Application Topology - - Application Alert Configuration - - Global Application Alert Configuration -- name: Infrastructure - tags: - - Infrastructure Analyze - - Infrastructure Metrics - - Infrastructure Resources - - Infrastructure Catalog - - Infrastructure Topology -- name: Logging - tags: - - Logging Analyze -- name: Synthetic Monitoring - tags: - - Synthetic Catalog - - Synthetic Metrics - - Synthetic Settings - - Synthetic Test Playback Results - - Synthetic Alert Configuration -- name: Logs - tags: - - Log Alert Configuration -- name: Events - tags: - - Events - - Event Settings -- name: Automation - tags: - - Action Catalog - - Action History - - Policies -- name: Service Levels - tags: - - SLI Settings - - SLI Report - - Apdex Settings - - Apdex Report - - SLO Configurations - - Service Levels Objective(SLO) Report - - Service Levels Alert Configuration - - SLO Correction Configurations - - SLO Correction Windows - - SLO Catalog for Mobile App -- name: AI Management - tags: - - AI Management -- name: Settings - tags: - - Custom Dashboards - - User - - Groups - - Teams - - Roles - - Audit Log - - API Token - - Maintenance Configuration - - Synthetic Calls - - Session Settings - - Automation Settings - - Authentication - - IP Filtering -- name: Open Beta Features - tags: - - Infrastructure Analyze -- name: Closed Beta Features - tags: - - Infrastructure Alert Configuration -- name: Instana - tags: - - Releases - - Host Agent - - Health - - Usage + - name: Websites & Mobile Apps + tags: + - Website Metrics + - Website Catalog + - Website Analyze + - Website Configuration + - Mobile App Metrics + - Mobile App Catalog + - Mobile App Analyze + - Mobile App Configuration + - End User Monitoring + - name: Applications + tags: + - Application Metrics + - Application Resources + - Application Catalog + - Application Analyze + - Application Settings + - Application Topology + - Application Alert Configuration + - Global Application Alert Configuration + - name: Infrastructure + tags: + - Infrastructure Analyze + - Infrastructure Metrics + - Infrastructure Resources + - Infrastructure Catalog + - Infrastructure Topology + - name: Logging + tags: + - Logging Analyze + - name: Synthetic Monitoring + tags: + - Synthetic Catalog + - Synthetic Metrics + - Synthetic Settings + - Synthetic Test Playback Results + - Synthetic Alert Configuration + - name: Logs + tags: + - Log Alert Configuration + - name: Events + tags: + - Events + - Event Settings + - name: Automation + tags: + - Action Catalog + - Action History + - Policies + - name: Service Levels + tags: + - SLI Settings + - SLI Report + - Apdex Settings + - Apdex Report + - SLO Configurations + - Service Levels Objective(SLO) Report + - Service Levels Alert Configuration + - SLO Correction Configurations + - SLO Correction Windows + - SLO Catalog for Mobile App + - name: AI Management + tags: + - AI Management + - name: Settings + tags: + - Custom Dashboards + - User + - Groups + - Teams + - Roles + - Audit Log + - API Token + - Maintenance Configuration + - Synthetic Calls + - Session Settings + - Automation Settings + - Authentication + - IP Filtering + - name: Open Beta Features + tags: + - Infrastructure Analyze + - name: Closed Beta Features + tags: + - Infrastructure Alert Configuration + - name: Instana + tags: + - Releases + - Host Agent + - Health + - Usage + - name: Fleet Management + tags: + - Fleet Management diff --git a/openapitools.json b/openapitools.json new file mode 100644 index 00000000..936223a5 --- /dev/null +++ b/openapitools.json @@ -0,0 +1,7 @@ +{ + "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", + "spaces": 2, + "generator-cli": { + "version": "7.24.0" + } +} diff --git a/pyproject.toml b/pyproject.toml index b43ecf06..8b4d9917 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "instana_client" -version = "1.0.9" +version = "1.1.0" description = "Instana REST API documentation" authors = [ {name = "© Instana",email = "support@instana.com"}, diff --git a/requirements.txt b/requirements.txt index 6cbb2b98..9af8f58c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -urllib3 >= 2.1.0, < 3.0.0 +urllib3 >= 2.6.3, < 3.0.0 python_dateutil >= 2.8.2 -pydantic >= 2 +pydantic >= 2.11 typing-extensions >= 4.7.1 diff --git a/setup.py b/setup.py index 5e09762c..820233b7 100644 --- a/setup.py +++ b/setup.py @@ -1,11 +1,9 @@ -# coding: utf-8 - """ Instana REST API documentation Documentation for INSTANA REST API - The version of the OpenAPI document: 1.320.1414 + The version of the OpenAPI document: 1.323.989 Contact: support@instana.com Generated by OpenAPI Generator (https://openapi-generator.tech) @@ -22,12 +20,12 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "instana-client" -VERSION = "1.0.9" -PYTHON_REQUIRES = ">= 3.9" +VERSION = "1.1.0" +PYTHON_REQUIRES = ">= 3.10" REQUIRES = [ - "urllib3 >= 2.1.0, < 3.0.0", + "urllib3 >= 2.6.3, < 3.0.0", "python-dateutil >= 2.8.2", - "pydantic >= 2", + "pydantic >= 2.11", "typing-extensions >= 4.7.1", ] @@ -47,4 +45,4 @@ Documentation for INSTANA REST API """, # noqa: E501 package_data={"instana_client": ["py.typed"]}, -) \ No newline at end of file +) diff --git a/test-requirements.txt b/test-requirements.txt index e98555c1..731ef0e0 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +1,4 @@ -pytest >= 7.2.1 +pytest >= 8.4.2 pytest-cov >= 2.8.1 tox >= 3.9.0 flake8 >= 4.0.0 diff --git a/test/test_advanced_custom_blueprint_indicator.py b/test/test_advanced_custom_blueprint_indicator.py new file mode 100644 index 00000000..19286b6c --- /dev/null +++ b/test/test_advanced_custom_blueprint_indicator.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.advanced_custom_blueprint_indicator import AdvancedCustomBlueprintIndicator + +class TestAdvancedCustomBlueprintIndicator(unittest.TestCase): + """AdvancedCustomBlueprintIndicator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvancedCustomBlueprintIndicator: + """Test AdvancedCustomBlueprintIndicator + 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 `AdvancedCustomBlueprintIndicator` + """ + model = AdvancedCustomBlueprintIndicator() + if include_optional: + return AdvancedCustomBlueprintIndicator( + bad_events = instana_client.models.advanced_filter.AdvancedFilter( + aggregation = 'SUM', + metric = instana_client.models.entity_metric.EntityMetric( + name = '', + scope = instana_client.models.entity_metric_scope.EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '', ), ), + operator = '>', + threshold = 1.337, ), + good_events = instana_client.models.advanced_filter.AdvancedFilter( + aggregation = 'SUM', + metric = instana_client.models.entity_metric.EntityMetric( + name = '', + scope = instana_client.models.entity_metric_scope.EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '', ), ), + operator = '>', + threshold = 1.337, ) + ) + else: + return AdvancedCustomBlueprintIndicator( + good_events = instana_client.models.advanced_filter.AdvancedFilter( + aggregation = 'SUM', + metric = instana_client.models.entity_metric.EntityMetric( + name = '', + scope = instana_client.models.entity_metric_scope.EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '', ), ), + operator = '>', + threshold = 1.337, ), + ) + """ + + def testAdvancedCustomBlueprintIndicator(self): + """Test AdvancedCustomBlueprintIndicator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_advanced_filter.py b/test/test_advanced_filter.py new file mode 100644 index 00000000..c79888b5 --- /dev/null +++ b/test/test_advanced_filter.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.advanced_filter import AdvancedFilter + +class TestAdvancedFilter(unittest.TestCase): + """AdvancedFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvancedFilter: + """Test AdvancedFilter + 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 `AdvancedFilter` + """ + model = AdvancedFilter() + if include_optional: + return AdvancedFilter( + aggregation = 'SUM', + metric = instana_client.models.entity_metric.EntityMetric( + name = '', + scope = instana_client.models.entity_metric_scope.EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '', ), ), + operator = '>', + threshold = 1.337 + ) + else: + return AdvancedFilter( + aggregation = 'SUM', + metric = instana_client.models.entity_metric.EntityMetric( + name = '', + scope = instana_client.models.entity_metric_scope.EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '', ), ), + operator = '>', + threshold = 1.337, + ) + """ + + def testAdvancedFilter(self): + """Test AdvancedFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_apdex_config_with_rbac_tag.py b/test/test_apdex_config_with_rbac_tag.py new file mode 100644 index 00000000..220ab467 --- /dev/null +++ b/test/test_apdex_config_with_rbac_tag.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.apdex_config_with_rbac_tag import ApdexConfigWithRBACTag + +class TestApdexConfigWithRBACTag(unittest.TestCase): + """ApdexConfigWithRBACTag unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ApdexConfigWithRBACTag: + """Test ApdexConfigWithRBACTag + 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 `ApdexConfigWithRBACTag` + """ + model = ApdexConfigWithRBACTag() + if include_optional: + return ApdexConfigWithRBACTag( + apdex_entity = instana_client.models.apdex_entity.ApdexEntity( + apdex_type = '', + entity_id = '0', + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + threshold = 1, ), + apdex_name = '', + created_at = 56, + id = '', + last_updated = 56, + rbac_tags = [ + instana_client.models.api_tag.ApiTag( + display_name = '', + id = '', ) + ], + tags = [ + '' + ] + ) + else: + return ApdexConfigWithRBACTag( + apdex_entity = instana_client.models.apdex_entity.ApdexEntity( + apdex_type = '', + entity_id = '0', + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + threshold = 1, ), + apdex_name = '', + id = '', + ) + """ + + def testApdexConfigWithRBACTag(self): + """Test ApdexConfigWithRBACTag""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_api_log_item.py b/test/test_api_log_item.py new file mode 100644 index 00000000..ee8a0a47 --- /dev/null +++ b/test/test_api_log_item.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.api_log_item import ApiLogItem + +class TestApiLogItem(unittest.TestCase): + """ApiLogItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ApiLogItem: + """Test ApiLogItem + 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 `ApiLogItem` + """ + model = ApiLogItem() + if include_optional: + return ApiLogItem( + aws_ecs_container_id = '', + aws_ecs_container_name = '', + containerd_container_id = '', + crio_container_id = '', + docker_container_id = '', + docker_container_name = '', + garden_container_id = '', + kubernetes_cluster_name = '', + kubernetes_container_name = '', + kubernetes_deployment_name = '', + kubernetes_namespace_name = '', + kubernetes_node_name = '', + kubernetes_pod_name = '', + log_applications = [ + '' + ], + log_custom = [ + instana_client.models.api_log_tag.ApiLogTag( + key = '', + name = '', + value = instana_client.models.value.value(), ) + ], + log_exception_message = '', + log_exception_stack_trace = '', + log_exception_type = '', + log_expiration_ts_seconds = '', + log_file_path = '', + log_host_id = '', + log_host_name = '', + log_level = '', + log_message = '', + log_process_id = '', + log_service_id = '', + log_service_name = '', + log_stream_name = '', + log_timestamp = 0, + log_trace_id = '' + ) + else: + return ApiLogItem( + ) + """ + + def testApiLogItem(self): + """Test ApiLogItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_api_log_tag.py b/test/test_api_log_tag.py new file mode 100644 index 00000000..04cbf023 --- /dev/null +++ b/test/test_api_log_tag.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.api_log_tag import ApiLogTag + +class TestApiLogTag(unittest.TestCase): + """ApiLogTag unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ApiLogTag: + """Test ApiLogTag + 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 `ApiLogTag` + """ + model = ApiLogTag() + if include_optional: + return ApiLogTag( + key = '', + name = '', + value = instana_client.models.value.value() + ) + else: + return ApiLogTag( + ) + """ + + def testApiLogTag(self): + """Test ApiLogTag""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_create_evaluation_request.py b/test/test_create_evaluation_request.py new file mode 100644 index 00000000..9184352f --- /dev/null +++ b/test/test_create_evaluation_request.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.create_evaluation_request import CreateEvaluationRequest + +class TestCreateEvaluationRequest(unittest.TestCase): + """CreateEvaluationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateEvaluationRequest: + """Test CreateEvaluationRequest + 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 `CreateEvaluationRequest` + """ + model = CreateEvaluationRequest() + if include_optional: + return CreateEvaluationRequest( + description = '', + evaluation_name = '0', + evaluator_ids = [ + '' + ], + metadata = { + 'key' : None + }, + model_names = [ + '' + ], + sampling_percentage = 1.337, + service_names = [ + '' + ], + time_before_run_hours = 56, + time_before_run_minutes = 56, + trace_ids = [ + '' + ] + ) + else: + return CreateEvaluationRequest( + evaluation_name = '0', + evaluator_ids = [ + '' + ], + ) + """ + + def testCreateEvaluationRequest(self): + """Test CreateEvaluationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_create_evaluation_response.py b/test/test_create_evaluation_response.py new file mode 100644 index 00000000..4dc335d4 --- /dev/null +++ b/test/test_create_evaluation_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.create_evaluation_response import CreateEvaluationResponse + +class TestCreateEvaluationResponse(unittest.TestCase): + """CreateEvaluationResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateEvaluationResponse: + """Test CreateEvaluationResponse + 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 `CreateEvaluationResponse` + """ + model = CreateEvaluationResponse() + if include_optional: + return CreateEvaluationResponse( + evaluation_id = '', + message = '' + ) + else: + return CreateEvaluationResponse( + ) + """ + + def testCreateEvaluationResponse(self): + """Test CreateEvaluationResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_customer_email.py b/test/test_customer_email.py new file mode 100644 index 00000000..44343f66 --- /dev/null +++ b/test/test_customer_email.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.customer_email import CustomerEmail + +class TestCustomerEmail(unittest.TestCase): + """CustomerEmail unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CustomerEmail: + """Test CustomerEmail + 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 `CustomerEmail` + """ + model = CustomerEmail() + if include_optional: + return CustomerEmail( + customer_email = '', + email = '' + ) + else: + return CustomerEmail( + ) + """ + + def testCustomerEmail(self): + """Test CustomerEmail""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_entity_metric.py b/test/test_entity_metric.py new file mode 100644 index 00000000..656eddca --- /dev/null +++ b/test/test_entity_metric.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.entity_metric import EntityMetric + +class TestEntityMetric(unittest.TestCase): + """EntityMetric unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EntityMetric: + """Test EntityMetric + 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 `EntityMetric` + """ + model = EntityMetric() + if include_optional: + return EntityMetric( + name = '', + scope = instana_client.models.entity_metric_scope.EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '', ) + ) + else: + return EntityMetric( + name = '', + ) + """ + + def testEntityMetric(self): + """Test EntityMetric""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_entity_metric_scope.py b/test/test_entity_metric_scope.py new file mode 100644 index 00000000..12a1ca94 --- /dev/null +++ b/test/test_entity_metric_scope.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.entity_metric_scope import EntityMetricScope + +class TestEntityMetricScope(unittest.TestCase): + """EntityMetricScope unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EntityMetricScope: + """Test EntityMetricScope + 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 `EntityMetricScope` + """ + model = EntityMetricScope() + if include_optional: + return EntityMetricScope( + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + type = '' + ) + else: + return EntityMetricScope( + type = '', + ) + """ + + def testEntityMetricScope(self): + """Test EntityMetricScope""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_evaluation_detail_response.py b/test/test_evaluation_detail_response.py new file mode 100644 index 00000000..1dd0c902 --- /dev/null +++ b/test/test_evaluation_detail_response.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.evaluation_detail_response import EvaluationDetailResponse + +class TestEvaluationDetailResponse(unittest.TestCase): + """EvaluationDetailResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EvaluationDetailResponse: + """Test EvaluationDetailResponse + 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 `EvaluationDetailResponse` + """ + model = EvaluationDetailResponse() + if include_optional: + return EvaluationDetailResponse( + client_id = '', + created_at = 56, + created_by = '', + description = '', + evaluation_id = '', + evaluation_name = '', + evaluator_ids = [ + '' + ], + model_names = [ + '' + ], + sampling_percentage = 1.337, + service_names = [ + '' + ], + time_before_run_hours = 56, + time_before_run_minutes = 56, + trace_ids = [ + '' + ] + ) + else: + return EvaluationDetailResponse( + ) + """ + + def testEvaluationDetailResponse(self): + """Test EvaluationDetailResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_evaluation_list_item.py b/test/test_evaluation_list_item.py new file mode 100644 index 00000000..dccd630e --- /dev/null +++ b/test/test_evaluation_list_item.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.evaluation_list_item import EvaluationListItem + +class TestEvaluationListItem(unittest.TestCase): + """EvaluationListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EvaluationListItem: + """Test EvaluationListItem + 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 `EvaluationListItem` + """ + model = EvaluationListItem() + if include_optional: + return EvaluationListItem( + duration_mean_ms = 1.337, + evaluation_id = '', + evaluator_names = [ + '' + ], + evaluators = [ + '' + ], + last_run_start = 56, + metadata = '', + model_names = [ + '' + ], + name = '', + number_of_runs = 56, + sampling_percentage = 1.337, + service_names = [ + '' + ], + time_before_run_hours = 56, + time_before_run_minutes = 56, + trace_ids = [ + '' + ] + ) + else: + return EvaluationListItem( + ) + """ + + def testEvaluationListItem(self): + """Test EvaluationListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_evaluation_list_response.py b/test/test_evaluation_list_response.py new file mode 100644 index 00000000..f95df3b1 --- /dev/null +++ b/test/test_evaluation_list_response.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.evaluation_list_response import EvaluationListResponse + +class TestEvaluationListResponse(unittest.TestCase): + """EvaluationListResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> EvaluationListResponse: + """Test EvaluationListResponse + 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 `EvaluationListResponse` + """ + model = EvaluationListResponse() + if include_optional: + return EvaluationListResponse( + evaluations = [ + instana_client.models.evaluation_list_item.EvaluationListItem( + duration_mean_ms = 1.337, + evaluation_id = '', + evaluator_names = [ + '' + ], + evaluators = [ + '' + ], + last_run_start = 56, + metadata = '', + model_names = [ + '' + ], + name = '', + number_of_runs = 56, + sampling_percentage = 1.337, + service_names = [ + '' + ], + time_before_run_hours = 56, + time_before_run_minutes = 56, + trace_ids = [ + '' + ], ) + ], + total = 56 + ) + else: + return EvaluationListResponse( + ) + """ + + def testEvaluationListResponse(self): + """Test EvaluationListResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_evaluator.py b/test/test_evaluator.py new file mode 100644 index 00000000..a2731a0b --- /dev/null +++ b/test/test_evaluator.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.evaluator import Evaluator + +class TestEvaluator(unittest.TestCase): + """Evaluator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Evaluator: + """Test Evaluator + 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 `Evaluator` + """ + model = Evaluator() + if include_optional: + return Evaluator( + criteria = '', + evaluator_id = '', + evaluator_name = '', + is_built_in = True, + mean_score = 1.337, + number_of_runs = 56, + pass_rate_mean = 1.337, + threshold = 1.337 + ) + else: + return Evaluator( + criteria = '', + evaluator_name = '', + threshold = 1.337, + ) + """ + + def testEvaluator(self): + """Test Evaluator""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_filter_interface.py b/test/test_filter_interface.py new file mode 100644 index 00000000..5d194c24 --- /dev/null +++ b/test/test_filter_interface.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.filter_interface import FilterInterface + +class TestFilterInterface(unittest.TestCase): + """FilterInterface unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FilterInterface: + """Test FilterInterface + 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 `FilterInterface` + """ + model = FilterInterface() + if include_optional: + return FilterInterface( + rbac_restrictions = instana_client.models.rbac_restrictions.RbacRestrictions( + action_filters = [ + '' + ], + alerting_channels = [ + '' + ], + apdex_ids = [ + '' + ], + applications = [ + '' + ], + business_perspectives = [ + '' + ], + infra_dfq_filter = [ + '' + ], + kubernetes_clusters = [ + '' + ], + kubernetes_namespaces = [ + '' + ], + log_filters = [ + '' + ], + logging_perspectives = [ + '' + ], + mobile_apps = [ + '' + ], + service_levels = [ + '' + ], + synthetic_credentials = [ + '' + ], + synthetic_tests = [ + '' + ], + websites = [ + '' + ], ), + time_config = instana_client.models.time_config.TimeConfig( + auto_refresh = True, + focused_moment = 56, + to = 56, + window_size = 56, ) + ) + else: + return FilterInterface( + ) + """ + + def testFilterInterface(self): + """Test FilterInterface""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_configuration.py b/test/test_fleet_configuration.py new file mode 100644 index 00000000..1ef436f3 --- /dev/null +++ b/test/test_fleet_configuration.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.fleet_configuration import FleetConfiguration + +class TestFleetConfiguration(unittest.TestCase): + """FleetConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetConfiguration: + """Test FleetConfiguration + 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 `FleetConfiguration` + """ + model = FleetConfiguration() + if include_optional: + return FleetConfiguration( + configuration = None, + configuration_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '0', + type = '0', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '' + ) + else: + return FleetConfiguration( + configuration = None, + name = '0', + type = '0', + version = '', + ) + """ + + def testFleetConfiguration(self): + """Test FleetConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_configuration_assignment.py b/test/test_fleet_configuration_assignment.py new file mode 100644 index 00000000..c8bc4403 --- /dev/null +++ b/test/test_fleet_configuration_assignment.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.fleet_configuration_assignment import FleetConfigurationAssignment + +class TestFleetConfigurationAssignment(unittest.TestCase): + """FleetConfigurationAssignment unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetConfigurationAssignment: + """Test FleetConfigurationAssignment + 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 `FleetConfigurationAssignment` + """ + model = FleetConfigurationAssignment() + if include_optional: + return FleetConfigurationAssignment( + agent_host = '0', + agent_host_id = '0', + agent_name = '', + agent_type = '0', + assignment_id = '', + configuration_id = '0', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return FleetConfigurationAssignment( + agent_host = '0', + agent_host_id = '0', + agent_type = '0', + configuration_id = '0', + ) + """ + + def testFleetConfigurationAssignment(self): + """Test FleetConfigurationAssignment""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_configuration_assignment_response.py b/test/test_fleet_configuration_assignment_response.py new file mode 100644 index 00000000..3c6638ef --- /dev/null +++ b/test/test_fleet_configuration_assignment_response.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.fleet_configuration_assignment_response import FleetConfigurationAssignmentResponse + +class TestFleetConfigurationAssignmentResponse(unittest.TestCase): + """FleetConfigurationAssignmentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetConfigurationAssignmentResponse: + """Test FleetConfigurationAssignmentResponse + 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 `FleetConfigurationAssignmentResponse` + """ + model = FleetConfigurationAssignmentResponse() + if include_optional: + return FleetConfigurationAssignmentResponse( + assignment_id = '0', + message = '0' + ) + else: + return FleetConfigurationAssignmentResponse( + assignment_id = '0', + message = '0', + ) + """ + + def testFleetConfigurationAssignmentResponse(self): + """Test FleetConfigurationAssignmentResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_configuration_response.py b/test/test_fleet_configuration_response.py new file mode 100644 index 00000000..c3b1330c --- /dev/null +++ b/test/test_fleet_configuration_response.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.fleet_configuration_response import FleetConfigurationResponse + +class TestFleetConfigurationResponse(unittest.TestCase): + """FleetConfigurationResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FleetConfigurationResponse: + """Test FleetConfigurationResponse + 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 `FleetConfigurationResponse` + """ + model = FleetConfigurationResponse() + if include_optional: + return FleetConfigurationResponse( + configuration = instana_client.models.fleet_configuration.FleetConfiguration( + configuration = instana_client.models.configuration.configuration(), + configuration_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '0', + type = '0', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', ), + configuration_version = '', + id = '0', + message = '0', + status = '0' + ) + else: + return FleetConfigurationResponse( + id = '0', + message = '0', + status = '0', + ) + """ + + def testFleetConfigurationResponse(self): + """Test FleetConfigurationResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_fleet_management_api.py b/test/test_fleet_management_api.py new file mode 100644 index 00000000..66b79e92 --- /dev/null +++ b/test/test_fleet_management_api.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.api.fleet_management_api import FleetManagementApi + + +class TestFleetManagementApi(unittest.TestCase): + """FleetManagementApi unit test stubs""" + + def setUp(self) -> None: + self.api = FleetManagementApi() + + def tearDown(self) -> None: + pass + + def test_create_fleet_config_assignment(self) -> None: + """Test case for create_fleet_config_assignment + + Create a configuration assignment + """ + pass + + def test_create_fleet_configuration(self) -> None: + """Test case for create_fleet_configuration + + Creates a fleet configuration + """ + pass + + def test_delete_custom_collector_base(self) -> None: + """Test case for delete_custom_collector_base + + Delete a custom collector base configuration + """ + pass + + def test_delete_fleet_config_assignment(self) -> None: + """Test case for delete_fleet_config_assignment + + Delete a fleet configuration assignment + """ + pass + + def test_get_custom_collector_base(self) -> None: + """Test case for get_custom_collector_base + + Get fleet configuration details + """ + pass + + def test_get_fleet_config_assignment(self) -> None: + """Test case for get_fleet_config_assignment + + Get a fleet configuration assignment + """ + pass + + def test_list_custom_collector_base(self) -> None: + """Test case for list_custom_collector_base + + List fleet configurations + """ + pass + + def test_list_fleet_config_assignments(self) -> None: + """Test case for list_fleet_config_assignments + + List fleet configuration assignments + """ + pass + + def test_update_custom_collector_base(self) -> None: + """Test case for update_custom_collector_base + + Update a custom collector base configuration + """ + pass + + def test_update_fleet_config_assignment(self) -> None: + """Test case for update_fleet_config_assignment + + Update a fleet configuration assignment + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_gateway_status_response.py b/test/test_gateway_status_response.py new file mode 100644 index 00000000..21b8c8d7 --- /dev/null +++ b/test/test_gateway_status_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.gateway_status_response import GatewayStatusResponse + +class TestGatewayStatusResponse(unittest.TestCase): + """GatewayStatusResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GatewayStatusResponse: + """Test GatewayStatusResponse + 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 `GatewayStatusResponse` + """ + model = GatewayStatusResponse() + if include_optional: + return GatewayStatusResponse( + enabled = True, + gateway_id = '', + gateway_name = '', + message = '', + model_name = '' + ) + else: + return GatewayStatusResponse( + ) + """ + + def testGatewayStatusResponse(self): + """Test GatewayStatusResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_llm_evaluation_api.py b/test/test_llm_evaluation_api.py new file mode 100644 index 00000000..8f378cd7 --- /dev/null +++ b/test/test_llm_evaluation_api.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.api.llm_evaluation_api import LLMEvaluationApi + + +class TestLLMEvaluationApi(unittest.TestCase): + """LLMEvaluationApi unit test stubs""" + + def setUp(self) -> None: + self.api = LLMEvaluationApi() + + def tearDown(self) -> None: + pass + + def test_create_evaluation(self) -> None: + """Test case for create_evaluation + + Create a new evaluation definition + """ + pass + + def test_delete_evaluation(self) -> None: + """Test case for delete_evaluation + + Delete an evaluation + """ + pass + + def test_delete_evaluator(self) -> None: + """Test case for delete_evaluator + + Delete evaluator + """ + pass + + def test_get_evaluation(self) -> None: + """Test case for get_evaluation + + Get evaluation details by ID + """ + pass + + def test_get_evaluation_runs(self) -> None: + """Test case for get_evaluation_runs + + Get all evaluation runs + """ + pass + + def test_get_evaluations(self) -> None: + """Test case for get_evaluations + + Get all evaluations + """ + pass + + def test_get_evaluator(self) -> None: + """Test case for get_evaluator + + Get evaluator by ID + """ + pass + + def test_get_evaluators(self) -> None: + """Test case for get_evaluators + + Get all evaluators + """ + pass + + def test_get_gateway_status(self) -> None: + """Test case for get_gateway_status + + Check gateway status for evaluation capability + """ + pass + + def test_reset_evaluator(self) -> None: + """Test case for reset_evaluator + + Reset built-in evaluator + """ + pass + + def test_run_evaluation(self) -> None: + """Test case for run_evaluation + + Run an evaluation + """ + pass + + def test_update_evaluation(self) -> None: + """Test case for update_evaluation + + Update an evaluation + """ + pass + + def test_upsert_evaluator(self) -> None: + """Test case for upsert_evaluator + + Create or update evaluator + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_logs_api_response.py b/test/test_logs_api_response.py new file mode 100644 index 00000000..77e5d487 --- /dev/null +++ b/test/test_logs_api_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.logs_api_response import LogsApiResponse + +class TestLogsApiResponse(unittest.TestCase): + """LogsApiResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LogsApiResponse: + """Test LogsApiResponse + 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 `LogsApiResponse` + """ + model = LogsApiResponse() + if include_optional: + return LogsApiResponse( + adjusted_time_frame = '', + can_load_more = True, + items = [ + instana_client.models.api_log_item.ApiLogItem( + aws/ecs/container_id = '', + aws/ecs/container_name = '', + containerd/container_id = '', + crio/container_id = '', + docker/container_id = '', + docker/container_name = '', + garden/container_id = '', + kubernetes/cluster/name = '', + kubernetes/container/name = '', + kubernetes/deployment/name = '', + kubernetes/namespace/name = '', + kubernetes/node/name = '', + kubernetes/pod/name = '', + log/applications = [ + '' + ], + log/custom = [ + instana_client.models.api_log_tag.ApiLogTag( + key = '', + name = '', + value = instana_client.models.value.value(), ) + ], + log/exception/message = '', + log/exception/stack_trace = '', + log/exception/type = '', + log/expiration/ts/seconds = '', + log/file/path = '', + log/host_id = '', + log/host_name = '', + log/level = '', + log/message = '', + log/process_id = '', + log/service_id = '', + log/service_name = '', + log/stream_name = '', + log/timestamp = 0, + log/trace_id = '', ) + ], + total_hits = 56 + ) + else: + return LogsApiResponse( + ) + """ + + def testLogsApiResponse(self): + """Test LogsApiResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_logs_query.py b/test/test_logs_query.py new file mode 100644 index 00000000..323c5579 --- /dev/null +++ b/test/test_logs_query.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.logs_query import LogsQuery + +class TestLogsQuery(unittest.TestCase): + """LogsQuery unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LogsQuery: + """Test LogsQuery + 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 `LogsQuery` + """ + model = LogsQuery() + if include_optional: + return LogsQuery( + filter = instana_client.models.filter_interface.FilterInterface( + rbac_restrictions = instana_client.models.rbac_restrictions.RbacRestrictions( + action_filters = [ + '' + ], + alerting_channels = [ + '' + ], + apdex_ids = [ + '' + ], + applications = [ + '' + ], + business_perspectives = [ + '' + ], + infra_dfq_filter = [ + '' + ], + kubernetes_clusters = [ + '' + ], + kubernetes_namespaces = [ + '' + ], + log_filters = [ + '' + ], + logging_perspectives = [ + '' + ], + mobile_apps = [ + '' + ], + service_levels = [ + '' + ], + synthetic_credentials = [ + '' + ], + synthetic_tests = [ + '' + ], + websites = [ + '' + ], ), + time_config = instana_client.models.time_config.TimeConfig( + auto_refresh = True, + focused_moment = 56, + to = 56, + window_size = 56, ), ), + offset = 0, + order_direction = 'ASC', + requested_tags = [ + '' + ], + retrieval_size = 1, + tag_filter_expression = instana_client.models.tag_filter_expression_element.TagFilterExpressionElement( + type = '', ), + time_config = instana_client.models.time_config.TimeConfig( + auto_refresh = True, + focused_moment = 56, + to = 56, + window_size = 56, ) + ) + else: + return LogsQuery( + ) + """ + + def testLogsQuery(self): + """Test LogsQuery""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_mobile_app_session_replay_api.py b/test/test_mobile_app_session_replay_api.py new file mode 100644 index 00000000..865dede7 --- /dev/null +++ b/test/test_mobile_app_session_replay_api.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.api.mobile_app_session_replay_api import MobileAppSessionReplayApi + + +class TestMobileAppSessionReplayApi(unittest.TestCase): + """MobileAppSessionReplayApi unit test stubs""" + + def setUp(self) -> None: + self.api = MobileAppSessionReplayApi() + + def tearDown(self) -> None: + pass + + def test_get_action_beacons(self) -> None: + """Test case for get_action_beacons + + Get action beacons for a session + """ + pass + + def test_get_session_replay_metadata(self) -> None: + """Test case for get_session_replay_metadata + + Get session replay metadata + """ + pass + + def test_get_session_replay_timestamps(self) -> None: + """Test case for get_session_replay_timestamps + + Get session replay timestamps + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_mobile_slo_entity.py b/test/test_mobile_slo_entity.py new file mode 100644 index 00000000..f01182a4 --- /dev/null +++ b/test/test_mobile_slo_entity.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.mobile_slo_entity import MobileSloEntity + +class TestMobileSloEntity(unittest.TestCase): + """MobileSloEntity unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MobileSloEntity: + """Test MobileSloEntity + 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 `MobileSloEntity` + """ + model = MobileSloEntity() + if include_optional: + return MobileSloEntity( + mobile_ids = [ + '' + ] + ) + else: + return MobileSloEntity( + ) + """ + + def testMobileSloEntity(self): + """Test MobileSloEntity""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_notification.py b/test/test_notification.py new file mode 100644 index 00000000..67b3e752 --- /dev/null +++ b/test/test_notification.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.notification import Notification + +class TestNotification(unittest.TestCase): + """Notification unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Notification: + """Test Notification + 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 `Notification` + """ + model = Notification() + if include_optional: + return Notification( + alert_channel_ids = [ + '' + ], + condition = 'STATUS_UNKNOWN' + ) + else: + return Notification( + alert_channel_ids = [ + '' + ], + condition = 'STATUS_UNKNOWN', + ) + """ + + def testNotification(self): + """Test Notification""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_rbac_restrictions.py b/test/test_rbac_restrictions.py new file mode 100644 index 00000000..f2574d27 --- /dev/null +++ b/test/test_rbac_restrictions.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.rbac_restrictions import RbacRestrictions + +class TestRbacRestrictions(unittest.TestCase): + """RbacRestrictions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RbacRestrictions: + """Test RbacRestrictions + 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 `RbacRestrictions` + """ + model = RbacRestrictions() + if include_optional: + return RbacRestrictions( + action_filters = [ + '' + ], + alerting_channels = [ + '' + ], + apdex_ids = [ + '' + ], + applications = [ + '' + ], + business_perspectives = [ + '' + ], + infra_dfq_filter = [ + '' + ], + kubernetes_clusters = [ + '' + ], + kubernetes_namespaces = [ + '' + ], + log_filters = [ + '' + ], + logging_perspectives = [ + '' + ], + mobile_apps = [ + '' + ], + service_levels = [ + '' + ], + synthetic_credentials = [ + '' + ], + synthetic_tests = [ + '' + ], + websites = [ + '' + ] + ) + else: + return RbacRestrictions( + ) + """ + + def testRbacRestrictions(self): + """Test RbacRestrictions""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_run_evaluation_response.py b/test/test_run_evaluation_response.py new file mode 100644 index 00000000..455ac052 --- /dev/null +++ b/test/test_run_evaluation_response.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.run_evaluation_response import RunEvaluationResponse + +class TestRunEvaluationResponse(unittest.TestCase): + """RunEvaluationResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RunEvaluationResponse: + """Test RunEvaluationResponse + 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 `RunEvaluationResponse` + """ + model = RunEvaluationResponse() + if include_optional: + return RunEvaluationResponse( + gateway_name = '', + message = '', + success = True + ) + else: + return RunEvaluationResponse( + ) + """ + + def testRunEvaluationResponse(self): + """Test RunEvaluationResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_sampling_metadata.py b/test/test_sampling_metadata.py new file mode 100644 index 00000000..dd61e3ca --- /dev/null +++ b/test/test_sampling_metadata.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.sampling_metadata import SamplingMetadata + +class TestSamplingMetadata(unittest.TestCase): + """SamplingMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SamplingMetadata: + """Test SamplingMetadata + 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 `SamplingMetadata` + """ + model = SamplingMetadata() + if include_optional: + return SamplingMetadata( + groups_sampled = 56, + groups_skipped = 56, + sampling_applied = True, + total_members_after = 56, + total_members_before = 56 + ) + else: + return SamplingMetadata( + ) + """ + + def testSamplingMetadata(self): + """Test SamplingMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_time_config.py b/test/test_time_config.py new file mode 100644 index 00000000..3a02cadc --- /dev/null +++ b/test/test_time_config.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.time_config import TimeConfig + +class TestTimeConfig(unittest.TestCase): + """TimeConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TimeConfig: + """Test TimeConfig + 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 `TimeConfig` + """ + model = TimeConfig() + if include_optional: + return TimeConfig( + auto_refresh = True, + focused_moment = 56, + to = 56, + window_size = 56 + ) + else: + return TimeConfig( + ) + """ + + def testTimeConfig(self): + """Test TimeConfig""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_trace_sampling_config.py b/test/test_trace_sampling_config.py new file mode 100644 index 00000000..847683f9 --- /dev/null +++ b/test/test_trace_sampling_config.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.trace_sampling_config import TraceSamplingConfig + +class TestTraceSamplingConfig(unittest.TestCase): + """TraceSamplingConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TraceSamplingConfig: + """Test TraceSamplingConfig + 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 `TraceSamplingConfig` + """ + model = TraceSamplingConfig() + if include_optional: + return TraceSamplingConfig( + created_at = 56, + enabled = True, + evaluation_window_minutes = 1, + retention_percentage = 0.01, + sampling_frequency_hours = 0, + sampling_rate = 0, + sampling_type = '', + tenant_unit_id = '', + updated_at = 56, + volume_strategy = '' + ) + else: + return TraceSamplingConfig( + enabled = True, + sampling_type = '', + volume_strategy = '', + ) + """ + + def testTraceSamplingConfig(self): + """Test TraceSamplingConfig""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_update_evaluation_request.py b/test/test_update_evaluation_request.py new file mode 100644 index 00000000..8ffb975d --- /dev/null +++ b/test/test_update_evaluation_request.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.update_evaluation_request import UpdateEvaluationRequest + +class TestUpdateEvaluationRequest(unittest.TestCase): + """UpdateEvaluationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateEvaluationRequest: + """Test UpdateEvaluationRequest + 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 `UpdateEvaluationRequest` + """ + model = UpdateEvaluationRequest() + if include_optional: + return UpdateEvaluationRequest( + description = '', + evaluation_id = '0', + evaluation_name = '0', + evaluator_ids = [ + '' + ], + metadata = { + 'key' : None + }, + model_names = [ + '' + ], + sampling_percentage = 1.337, + service_names = [ + '' + ], + time_before_run_hours = 56, + time_before_run_minutes = 56, + trace_ids = [ + '' + ] + ) + else: + return UpdateEvaluationRequest( + evaluation_id = '0', + evaluation_name = '0', + evaluator_ids = [ + '' + ], + ) + """ + + def testUpdateEvaluationRequest(self): + """Test UpdateEvaluationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_update_fleet_configuration_request.py b/test/test_update_fleet_configuration_request.py new file mode 100644 index 00000000..eaba1b74 --- /dev/null +++ b/test/test_update_fleet_configuration_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Instana REST API documentation + + Documentation for INSTANA REST API + + The version of the OpenAPI document: 1.323.989 + Contact: support@instana.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from instana_client.models.update_fleet_configuration_request import UpdateFleetConfigurationRequest + +class TestUpdateFleetConfigurationRequest(unittest.TestCase): + """UpdateFleetConfigurationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateFleetConfigurationRequest: + """Test UpdateFleetConfigurationRequest + 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 `UpdateFleetConfigurationRequest` + """ + model = UpdateFleetConfigurationRequest() + if include_optional: + return UpdateFleetConfigurationRequest( + configuration = None, + name = '0', + version = '' + ) + else: + return UpdateFleetConfigurationRequest( + configuration = None, + name = '0', + version = '', + ) + """ + + def testUpdateFleetConfigurationRequest(self): + """Test UpdateFleetConfigurationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main()