quantcdn-client 4.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quantcdn/__init__.py +341 -0
- quantcdn/__version__.py +2 -0
- quantcdn/api/__init__.py +32 -0
- quantcdn/api/ai_agents_api.py +1831 -0
- quantcdn/api/ai_custom_tools_api.py +894 -0
- quantcdn/api/ai_inference_api.py +1224 -0
- quantcdn/api/ai_models_api.py +600 -0
- quantcdn/api/ai_monitoring_api.py +317 -0
- quantcdn/api/ai_sessions_api.py +1875 -0
- quantcdn/api/ai_tools_api.py +1165 -0
- quantcdn/api/ai_vector_database_api.py +1816 -0
- quantcdn/api/applications_api.py +1394 -0
- quantcdn/api/backup_management_api.py +1440 -0
- quantcdn/api/commands_api.py +901 -0
- quantcdn/api/compose_api.py +968 -0
- quantcdn/api/containers_api.py +649 -0
- quantcdn/api/crawler_schedules_api.py +1611 -0
- quantcdn/api/crawlers_api.py +2479 -0
- quantcdn/api/cron_api.py +2212 -0
- quantcdn/api/domains_api.py +1508 -0
- quantcdn/api/environments_api.py +3256 -0
- quantcdn/api/headers_api.py +932 -0
- quantcdn/api/kv_api.py +2868 -0
- quantcdn/api/organizations_api.py +556 -0
- quantcdn/api/projects_api.py +1478 -0
- quantcdn/api/purge_api.py +345 -0
- quantcdn/api/rules_api.py +13520 -0
- quantcdn/api/scaling_policy_api.py +924 -0
- quantcdn/api/ssh_access_api.py +335 -0
- quantcdn/api/variables_api.py +1255 -0
- quantcdn/api/volumes_api.py +1254 -0
- quantcdn/api_client.py +797 -0
- quantcdn/api_response.py +21 -0
- quantcdn/configuration.py +586 -0
- quantcdn/exceptions.py +216 -0
- quantcdn/models/__init__.py +297 -0
- quantcdn/models/application.py +200 -0
- quantcdn/models/application_database.py +103 -0
- quantcdn/models/application_deployment_information_inner.py +96 -0
- quantcdn/models/application_environments_inner.py +93 -0
- quantcdn/models/application_filesystem.py +89 -0
- quantcdn/models/application_image_reference.py +99 -0
- quantcdn/models/bulk_set_environment_variables_request.py +95 -0
- quantcdn/models/bulk_set_environment_variables_request_environment_inner.py +89 -0
- quantcdn/models/chat_inference200_response.py +113 -0
- quantcdn/models/chat_inference200_response_response.py +105 -0
- quantcdn/models/chat_inference200_response_response_tool_use.py +141 -0
- quantcdn/models/chat_inference200_response_response_tool_use_one_of.py +101 -0
- quantcdn/models/chat_inference200_response_response_tool_use_one_of1_inner.py +97 -0
- quantcdn/models/chat_inference200_response_response_tool_use_one_of_result.py +89 -0
- quantcdn/models/chat_inference200_response_usage.py +91 -0
- quantcdn/models/chat_inference_request.py +122 -0
- quantcdn/models/chat_inference_request_messages_inner.py +100 -0
- quantcdn/models/chat_inference_request_messages_inner_content.py +144 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner.py +165 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of.py +87 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of1.py +91 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of1_image.py +100 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of1_image_source.py +87 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of2.py +91 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of2_video.py +100 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of2_video_source.py +87 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of3.py +91 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of3_document.py +102 -0
- quantcdn/models/chat_inference_request_messages_inner_content_one_of_inner_one_of3_document_source.py +87 -0
- quantcdn/models/chat_inference_request_response_format.py +99 -0
- quantcdn/models/chat_inference_request_tool_config.py +99 -0
- quantcdn/models/chat_inference_request_tool_config_tools_inner.py +91 -0
- quantcdn/models/chat_inference_request_tool_config_tools_inner_tool_spec.py +95 -0
- quantcdn/models/chat_inference_request_tool_config_tools_inner_tool_spec_input_schema.py +87 -0
- quantcdn/models/chat_inference_stream_request.py +120 -0
- quantcdn/models/chat_inference_stream_request_messages_inner.py +100 -0
- quantcdn/models/chat_inference_stream_request_messages_inner_content.py +143 -0
- quantcdn/models/chat_with_ai_agent200_response.py +93 -0
- quantcdn/models/chat_with_ai_agent200_response_response.py +97 -0
- quantcdn/models/chat_with_ai_agent200_response_response_usage.py +89 -0
- quantcdn/models/chat_with_ai_agent_request.py +93 -0
- quantcdn/models/command.py +105 -0
- quantcdn/models/compose.py +125 -0
- quantcdn/models/container.py +260 -0
- quantcdn/models/container_depends_on_inner.py +99 -0
- quantcdn/models/container_environment_inner.py +89 -0
- quantcdn/models/container_health_check.py +101 -0
- quantcdn/models/container_image_reference.py +96 -0
- quantcdn/models/container_mount_points_inner.py +91 -0
- quantcdn/models/container_origin_protection_config.py +94 -0
- quantcdn/models/container_secrets_inner.py +89 -0
- quantcdn/models/crawlers_run200_response.py +87 -0
- quantcdn/models/crawlers_run_request.py +87 -0
- quantcdn/models/create_ai_agent201_response.py +91 -0
- quantcdn/models/create_ai_agent_request.py +106 -0
- quantcdn/models/create_ai_session201_response.py +104 -0
- quantcdn/models/create_ai_session_request.py +104 -0
- quantcdn/models/create_ai_session_request_initial_messages_inner.py +99 -0
- quantcdn/models/create_application403_response.py +89 -0
- quantcdn/models/create_application_request.py +144 -0
- quantcdn/models/create_application_request_database.py +103 -0
- quantcdn/models/create_application_request_environment_inner.py +89 -0
- quantcdn/models/create_application_request_filesystem.py +89 -0
- quantcdn/models/create_backup202_response.py +91 -0
- quantcdn/models/create_backup_request.py +87 -0
- quantcdn/models/create_command_request.py +87 -0
- quantcdn/models/create_cron_job_request.py +112 -0
- quantcdn/models/create_custom_tool201_response.py +91 -0
- quantcdn/models/create_custom_tool_request.py +98 -0
- quantcdn/models/create_environment403_response.py +89 -0
- quantcdn/models/create_environment_request.py +130 -0
- quantcdn/models/create_environment_request_environment_inner.py +89 -0
- quantcdn/models/create_vector_collection201_response.py +95 -0
- quantcdn/models/create_vector_collection201_response_collection.py +95 -0
- quantcdn/models/create_vector_collection_request.py +93 -0
- quantcdn/models/create_volume_request.py +101 -0
- quantcdn/models/cron.py +91 -0
- quantcdn/models/cron_run.py +156 -0
- quantcdn/models/delete_ai_agent200_response.py +89 -0
- quantcdn/models/delete_ai_session200_response.py +87 -0
- quantcdn/models/delete_backup200_response.py +89 -0
- quantcdn/models/delete_custom_tool200_response.py +89 -0
- quantcdn/models/delete_vector_collection200_response.py +89 -0
- quantcdn/models/download_backup200_response.py +92 -0
- quantcdn/models/embeddings200_response.py +101 -0
- quantcdn/models/embeddings200_response_embeddings.py +143 -0
- quantcdn/models/embeddings200_response_usage.py +89 -0
- quantcdn/models/embeddings_request.py +107 -0
- quantcdn/models/embeddings_request_input.py +143 -0
- quantcdn/models/environment.py +108 -0
- quantcdn/models/environment_response.py +171 -0
- quantcdn/models/environment_summary.py +109 -0
- quantcdn/models/extend_ai_session200_response.py +92 -0
- quantcdn/models/extend_ai_session_request.py +88 -0
- quantcdn/models/get_ai_agent200_response.py +91 -0
- quantcdn/models/get_ai_agent200_response_agent.py +112 -0
- quantcdn/models/get_ai_model200_response.py +116 -0
- quantcdn/models/get_ai_model200_response_capabilities.py +95 -0
- quantcdn/models/get_ai_model200_response_pricing.py +91 -0
- quantcdn/models/get_ai_model404_response.py +89 -0
- quantcdn/models/get_ai_session200_response.py +96 -0
- quantcdn/models/get_ai_tool_execution_status200_response.py +107 -0
- quantcdn/models/get_ai_tool_execution_status200_response_result.py +89 -0
- quantcdn/models/get_ai_tool_execution_status404_response.py +89 -0
- quantcdn/models/get_ai_usage_stats200_response.py +104 -0
- quantcdn/models/get_ai_usage_stats200_response_by_model_value.py +89 -0
- quantcdn/models/get_ecr_login_credentials200_response.py +93 -0
- quantcdn/models/get_environment_logs200_response.py +102 -0
- quantcdn/models/get_environment_logs200_response_log_events_inner.py +89 -0
- quantcdn/models/get_ssh_access_credentials200_response.py +107 -0
- quantcdn/models/get_ssh_access_credentials200_response_credentials.py +94 -0
- quantcdn/models/get_vector_collection200_response.py +91 -0
- quantcdn/models/get_vector_collection200_response_collection.py +102 -0
- quantcdn/models/image_generation200_response.py +91 -0
- quantcdn/models/image_generation_request.py +152 -0
- quantcdn/models/image_generation_request_background_removal_params.py +87 -0
- quantcdn/models/image_generation_request_color_guided_generation_params.py +94 -0
- quantcdn/models/image_generation_request_image_generation_config.py +108 -0
- quantcdn/models/image_generation_request_image_variation_params.py +94 -0
- quantcdn/models/image_generation_request_in_painting_params.py +96 -0
- quantcdn/models/image_generation_request_out_painting_params.py +107 -0
- quantcdn/models/image_generation_request_text_to_image_params.py +118 -0
- quantcdn/models/kv_items_create200_response.py +91 -0
- quantcdn/models/kv_items_delete200_response.py +89 -0
- quantcdn/models/kv_items_show200_response.py +93 -0
- quantcdn/models/kv_items_show200_response_value.py +143 -0
- quantcdn/models/list_ai_agents200_response.py +95 -0
- quantcdn/models/list_ai_agents200_response_agents_inner.py +106 -0
- quantcdn/models/list_ai_models200_response.py +97 -0
- quantcdn/models/list_ai_models200_response_models_inner.py +97 -0
- quantcdn/models/list_ai_models200_response_models_inner_capabilities.py +95 -0
- quantcdn/models/list_ai_sessions200_response_inner.py +96 -0
- quantcdn/models/list_ai_tool_executions200_response.py +101 -0
- quantcdn/models/list_ai_tool_executions200_response_executions_inner.py +96 -0
- quantcdn/models/list_ai_tool_names200_response.py +89 -0
- quantcdn/models/list_ai_tools200_response.py +97 -0
- quantcdn/models/list_ai_tools200_response_tools_inner.py +91 -0
- quantcdn/models/list_ai_tools200_response_tools_inner_tool_spec.py +95 -0
- quantcdn/models/list_ai_tools200_response_tools_inner_tool_spec_input_schema.py +87 -0
- quantcdn/models/list_backups200_response.py +106 -0
- quantcdn/models/list_backups200_response_backups_inner.py +112 -0
- quantcdn/models/list_backups422_response.py +87 -0
- quantcdn/models/list_custom_tools200_response.py +97 -0
- quantcdn/models/list_custom_tools200_response_tools_inner.py +98 -0
- quantcdn/models/list_vector_collections200_response.py +97 -0
- quantcdn/models/list_vector_collections200_response_collections_inner.py +98 -0
- quantcdn/models/organizations_list200_response_inner.py +89 -0
- quantcdn/models/patch_environment_compose202_response.py +107 -0
- quantcdn/models/patch_environment_compose202_response_spot_configuration.py +89 -0
- quantcdn/models/patch_environment_compose400_response.py +89 -0
- quantcdn/models/patch_environment_compose_request.py +153 -0
- quantcdn/models/patch_environment_compose_request_spot_configuration.py +97 -0
- quantcdn/models/purge_create_request.py +93 -0
- quantcdn/models/query_vector_collection200_response.py +101 -0
- quantcdn/models/query_vector_collection200_response_results_inner.py +95 -0
- quantcdn/models/query_vector_collection200_response_results_inner_metadata.py +91 -0
- quantcdn/models/query_vector_collection_request.py +90 -0
- quantcdn/models/scaling_policy.py +103 -0
- quantcdn/models/spot_configuration.py +94 -0
- quantcdn/models/sync_operation.py +99 -0
- quantcdn/models/sync_to_environment_request.py +87 -0
- quantcdn/models/update_ai_agent200_response.py +91 -0
- quantcdn/models/update_ai_agent_request.py +104 -0
- quantcdn/models/update_ai_session200_response.py +96 -0
- quantcdn/models/update_ai_session_request.py +111 -0
- quantcdn/models/update_ai_session_request_new_messages_inner.py +99 -0
- quantcdn/models/update_cron_job_request.py +120 -0
- quantcdn/models/update_environment_request.py +106 -0
- quantcdn/models/update_environment_state_request.py +89 -0
- quantcdn/models/update_environment_variable_request.py +87 -0
- quantcdn/models/upload_vector_documents200_response.py +93 -0
- quantcdn/models/upload_vector_documents_request.py +95 -0
- quantcdn/models/upload_vector_documents_request_documents_inner.py +93 -0
- quantcdn/models/upload_vector_documents_request_documents_inner_metadata.py +93 -0
- quantcdn/models/v1_content_item.py +97 -0
- quantcdn/models/v1_content_list_response.py +101 -0
- quantcdn/models/v1_content_request.py +110 -0
- quantcdn/models/v1_delete_response.py +99 -0
- quantcdn/models/v1_error.py +89 -0
- quantcdn/models/v1_form_submission_item.py +97 -0
- quantcdn/models/v1_form_submission_list_response.py +101 -0
- quantcdn/models/v1_get_metric_series_response.py +93 -0
- quantcdn/models/v1_get_metric_series_response_data.py +162 -0
- quantcdn/models/v1_get_metrics_response.py +93 -0
- quantcdn/models/v1_get_metrics_response_data.py +163 -0
- quantcdn/models/v1_global_meta_response.py +101 -0
- quantcdn/models/v1_global_meta_response_global_meta.py +87 -0
- quantcdn/models/v1_info.py +99 -0
- quantcdn/models/v1_meta.py +113 -0
- quantcdn/models/v1_metric_day_stats.py +93 -0
- quantcdn/models/v1_metric_minute_stats.py +93 -0
- quantcdn/models/v1_metric_month_stats.py +93 -0
- quantcdn/models/v1_ping_response.py +89 -0
- quantcdn/models/v1_proxy_item.py +95 -0
- quantcdn/models/v1_proxy_list_response.py +101 -0
- quantcdn/models/v1_redirect_item.py +97 -0
- quantcdn/models/v1_redirect_list_response.py +101 -0
- quantcdn/models/v1_redirect_request.py +111 -0
- quantcdn/models/v1_redirect_response.py +121 -0
- quantcdn/models/v1_revision.py +115 -0
- quantcdn/models/v1_revisions_response.py +107 -0
- quantcdn/models/v1_search_hit.py +97 -0
- quantcdn/models/v1_search_items_response.py +97 -0
- quantcdn/models/v1_search_mutation_response.py +91 -0
- quantcdn/models/v1_search_record.py +93 -0
- quantcdn/models/v1_search_response.py +89 -0
- quantcdn/models/v1_series_point_day.py +89 -0
- quantcdn/models/v1_series_point_month.py +89 -0
- quantcdn/models/v1_transition.py +99 -0
- quantcdn/models/v1_upload_response.py +89 -0
- quantcdn/models/v1_url_meta_request.py +87 -0
- quantcdn/models/v1_url_meta_response.py +91 -0
- quantcdn/models/v1_waf_log_item.py +107 -0
- quantcdn/models/v1_waf_log_list_response.py +101 -0
- quantcdn/models/v2_crawler.py +165 -0
- quantcdn/models/v2_crawler_assets.py +97 -0
- quantcdn/models/v2_crawler_assets_network_intercept.py +91 -0
- quantcdn/models/v2_crawler_assets_parser.py +87 -0
- quantcdn/models/v2_crawler_request.py +142 -0
- quantcdn/models/v2_crawler_run.py +114 -0
- quantcdn/models/v2_crawler_schedule.py +104 -0
- quantcdn/models/v2_crawler_schedule_request.py +89 -0
- quantcdn/models/v2_crawler_sitemap_inner.py +89 -0
- quantcdn/models/v2_custom_header_request.py +87 -0
- quantcdn/models/v2_domain.py +121 -0
- quantcdn/models/v2_domain_dns_go_live_records_inner.py +98 -0
- quantcdn/models/v2_domain_dns_validation_records_inner.py +91 -0
- quantcdn/models/v2_domain_request.py +87 -0
- quantcdn/models/v2_error.py +89 -0
- quantcdn/models/v2_organization.py +100 -0
- quantcdn/models/v2_organization_request.py +89 -0
- quantcdn/models/v2_project.py +95 -0
- quantcdn/models/v2_project_request.py +101 -0
- quantcdn/models/v2_rule.py +121 -0
- quantcdn/models/v2_rule_auth.py +127 -0
- quantcdn/models/v2_rule_auth_action.py +89 -0
- quantcdn/models/v2_rule_auth_request.py +119 -0
- quantcdn/models/v2_rule_bot_challenge.py +127 -0
- quantcdn/models/v2_rule_bot_challenge_action.py +91 -0
- quantcdn/models/v2_rule_bot_challenge_request.py +121 -0
- quantcdn/models/v2_rule_content_filter.py +127 -0
- quantcdn/models/v2_rule_content_filter_action.py +87 -0
- quantcdn/models/v2_rule_content_filter_request.py +117 -0
- quantcdn/models/v2_rule_custom_response.py +127 -0
- quantcdn/models/v2_rule_custom_response_action.py +89 -0
- quantcdn/models/v2_rule_custom_response_request.py +123 -0
- quantcdn/models/v2_rule_function.py +127 -0
- quantcdn/models/v2_rule_function_action.py +87 -0
- quantcdn/models/v2_rule_function_request.py +117 -0
- quantcdn/models/v2_rule_header.py +127 -0
- quantcdn/models/v2_rule_header_action.py +87 -0
- quantcdn/models/v2_rule_header_request.py +117 -0
- quantcdn/models/v2_rule_proxy.py +127 -0
- quantcdn/models/v2_rule_proxy_action.py +195 -0
- quantcdn/models/v2_rule_proxy_action_notify_config.py +87 -0
- quantcdn/models/v2_rule_proxy_action_quant_cloud_selection.py +93 -0
- quantcdn/models/v2_rule_proxy_request.py +189 -0
- quantcdn/models/v2_rule_redirect.py +127 -0
- quantcdn/models/v2_rule_redirect_action.py +89 -0
- quantcdn/models/v2_rule_redirect_request.py +119 -0
- quantcdn/models/v2_rule_request.py +115 -0
- quantcdn/models/v2_rule_serve_static.py +127 -0
- quantcdn/models/v2_rule_serve_static_action.py +87 -0
- quantcdn/models/v2_rule_serve_static_request.py +117 -0
- quantcdn/models/v2_secret_store.py +89 -0
- quantcdn/models/v2_secret_store_request.py +87 -0
- quantcdn/models/v2_store.py +89 -0
- quantcdn/models/v2_store_item.py +89 -0
- quantcdn/models/v2_store_item_request.py +91 -0
- quantcdn/models/v2_store_item_update_request.py +89 -0
- quantcdn/models/v2_store_items_list_response.py +94 -0
- quantcdn/models/v2_store_request.py +87 -0
- quantcdn/models/validate_compose200_response.py +96 -0
- quantcdn/models/validate_compose422_response.py +87 -0
- quantcdn/models/validate_compose_request.py +102 -0
- quantcdn/models/variable.py +89 -0
- quantcdn/models/volume.py +101 -0
- quantcdn/models/waf_config.py +140 -0
- quantcdn/models/waf_config_block_lists.py +93 -0
- quantcdn/models/waf_config_httpbl.py +97 -0
- quantcdn/models/waf_config_thresholds_inner.py +131 -0
- quantcdn/py.typed +0 -0
- quantcdn/rest.py +258 -0
- quantcdn_client-4.8.0.dist-info/METADATA +23 -0
- quantcdn_client-4.8.0.dist-info/RECORD +323 -0
- quantcdn_client-4.8.0.dist-info/WHEEL +5 -0
- quantcdn_client-4.8.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
QuantCDN API
|
|
5
|
+
|
|
6
|
+
Unified API for QuantCDN Admin and QuantCloud Platform services
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 4.8.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from quantcdn.models.chat_with_ai_agent200_response_response import ChatWithAIAgent200ResponseResponse
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class ChatWithAIAgent200Response(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ChatWithAIAgent200Response
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
session_id: Optional[StrictStr] = Field(default=None, alias="sessionId")
|
|
31
|
+
response: Optional[ChatWithAIAgent200ResponseResponse] = None
|
|
32
|
+
__properties: ClassVar[List[str]] = ["sessionId", "response"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
populate_by_name=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""Returns the JSON representation of the model using alias"""
|
|
47
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
48
|
+
return json.dumps(self.to_dict())
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of ChatWithAIAgent200Response from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
# override the default output from pydantic by calling `to_dict()` of response
|
|
74
|
+
if self.response:
|
|
75
|
+
_dict['response'] = self.response.to_dict()
|
|
76
|
+
return _dict
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
80
|
+
"""Create an instance of ChatWithAIAgent200Response from a dict"""
|
|
81
|
+
if obj is None:
|
|
82
|
+
return None
|
|
83
|
+
|
|
84
|
+
if not isinstance(obj, dict):
|
|
85
|
+
return cls.model_validate(obj)
|
|
86
|
+
|
|
87
|
+
_obj = cls.model_validate({
|
|
88
|
+
"sessionId": obj.get("sessionId"),
|
|
89
|
+
"response": ChatWithAIAgent200ResponseResponse.from_dict(obj["response"]) if obj.get("response") is not None else None
|
|
90
|
+
})
|
|
91
|
+
return _obj
|
|
92
|
+
|
|
93
|
+
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
QuantCDN API
|
|
5
|
+
|
|
6
|
+
Unified API for QuantCDN Admin and QuantCloud Platform services
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 4.8.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from quantcdn.models.chat_with_ai_agent200_response_response_usage import ChatWithAIAgent200ResponseResponseUsage
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
class ChatWithAIAgent200ResponseResponse(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
ChatWithAIAgent200ResponseResponse
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
text: Optional[StrictStr] = None
|
|
31
|
+
stop_reason: Optional[StrictStr] = Field(default=None, alias="stopReason")
|
|
32
|
+
usage: Optional[ChatWithAIAgent200ResponseResponseUsage] = None
|
|
33
|
+
tool_results: Optional[List[Dict[str, Any]]] = Field(default=None, alias="toolResults")
|
|
34
|
+
__properties: ClassVar[List[str]] = ["text", "stopReason", "usage", "toolResults"]
|
|
35
|
+
|
|
36
|
+
model_config = ConfigDict(
|
|
37
|
+
populate_by_name=True,
|
|
38
|
+
validate_assignment=True,
|
|
39
|
+
protected_namespaces=(),
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def to_str(self) -> str:
|
|
44
|
+
"""Returns the string representation of the model using alias"""
|
|
45
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
46
|
+
|
|
47
|
+
def to_json(self) -> str:
|
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
|
49
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
50
|
+
return json.dumps(self.to_dict())
|
|
51
|
+
|
|
52
|
+
@classmethod
|
|
53
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
54
|
+
"""Create an instance of ChatWithAIAgent200ResponseResponse from a JSON string"""
|
|
55
|
+
return cls.from_dict(json.loads(json_str))
|
|
56
|
+
|
|
57
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
58
|
+
"""Return the dictionary representation of the model using alias.
|
|
59
|
+
|
|
60
|
+
This has the following differences from calling pydantic's
|
|
61
|
+
`self.model_dump(by_alias=True)`:
|
|
62
|
+
|
|
63
|
+
* `None` is only added to the output dict for nullable fields that
|
|
64
|
+
were set at model initialization. Other fields with value `None`
|
|
65
|
+
are ignored.
|
|
66
|
+
"""
|
|
67
|
+
excluded_fields: Set[str] = set([
|
|
68
|
+
])
|
|
69
|
+
|
|
70
|
+
_dict = self.model_dump(
|
|
71
|
+
by_alias=True,
|
|
72
|
+
exclude=excluded_fields,
|
|
73
|
+
exclude_none=True,
|
|
74
|
+
)
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of usage
|
|
76
|
+
if self.usage:
|
|
77
|
+
_dict['usage'] = self.usage.to_dict()
|
|
78
|
+
return _dict
|
|
79
|
+
|
|
80
|
+
@classmethod
|
|
81
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
82
|
+
"""Create an instance of ChatWithAIAgent200ResponseResponse from a dict"""
|
|
83
|
+
if obj is None:
|
|
84
|
+
return None
|
|
85
|
+
|
|
86
|
+
if not isinstance(obj, dict):
|
|
87
|
+
return cls.model_validate(obj)
|
|
88
|
+
|
|
89
|
+
_obj = cls.model_validate({
|
|
90
|
+
"text": obj.get("text"),
|
|
91
|
+
"stopReason": obj.get("stopReason"),
|
|
92
|
+
"usage": ChatWithAIAgent200ResponseResponseUsage.from_dict(obj["usage"]) if obj.get("usage") is not None else None,
|
|
93
|
+
"toolResults": obj.get("toolResults")
|
|
94
|
+
})
|
|
95
|
+
return _obj
|
|
96
|
+
|
|
97
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
QuantCDN API
|
|
5
|
+
|
|
6
|
+
Unified API for QuantCDN Admin and QuantCloud Platform services
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 4.8.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
|
|
25
|
+
class ChatWithAIAgent200ResponseResponseUsage(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
ChatWithAIAgent200ResponseResponseUsage
|
|
28
|
+
""" # noqa: E501
|
|
29
|
+
input_tokens: Optional[StrictInt] = Field(default=None, alias="inputTokens")
|
|
30
|
+
output_tokens: Optional[StrictInt] = Field(default=None, alias="outputTokens")
|
|
31
|
+
__properties: ClassVar[List[str]] = ["inputTokens", "outputTokens"]
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
populate_by_name=True,
|
|
35
|
+
validate_assignment=True,
|
|
36
|
+
protected_namespaces=(),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
47
|
+
return json.dumps(self.to_dict())
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
51
|
+
"""Create an instance of ChatWithAIAgent200ResponseResponseUsage from a JSON string"""
|
|
52
|
+
return cls.from_dict(json.loads(json_str))
|
|
53
|
+
|
|
54
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
55
|
+
"""Return the dictionary representation of the model using alias.
|
|
56
|
+
|
|
57
|
+
This has the following differences from calling pydantic's
|
|
58
|
+
`self.model_dump(by_alias=True)`:
|
|
59
|
+
|
|
60
|
+
* `None` is only added to the output dict for nullable fields that
|
|
61
|
+
were set at model initialization. Other fields with value `None`
|
|
62
|
+
are ignored.
|
|
63
|
+
"""
|
|
64
|
+
excluded_fields: Set[str] = set([
|
|
65
|
+
])
|
|
66
|
+
|
|
67
|
+
_dict = self.model_dump(
|
|
68
|
+
by_alias=True,
|
|
69
|
+
exclude=excluded_fields,
|
|
70
|
+
exclude_none=True,
|
|
71
|
+
)
|
|
72
|
+
return _dict
|
|
73
|
+
|
|
74
|
+
@classmethod
|
|
75
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
76
|
+
"""Create an instance of ChatWithAIAgent200ResponseResponseUsage from a dict"""
|
|
77
|
+
if obj is None:
|
|
78
|
+
return None
|
|
79
|
+
|
|
80
|
+
if not isinstance(obj, dict):
|
|
81
|
+
return cls.model_validate(obj)
|
|
82
|
+
|
|
83
|
+
_obj = cls.model_validate({
|
|
84
|
+
"inputTokens": obj.get("inputTokens"),
|
|
85
|
+
"outputTokens": obj.get("outputTokens")
|
|
86
|
+
})
|
|
87
|
+
return _obj
|
|
88
|
+
|
|
89
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
QuantCDN API
|
|
5
|
+
|
|
6
|
+
Unified API for QuantCDN Admin and QuantCloud Platform services
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 4.8.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
|
|
25
|
+
class ChatWithAIAgentRequest(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
ChatWithAIAgentRequest
|
|
28
|
+
""" # noqa: E501
|
|
29
|
+
message: StrictStr = Field(description="The user's message to the agent")
|
|
30
|
+
session_id: Optional[StrictStr] = Field(default=None, description="Optional session ID to continue a conversation", alias="sessionId")
|
|
31
|
+
user_id: Optional[StrictStr] = Field(default=None, description="Optional user identifier for session isolation", alias="userId")
|
|
32
|
+
stream: Optional[StrictBool] = Field(default=False, description="Whether to stream the response (SSE)")
|
|
33
|
+
__properties: ClassVar[List[str]] = ["message", "sessionId", "userId", "stream"]
|
|
34
|
+
|
|
35
|
+
model_config = ConfigDict(
|
|
36
|
+
populate_by_name=True,
|
|
37
|
+
validate_assignment=True,
|
|
38
|
+
protected_namespaces=(),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def to_str(self) -> str:
|
|
43
|
+
"""Returns the string representation of the model using alias"""
|
|
44
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
45
|
+
|
|
46
|
+
def to_json(self) -> str:
|
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
|
48
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
49
|
+
return json.dumps(self.to_dict())
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
53
|
+
"""Create an instance of ChatWithAIAgentRequest from a JSON string"""
|
|
54
|
+
return cls.from_dict(json.loads(json_str))
|
|
55
|
+
|
|
56
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
57
|
+
"""Return the dictionary representation of the model using alias.
|
|
58
|
+
|
|
59
|
+
This has the following differences from calling pydantic's
|
|
60
|
+
`self.model_dump(by_alias=True)`:
|
|
61
|
+
|
|
62
|
+
* `None` is only added to the output dict for nullable fields that
|
|
63
|
+
were set at model initialization. Other fields with value `None`
|
|
64
|
+
are ignored.
|
|
65
|
+
"""
|
|
66
|
+
excluded_fields: Set[str] = set([
|
|
67
|
+
])
|
|
68
|
+
|
|
69
|
+
_dict = self.model_dump(
|
|
70
|
+
by_alias=True,
|
|
71
|
+
exclude=excluded_fields,
|
|
72
|
+
exclude_none=True,
|
|
73
|
+
)
|
|
74
|
+
return _dict
|
|
75
|
+
|
|
76
|
+
@classmethod
|
|
77
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
78
|
+
"""Create an instance of ChatWithAIAgentRequest from a dict"""
|
|
79
|
+
if obj is None:
|
|
80
|
+
return None
|
|
81
|
+
|
|
82
|
+
if not isinstance(obj, dict):
|
|
83
|
+
return cls.model_validate(obj)
|
|
84
|
+
|
|
85
|
+
_obj = cls.model_validate({
|
|
86
|
+
"message": obj.get("message"),
|
|
87
|
+
"sessionId": obj.get("sessionId"),
|
|
88
|
+
"userId": obj.get("userId"),
|
|
89
|
+
"stream": obj.get("stream") if obj.get("stream") is not None else False
|
|
90
|
+
})
|
|
91
|
+
return _obj
|
|
92
|
+
|
|
93
|
+
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
QuantCDN API
|
|
5
|
+
|
|
6
|
+
Unified API for QuantCDN Admin and QuantCloud Platform services
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 4.8.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
|
|
25
|
+
class Command(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Command
|
|
28
|
+
""" # noqa: E501
|
|
29
|
+
run_id: Optional[StrictStr] = Field(default=None, alias="runId")
|
|
30
|
+
run_type: Optional[StrictStr] = Field(default=None, alias="runType")
|
|
31
|
+
command: Optional[StrictStr] = None
|
|
32
|
+
status: Optional[StrictStr] = None
|
|
33
|
+
start_time: Optional[StrictStr] = Field(default=None, alias="startTime")
|
|
34
|
+
end_time: Optional[StrictStr] = Field(default=None, alias="endTime")
|
|
35
|
+
exit_code: Optional[StrictInt] = Field(default=None, alias="exitCode")
|
|
36
|
+
output: Optional[List[StrictStr]] = None
|
|
37
|
+
schedule_name: Optional[StrictStr] = Field(default=None, alias="scheduleName")
|
|
38
|
+
target_container_name: Optional[StrictStr] = Field(default=None, alias="targetContainerName")
|
|
39
|
+
__properties: ClassVar[List[str]] = ["runId", "runType", "command", "status", "startTime", "endTime", "exitCode", "output", "scheduleName", "targetContainerName"]
|
|
40
|
+
|
|
41
|
+
model_config = ConfigDict(
|
|
42
|
+
populate_by_name=True,
|
|
43
|
+
validate_assignment=True,
|
|
44
|
+
protected_namespaces=(),
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def to_str(self) -> str:
|
|
49
|
+
"""Returns the string representation of the model using alias"""
|
|
50
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
51
|
+
|
|
52
|
+
def to_json(self) -> str:
|
|
53
|
+
"""Returns the JSON representation of the model using alias"""
|
|
54
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
55
|
+
return json.dumps(self.to_dict())
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
59
|
+
"""Create an instance of Command from a JSON string"""
|
|
60
|
+
return cls.from_dict(json.loads(json_str))
|
|
61
|
+
|
|
62
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
63
|
+
"""Return the dictionary representation of the model using alias.
|
|
64
|
+
|
|
65
|
+
This has the following differences from calling pydantic's
|
|
66
|
+
`self.model_dump(by_alias=True)`:
|
|
67
|
+
|
|
68
|
+
* `None` is only added to the output dict for nullable fields that
|
|
69
|
+
were set at model initialization. Other fields with value `None`
|
|
70
|
+
are ignored.
|
|
71
|
+
"""
|
|
72
|
+
excluded_fields: Set[str] = set([
|
|
73
|
+
])
|
|
74
|
+
|
|
75
|
+
_dict = self.model_dump(
|
|
76
|
+
by_alias=True,
|
|
77
|
+
exclude=excluded_fields,
|
|
78
|
+
exclude_none=True,
|
|
79
|
+
)
|
|
80
|
+
return _dict
|
|
81
|
+
|
|
82
|
+
@classmethod
|
|
83
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
84
|
+
"""Create an instance of Command from a dict"""
|
|
85
|
+
if obj is None:
|
|
86
|
+
return None
|
|
87
|
+
|
|
88
|
+
if not isinstance(obj, dict):
|
|
89
|
+
return cls.model_validate(obj)
|
|
90
|
+
|
|
91
|
+
_obj = cls.model_validate({
|
|
92
|
+
"runId": obj.get("runId"),
|
|
93
|
+
"runType": obj.get("runType"),
|
|
94
|
+
"command": obj.get("command"),
|
|
95
|
+
"status": obj.get("status"),
|
|
96
|
+
"startTime": obj.get("startTime"),
|
|
97
|
+
"endTime": obj.get("endTime"),
|
|
98
|
+
"exitCode": obj.get("exitCode"),
|
|
99
|
+
"output": obj.get("output"),
|
|
100
|
+
"scheduleName": obj.get("scheduleName"),
|
|
101
|
+
"targetContainerName": obj.get("targetContainerName")
|
|
102
|
+
})
|
|
103
|
+
return _obj
|
|
104
|
+
|
|
105
|
+
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
QuantCDN API
|
|
5
|
+
|
|
6
|
+
Unified API for QuantCDN Admin and QuantCloud Platform services
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 4.8.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from quantcdn.models.container import Container
|
|
23
|
+
from quantcdn.models.spot_configuration import SpotConfiguration
|
|
24
|
+
from typing import Optional, Set
|
|
25
|
+
from typing_extensions import Self
|
|
26
|
+
|
|
27
|
+
class Compose(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
Compose
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
containers: Optional[List[Container]] = None
|
|
32
|
+
architecture: Optional[StrictStr] = Field(default=None, description="CPU architecture (X86_64 or ARM64)")
|
|
33
|
+
task_cpu: Optional[StrictInt] = Field(default=None, description="Task-level CPU units (e.g., 256, 512, 1024)", alias="taskCpu")
|
|
34
|
+
task_memory: Optional[StrictInt] = Field(default=None, description="Task-level memory in MB", alias="taskMemory")
|
|
35
|
+
min_capacity: Optional[StrictInt] = Field(default=None, description="Minimum number of instances", alias="minCapacity")
|
|
36
|
+
max_capacity: Optional[StrictInt] = Field(default=None, description="Maximum number of instances", alias="maxCapacity")
|
|
37
|
+
spot_configuration: Optional[SpotConfiguration] = Field(default=None, alias="spotConfiguration")
|
|
38
|
+
enable_cross_env_networking: Optional[StrictBool] = Field(default=False, description="Optional. Enable cross-environment networking within the same application. When false (default): Uses shared security group for complete isolation (most secure). When true: Uses app-specific security group to enable communication between environments of the same application (e.g., staging can connect to production database). Note: If enableCrossAppNetworking is true, this setting is overridden.", alias="enableCrossEnvNetworking")
|
|
39
|
+
enable_cross_app_networking: Optional[StrictBool] = Field(default=False, description="Optional. Enable cross-application networking within the same organization. When false (default): Uses shared/app-specific security group based on enableCrossEnvNetworking. When true: Uses org-specific security group to enable container-to-container communication with ALL applications in the same organization via service discovery (microservices architecture). This setting takes priority over enableCrossEnvNetworking.", alias="enableCrossAppNetworking")
|
|
40
|
+
__properties: ClassVar[List[str]] = ["containers", "architecture", "taskCpu", "taskMemory", "minCapacity", "maxCapacity", "spotConfiguration", "enableCrossEnvNetworking", "enableCrossAppNetworking"]
|
|
41
|
+
|
|
42
|
+
model_config = ConfigDict(
|
|
43
|
+
populate_by_name=True,
|
|
44
|
+
validate_assignment=True,
|
|
45
|
+
protected_namespaces=(),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def to_str(self) -> str:
|
|
50
|
+
"""Returns the string representation of the model using alias"""
|
|
51
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
52
|
+
|
|
53
|
+
def to_json(self) -> str:
|
|
54
|
+
"""Returns the JSON representation of the model using alias"""
|
|
55
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
56
|
+
return json.dumps(self.to_dict())
|
|
57
|
+
|
|
58
|
+
@classmethod
|
|
59
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
60
|
+
"""Create an instance of Compose from a JSON string"""
|
|
61
|
+
return cls.from_dict(json.loads(json_str))
|
|
62
|
+
|
|
63
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
64
|
+
"""Return the dictionary representation of the model using alias.
|
|
65
|
+
|
|
66
|
+
This has the following differences from calling pydantic's
|
|
67
|
+
`self.model_dump(by_alias=True)`:
|
|
68
|
+
|
|
69
|
+
* `None` is only added to the output dict for nullable fields that
|
|
70
|
+
were set at model initialization. Other fields with value `None`
|
|
71
|
+
are ignored.
|
|
72
|
+
"""
|
|
73
|
+
excluded_fields: Set[str] = set([
|
|
74
|
+
])
|
|
75
|
+
|
|
76
|
+
_dict = self.model_dump(
|
|
77
|
+
by_alias=True,
|
|
78
|
+
exclude=excluded_fields,
|
|
79
|
+
exclude_none=True,
|
|
80
|
+
)
|
|
81
|
+
# override the default output from pydantic by calling `to_dict()` of each item in containers (list)
|
|
82
|
+
_items = []
|
|
83
|
+
if self.containers:
|
|
84
|
+
for _item_containers in self.containers:
|
|
85
|
+
if _item_containers:
|
|
86
|
+
_items.append(_item_containers.to_dict())
|
|
87
|
+
_dict['containers'] = _items
|
|
88
|
+
# override the default output from pydantic by calling `to_dict()` of spot_configuration
|
|
89
|
+
if self.spot_configuration:
|
|
90
|
+
_dict['spotConfiguration'] = self.spot_configuration.to_dict()
|
|
91
|
+
# set to None if enable_cross_env_networking (nullable) is None
|
|
92
|
+
# and model_fields_set contains the field
|
|
93
|
+
if self.enable_cross_env_networking is None and "enable_cross_env_networking" in self.model_fields_set:
|
|
94
|
+
_dict['enableCrossEnvNetworking'] = None
|
|
95
|
+
|
|
96
|
+
# set to None if enable_cross_app_networking (nullable) is None
|
|
97
|
+
# and model_fields_set contains the field
|
|
98
|
+
if self.enable_cross_app_networking is None and "enable_cross_app_networking" in self.model_fields_set:
|
|
99
|
+
_dict['enableCrossAppNetworking'] = None
|
|
100
|
+
|
|
101
|
+
return _dict
|
|
102
|
+
|
|
103
|
+
@classmethod
|
|
104
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
105
|
+
"""Create an instance of Compose from a dict"""
|
|
106
|
+
if obj is None:
|
|
107
|
+
return None
|
|
108
|
+
|
|
109
|
+
if not isinstance(obj, dict):
|
|
110
|
+
return cls.model_validate(obj)
|
|
111
|
+
|
|
112
|
+
_obj = cls.model_validate({
|
|
113
|
+
"containers": [Container.from_dict(_item) for _item in obj["containers"]] if obj.get("containers") is not None else None,
|
|
114
|
+
"architecture": obj.get("architecture"),
|
|
115
|
+
"taskCpu": obj.get("taskCpu"),
|
|
116
|
+
"taskMemory": obj.get("taskMemory"),
|
|
117
|
+
"minCapacity": obj.get("minCapacity"),
|
|
118
|
+
"maxCapacity": obj.get("maxCapacity"),
|
|
119
|
+
"spotConfiguration": SpotConfiguration.from_dict(obj["spotConfiguration"]) if obj.get("spotConfiguration") is not None else None,
|
|
120
|
+
"enableCrossEnvNetworking": obj.get("enableCrossEnvNetworking") if obj.get("enableCrossEnvNetworking") is not None else False,
|
|
121
|
+
"enableCrossAppNetworking": obj.get("enableCrossAppNetworking") if obj.get("enableCrossAppNetworking") is not None else False
|
|
122
|
+
})
|
|
123
|
+
return _obj
|
|
124
|
+
|
|
125
|
+
|