diff --git a/2026R1.1-beta-1/AVX_Assets_Manager_API_V1_ArchV2/changelog-asset-manager.md b/2026R1.1-beta-1/AVX_Assets_Manager_API_V1_ArchV2/changelog-asset-manager.md new file mode 100644 index 0000000000..0180a233b9 --- /dev/null +++ b/2026R1.1-beta-1/AVX_Assets_Manager_API_V1_ArchV2/changelog-asset-manager.md @@ -0,0 +1,5 @@ +## Version 0.1.0: Initial release + +v0.1.0 of the AVxcelerate Asset Manager REST API has been officially released as part of the 2025 R2.2 release. + +The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2. diff --git a/2026R1.1-beta-1/AVX_Assets_Manager_API_V1_ArchV2/scenario-manager.aws-preprod-api-asset-manager-v1.json b/2026R1.1-beta-1/AVX_Assets_Manager_API_V1_ArchV2/scenario-manager.aws-preprod-api-asset-manager-v1.json new file mode 100644 index 0000000000..238ef94e4a --- /dev/null +++ b/2026R1.1-beta-1/AVX_Assets_Manager_API_V1_ArchV2/scenario-manager.aws-preprod-api-asset-manager-v1.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"AVxcelerate Assets Manager","summary":"Service to manage assets for the simulations","version":"0.1.0"},"servers":[{"url":"/api/assets-manager/v1"}],"paths":{"/health":{"get":{"tags":["health"],"summary":"Health","description":"Returns healthy message.","operationId":"health-health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health-Health"}}}}},"security":[{"HTTPBearer":[]}]}},"/asset-types":{"post":{"tags":["asset-types"],"summary":"Create Asset Type","description":"Creates a new asset type.\n\n:param asset_type: The asset type to create","operationId":"asset-types-create_asset_type","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetType"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Asset-Types-Create Asset Type"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"get":{"tags":["asset-types"],"summary":"Get Asset Types","description":"Gets all asset types using filter.\n\n:param filter_exp: OData filter to filter asset types\n:param skip: items to skip\n:param top: number of items to retrieve","operationId":"asset-types-get_asset_types","parameters":[{"name":"$filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Filter"}},{"name":"$skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"$Skip"}},{"name":"$top","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"$Top"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetType"},"title":"Response Asset-Types-Get Asset Types"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/asset-types/{asset_type}":{"get":{"tags":["asset-types"],"summary":"Get Asset Type","description":"Gets an asset type by its name.\n\n:param asset_type: asset type name","operationId":"asset-types-get_asset_type","parameters":[{"name":"asset_type","in":"path","required":true,"schema":{"type":"string","title":"Asset Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetType"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["asset-types"],"summary":"Delete Asset Type","description":"Deletes an asset type by its name.\n\n:param asset_type: asset type name","operationId":"asset-types-delete_asset_type","parameters":[{"name":"asset_type","in":"path","required":true,"schema":{"type":"string","title":"Asset Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"null","title":"Response Asset-Types-Delete Asset Type"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/file-formats":{"post":{"tags":["file-formats"],"summary":"Create File Format","description":"Creates a new file format.\n\n:param file_format: The file format to create","operationId":"file-formats-create_file_format","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileFormat"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response File-Formats-Create File Format"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"get":{"tags":["file-formats"],"summary":"Get File Formats","description":"Gets all file formats using filter.\n\n:param filter_exp: OData filter to filter file formats\n:param skip: items to skip\n:param top: number of items to retrieve","operationId":"file-formats-get_file_formats","parameters":[{"name":"$filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Filter"}},{"name":"$skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"$Skip"}},{"name":"$top","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"$Top"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileFormat"},"title":"Response File-Formats-Get File Formats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/file-formats/{file_format}":{"get":{"tags":["file-formats"],"summary":"Get File Format","description":"Gets an asset type by its name.\n\n:param file_format: file format name","operationId":"file-formats-get_file_format","parameters":[{"name":"file_format","in":"path","required":true,"schema":{"type":"string","title":"File Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileFormat"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["file-formats"],"summary":"Delete File Format","description":"Deletes an asset type by its name.\n\n:param file_format: asset type name","operationId":"file-formats-delete_file_format","parameters":[{"name":"file_format","in":"path","required":true,"schema":{"type":"string","title":"File Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"null","title":"Response File-Formats-Delete File Format"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/assets":{"post":{"tags":["assets"],"summary":"Create Asset","description":"Creates a new asset.\n\n:param asset: The asset to create. Asset name can be max. 255 characters long\n and must only contain letters (A-z), digits (0-9), '.', '_', or '-'.","operationId":"assets-create_asset","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Assets-Create Asset"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assets"],"summary":"Get Assets","description":"Gets all assets using filter.\n\n:param filter_exp: OData filter to filter assets\n:param order_by: Comma separated list to order by\n:param skip: items to skip\n:param top: number of items to retrieve\n:param count: if true, the function will returns the total number of items","operationId":"assets-get_assets","parameters":[{"name":"$filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Filter"}},{"name":"$orderby","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Orderby"}},{"name":"$skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"$Skip"}},{"name":"$top","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"$Top"}},{"name":"$count","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"$Count"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedAssets"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/assets/{asset_name}":{"get":{"tags":["assets"],"summary":"Get Asset","description":"Gets an asset by its name.\n\n:param asset_name: asset name","operationId":"assets-get_asset","parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["assets"],"summary":"Delete Asset","description":"Deletes an asset by its name.\n\n:param asset_name: asset name","operationId":"assets-delete_asset","parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"null","title":"Response Assets-Delete Asset"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/assets/{asset_name}/children/{asset_child}":{"post":{"tags":["assets"],"summary":"Add Child","description":"Adds a child to an asset.","operationId":"assets-add_child","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}},{"name":"asset_child","in":"path","required":true,"schema":{"type":"string","title":"Asset Child"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetLinkRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/assets/{asset_name}/version/{asset_version}/stream":{"get":{"tags":["assets"],"summary":"Stream Asset Version","description":"Stream the content of the specified asset.\n\n:param asset_name: Name of the file to stream.\n:param asset_version: Version of the file to stream.\n:param range_header: HTTP range headers specifying which part of the file should be streamed.\n\n:return: StreamingResponse: The response containing the trace file.","operationId":"assets-stream_asset_version","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}},{"name":"asset_version","in":"path","required":true,"schema":{"type":"integer","title":"Asset Version"}},{"name":"range","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Range"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/assets/{asset_name}/versions":{"post":{"tags":["assets"],"summary":"Add Version","description":"Add a new version to an asset.","operationId":"assets-add_version","security":[{"HTTPBearer":[]}],"parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_assets-add_version"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["assets"],"summary":"Get Asset Versions","description":"Gets all assets using filter.\n\n:param filter_exp: OData filter to filter assets\n:param order_by: Comma separated list to order by\n:param skip: items to skip\n:param top: number of items to retrieve\n:param count: if true, the function will returns the total number of items","operationId":"assets-get_asset_versions","parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}},{"name":"$filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Filter"}},{"name":"$orderby","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Orderby"}},{"name":"$skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"$Skip"}},{"name":"$top","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"$Top"}},{"name":"$count","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"$Count"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedAssetVersions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/assets/{asset_name}/children":{"get":{"tags":["assets"],"summary":"Read Child","description":"Get children to an asset.","operationId":"assets-read_child","parameters":[{"name":"asset_name","in":"path","required":true,"schema":{"type":"string","title":"Asset Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AssetLinkRead"},"title":"Response Assets-Read Child"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/asset-versions/by-url":{"get":{"tags":["asset-versions"],"summary":"Get Version By Url","description":"Gets all assets using filter.\n\n:param internal_reference: OData filter to filter assets","operationId":"asset-versions-get_version_by_url","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"Asset":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"asset_type":{"type":"string","title":"Asset Type"},"file_format":{"type":"string","title":"File Format"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"user":{"type":"string","title":"User"},"latest_version":{"type":"integer","title":"Latest Version","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["name","description","asset_type","file_format","user"],"title":"Asset","description":"Database class for asset definition."},"AssetCreate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"asset_type":{"type":"string","title":"Asset Type"},"file_format":{"type":"string","title":"File Format"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}}},"type":"object","required":["name","description","asset_type","file_format"],"title":"AssetCreate","description":"Create class for asset definition."},"AssetLinkRead":{"properties":{"parent":{"type":"string","title":"Parent"},"asset":{"type":"string","title":"Asset"},"user":{"type":"string","title":"User"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["parent","asset","user","created_at"],"title":"AssetLinkRead","description":"Read class for asset link definition."},"AssetType":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"allowed_parents":{"items":{"type":"string"},"type":"array","title":"Allowed Parents","default":[]}},"type":"object","required":["name","description"],"title":"AssetType","description":"Base class for asset type definition."},"AssetVersionRead":{"properties":{"asset":{"type":"string","title":"Asset"},"asset_url":{"type":"string","title":"Asset Url"},"version":{"type":"integer","title":"Version"},"user":{"type":"string","title":"User"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"created_at":{"type":"string","format":"date-time","title":"Created At"},"checksum":{"type":"string","title":"Checksum"}},"type":"object","required":["asset","asset_url","version","user","created_at","checksum"],"title":"AssetVersionRead","description":"Read class for asset version definition."},"Body_assets-add_version":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_assets-add_version"},"FileFormat":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"extension":{"type":"string","title":"Extension"},"asset_type":{"type":"string","title":"Asset Type"}},"type":"object","required":["name","description","extension","asset_type"],"title":"FileFormat","description":"Base class for asset format definition."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JsonValue":{},"PaginatedAssetVersions":{"properties":{"values":{"items":{"$ref":"#/components/schemas/AssetVersionRead"},"type":"array","title":"Values","default":[]},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"}},"type":"object","title":"PaginatedAssetVersions","description":"Paginated asset versions results."},"PaginatedAssets":{"properties":{"values":{"items":{"$ref":"#/components/schemas/Asset"},"type":"array","title":"Values","default":[]},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"}},"type":"object","title":"PaginatedAssets","description":"Paginated results."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}} \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/app-id-1.png b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/app-id-1.png new file mode 100644 index 0000000000..67937a130c Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/app-id-1.png differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/app-id-2.png b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/app-id-2.png new file mode 100644 index 0000000000..91c7f09278 Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/app-id-2.png differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/changelog.md b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/changelog.md new file mode 100644 index 0000000000..7353f03372 --- /dev/null +++ b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/changelog.md @@ -0,0 +1,15 @@ +## Version 0.1.0: Initial release + +v0.1.0 of the AVxcelerate Resource Manager REST API has been officially released as part of the 2025 R2 release. + +The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2. + +## Version 0.1.0: September 2025R2.2 release (V1) + +New Features: + +* The "maximum_allowed_worker_instances" parameter has been added and it allows you to configure the maximum number of parallel running workers per queue. + +## Version 0.1.0: November 2026R1.1 Beta-1 release + +The process to create and configure a queue has been added. This feature can be used to allocate a specific node group to a specific queue and select this queue in the Avx simulation job template configuration in the Explore & Analyze Web app. \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/create-queue-1.png b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/create-queue-1.png new file mode 100644 index 0000000000..c32045e24e Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/create-queue-1.png differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/create-queue-2.png b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/create-queue-2.png new file mode 100644 index 0000000000..ce38b024a0 Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/create-queue-2.png differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/explore.aws-pre-prod-api-resources-v1.json b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/explore.aws-pre-prod-api-resources-v1.json new file mode 100644 index 0000000000..9b7879765c --- /dev/null +++ b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/explore.aws-pre-prod-api-resources-v1.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"AVxcelerate Resource Manager","summary":"Service to manage resources to run the jobs.","description":"\nResource Manager API enables CRUD operations on resources such as queues, deployments, applications,\nand app-runtime-configs.\n\n### Features\n\n**Queues**\n- Create queues with custom storage, resource limits, and environment variables.\n- Specify resource limits in two ways:\n - `maximum_allowed_worker_instances`: Maximum concurrent worker instances in the queue (`-1` means unlimited).\n - `maximum_allowed_resources`: Maximum CPU and memory resources for the queue (currently only CPU is supported).\n - If a job specifies `resources_requested`, it is used.\n - Otherwise, the application's `default_resources` (from AppRuntimeConfig) are used.\n - If neither is specified, the queue's `maximum_resources` are used.\n- Manage queues to configure applications within resource limits and group applications with similar storage needs.\n\n**Plugins**\n- Register plugins defining container runtimes (e.g., Docker Engine, Kubernetes).\n\n**Jobs**\n- Submit jobs by providing application details (name, version, image, environment variables, etc.).\n- Track job status and clean up resources after completion.\n","contact":{"name":"Ansys AVxcelerate Autonomy","url":"https://developer.ansys.com/docs/avxcelerate","email":"TeamTyson@ansys.com"},"version":"0.1.0"},"servers":[{"url":"/api/resources/v1"}],"paths":{"/health":{"get":{"tags":["health"],"summary":"Health","description":"Returns healthy message.","operationId":"health-health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health-Health"}}}}},"security":[{"HTTPBearer":[]}]}},"/queues":{"post":{"tags":["queues"],"summary":"Create Queue","description":"Create a new queue.\n\n:param queue: The queue to create","operationId":"queues-create_queue","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Queues-Create Queue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["queues"],"summary":"Update Queue","description":"Update a queue using its name.\n\n:param queue: The queue to update","operationId":"queues-update_queue","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Queues-Update Queue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["queues"],"summary":"Get Queues","description":"Get all queues using filter.\n\n:param filter_exp: OData filter to filter queues\n:param offset: items to skip\n:param limit: number of items to retrieve","operationId":"queues-get_queues","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filter_exp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter expression","description":"The expression must be compatible with OData"},"description":"The expression must be compatible with OData"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","title":"The pagination offset","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"title":"The pagination limit","default":100}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/QueueRead"},"title":"Response Queues-Get Queues"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/queues/{queue_id}":{"get":{"tags":["queues"],"summary":"Get Queue","description":"Get a queue by its id.\n\n:param queue_id: id of the queue to retrieve","operationId":"queues-get_queue","security":[{"HTTPBearer":[]}],"parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/jobs":{"post":{"tags":["jobs"],"summary":"Create Job","description":"Create a new job.\n\n:param job: The job to create","operationId":"jobs-create_job","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Jobs-Create Job"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"get":{"tags":["jobs"],"summary":"Get Jobs","description":"Get all jobs using filter.\n\n:param filter: OData filter to filter jobs\n:param offset: items to skip\n:param limit: number of items to retrieve","operationId":"jobs-get_jobs","parameters":[{"name":"filter_exp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Exp"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobRead"},"title":"Response Jobs-Get Jobs"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Get Job","description":"Get a job by its id.\n\n:param job_id: id of the job to retrieve","operationId":"jobs-get_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/jobs/{job_id}/status":{"get":{"tags":["jobs"],"summary":"Get Job Status","description":"Get job status by its id.\n\n:param job_id: id of the job to retrieve","operationId":"jobs-get_job_status","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobStatusEnum"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/jobs/{job_id}/job-stats":{"get":{"tags":["jobs"],"summary":"Get Job Stats","description":"Get job containers statistics by its id.\n\nFormat of the response:\n\n.. code-block:: json\n\n{\n \"containers\": {\n \"\": {\n \"name\": \"\",\n \"exit_codes\": {\n \"\" : ,\n \"\" : ,\n ...\n }\n },\n ...\n }\n}\n\n\n:param job_id: id of the job to retrieve","operationId":"jobs-get_job_stats","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobContainerStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/jobs/{job_id}/clean":{"post":{"tags":["jobs"],"summary":"Clean Job","description":"Clean job resources.\n\n:param job_id: id of the job to clean","operationId":"jobs-clean_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/plugins":{"get":{"tags":["plugins"],"summary":"Get Plugins","description":"Get all plugins.","operationId":"plugins-get_plugins","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PluginConfiguration"},"type":"array","title":"Response Plugins-Get Plugins"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["plugins"],"summary":"Register Plugin","description":"Register a new plugin.\n\n:param plugin: The plugin configuration","operationId":"plugins-register_plugin","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginConfiguration"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginConfiguration"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/applications":{"get":{"tags":["applications"],"summary":"Get Applications","description":"Get applications.","operationId":"applications-get_applications","parameters":[{"name":"filter_exp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter expression","description":"The expression must be compatible with OData"},"description":"The expression must be compatible with OData"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","title":"The pagination offset","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"title":"The pagination limit","default":100}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRead"},"title":"Response Applications-Get Applications"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["applications"],"summary":"Create Application","description":"Creates a new application.\n\n:param application: The application to create","operationId":"applications-create_application","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Applications-Create Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["applications"],"summary":"Update Application","description":"Updates an application.\n\n:param application: The application to update","operationId":"applications-update_application","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Applications-Update Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/applications/{app_id}":{"get":{"tags":["applications"],"summary":"Get Application","description":"Gets application by its id.\n\n:param app_id: id of the application","operationId":"applications-get_application","security":[{"HTTPBearer":[]}],"parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"integer","title":"App Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/app-runtime-config/application/{app_id}":{"get":{"tags":["app-runtime-config"],"summary":"Get App Runtime Configs For Application","description":"Get all queues registered for given application id.\n\nIt retrieves the queues for the provided application from AppRuntimeConfig Model.\n\n:param app_id: Optional field if provided returns the registered queues for given application\n:param filter_exp: OData filter to filter queues\n:param offset: items to skip\n:param limit: number of items to retrieve","operationId":"app-runtime-config-get_app_runtime_configs_for_application","parameters":[{"name":"app_id","in":"path","required":true,"schema":{"type":"integer","title":"App Id"}},{"name":"filter_exp","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter expression","description":"The expression must be compatible with OData"},"description":"The expression must be compatible with OData"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","title":"The pagination offset","default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"title":"The pagination limit","default":100}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AppRuntimeConfigRead"},"title":"Response App-Runtime-Config-Get App Runtime Configs For Application"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/app-runtime-config":{"get":{"tags":["app-runtime-config"],"summary":"Get App Runtime Config","description":"Get application queue for given queue id and application id.\n\n:param queue_id: queue id\n:param app_id: application id","operationId":"app-runtime-config-get_app_runtime_config","parameters":[{"name":"queue_id","in":"query","required":true,"schema":{"type":"integer","title":"Queue Id"}},{"name":"app_id","in":"query","required":true,"schema":{"type":"integer","title":"App Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRuntimeConfigRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/app-runtime-config/{queue_id}/application/{app_id}":{"post":{"tags":["app-runtime-config"],"summary":"Register Application To Queue","description":"Registers an application to the provided queue.\n\n:param queue_id: The queue where the application will be registered\n:param app_id: The application to register","operationId":"app-runtime-config-register_application_to_queue","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}},{"name":"app_id","in":"path","required":true,"schema":{"type":"integer","title":"App Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRuntimeConfigCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response App-Runtime-Config-Register Application To Queue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["app-runtime-config"],"summary":"Update Application To Queue","description":"Update an application to the provided queue.\n\n:param queue_id: The queue where the application will be registered\n:param app_id: The application to update","operationId":"app-runtime-config-update_application_to_queue","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}},{"name":"app_id","in":"path","required":true,"schema":{"type":"integer","title":"App Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRuntimeConfigCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response App-Runtime-Config-Update Application To Queue"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"AppRuntimeConfigAttributes":{"properties":{"image":{"type":"string","title":"Image"},"working_dir":{"type":"string","title":"Working Dir"},"mount":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Mount"},"network":{"type":"string","title":"Network"},"ports":{"items":{"type":"integer"},"type":"array","title":"Ports"}},"type":"object","title":"AppRuntimeConfigAttributes","description":"Attribute definition for AppRuntimeConfig data model."},"AppRuntimeConfigCreate":{"properties":{"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"default_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"attributes":{"anyOf":[{"$ref":"#/components/schemas/AppRuntimeConfigAttributes"},{"type":"null"}]},"service_port":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Port"}},"type":"object","title":"AppRuntimeConfigCreate","description":"AppRuntimeConfig definition for creation."},"AppRuntimeConfigRead":{"properties":{"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"default_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"attributes":{"anyOf":[{"$ref":"#/components/schemas/AppRuntimeConfigAttributes"},{"type":"null"}]},"service_port":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Service Port"},"app_id":{"type":"integer","title":"App Id"},"queue_id":{"type":"integer","title":"Queue Id"},"application":{"$ref":"#/components/schemas/ApplicationRead"},"queue":{"$ref":"#/components/schemas/QueueRead"}},"type":"object","required":["app_id","queue_id","application","queue"],"title":"AppRuntimeConfigRead","description":"Public application queue definition."},"ApplicationAttributes":{"properties":{"kpis":{"items":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},"type":"array","title":"Kpis"},"asset_declarations":{"additionalProperties":{"$ref":"#/components/schemas/AssetDeclaration"},"type":"object","title":"Asset Declarations"},"features":{"additionalProperties":{"$ref":"#/components/schemas/FeatureDefinition"},"type":"object","title":"Features"},"solver_settings":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Solver Settings"},"command":{"items":{"type":"string"},"type":"array","title":"Command"}},"type":"object","title":"ApplicationAttributes","description":"Attribute definition for Application data model."},"ApplicationCreate":{"properties":{"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"parent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent"},"application_type":{"type":"string","title":"Application Type"},"attributes":{"anyOf":[{"$ref":"#/components/schemas/ApplicationAttributes"},{"type":"null"}]}},"type":"object","required":["name","version"],"title":"ApplicationCreate","description":"Application definition for creation."},"ApplicationRead":{"properties":{"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"parent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent"},"application_type":{"type":"string","title":"Application Type"},"attributes":{"anyOf":[{"$ref":"#/components/schemas/ApplicationAttributes"},{"type":"null"}]},"id":{"type":"integer","title":"Id"}},"type":"object","required":["name","version","id"],"title":"ApplicationRead","description":"Public application definition."},"AssetDeclaration":{"properties":{"label":{"type":"string","title":"Label"},"asset_type":{"type":"string","title":"Asset Type"},"file_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Format"},"description":{"type":"string","title":"Description"},"is_optional":{"type":"boolean","title":"Is Optional"},"is_list":{"type":"boolean","title":"Is List"},"is_parametrizable":{"type":"boolean","title":"Is Parametrizable"}},"type":"object","required":["label","asset_type","file_format","description","is_optional","is_list","is_parametrizable"],"title":"AssetDeclaration","description":"Asset declaration for simulation loop configuration."},"ContainerStat":{"properties":{"name":{"type":"string","title":"Name"},"exit_codes":{"additionalProperties":{"type":"integer"},"type":"object","title":"Exit Codes"}},"type":"object","required":["name","exit_codes"],"title":"ContainerStat","description":"Statistics stored per container."},"FeatureDefinition":{"properties":{"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"is_optional":{"type":"boolean","title":"Is Optional"}},"type":"object","required":["label","description","is_optional"],"title":"FeatureDefinition","description":"Asset declaration for simulation loop configuration."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JobContainerStats":{"properties":{"containers":{"additionalProperties":{"$ref":"#/components/schemas/ContainerStat"},"type":"object","title":"Containers"}},"type":"object","required":["containers"],"title":"JobContainerStats","description":"Statistics stored per container."},"JobCreate":{"properties":{"name":{"type":"string","title":"Name"},"queue_id":{"type":"integer","title":"Queue Id"},"parent_job_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Job Id"},"application_id":{"type":"integer","title":"Application Id"},"arguments":{"items":{"type":"string"},"type":"array","title":"Arguments","default":[]},"replica_count":{"type":"integer","title":"Replica Count","default":1},"auto_clean":{"type":"boolean","title":"Auto Clean","default":false},"resources_requested":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","default":{}},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}}},"type":"object","required":["name","queue_id","application_id"],"title":"JobCreate","description":"Job definition on creation."},"JobRead":{"properties":{"name":{"type":"string","title":"Name"},"queue_id":{"type":"integer","title":"Queue Id"},"parent_job_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Job Id"},"application_id":{"type":"integer","title":"Application Id"},"arguments":{"items":{"type":"string"},"type":"array","title":"Arguments","default":[]},"replica_count":{"type":"integer","title":"Replica Count","default":1},"auto_clean":{"type":"boolean","title":"Auto Clean","default":false},"resources_requested":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"labels":{"additionalProperties":{"type":"string"},"type":"object","title":"Labels","default":{}},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"id":{"type":"integer","title":"Id"},"internal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Internal Id"},"status":{"$ref":"#/components/schemas/JobStatusEnum"},"cleaned":{"type":"boolean","title":"Cleaned"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"status_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Status Updated At"},"failed_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failed Reason"}},"type":"object","required":["name","queue_id","application_id","id","internal_id","status","cleaned","created_at","status_updated_at","failed_reason"],"title":"JobRead","description":"Public job definition."},"JobStatusEnum":{"type":"string","enum":["pending","running","failed","succeeded"],"title":"JobStatusEnum","description":"Enum of job status."},"JsonValue":{},"PluginConfiguration":{"properties":{"name":{"type":"string","title":"Name"},"module_name":{"type":"string","title":"Module Name"},"class_name":{"type":"string","title":"Class Name"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}}},"type":"object","required":["name","module_name","class_name"],"title":"PluginConfiguration","description":"Plugin configuration."},"QueueCreate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"plugin":{"type":"string","title":"Plugin"},"working_dir":{"type":"string","title":"Working Dir","default":"/jobs"},"default_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"maximum_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"maximum_allowed_worker_instances":{"type":"integer","title":"Maximum Allowed Worker Instances","default":-1},"maximum_allowed_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"storages":{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array","title":"Storages","default":[]},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}}},"type":"object","required":["name","description","plugin"],"title":"QueueCreate","description":"Queue definition for creation."},"QueueRead":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"plugin":{"type":"string","title":"Plugin"},"working_dir":{"type":"string","title":"Working Dir","default":"/jobs"},"default_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"maximum_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"maximum_allowed_worker_instances":{"type":"integer","title":"Maximum Allowed Worker Instances","default":-1},"maximum_allowed_resources":{"anyOf":[{"$ref":"#/components/schemas/ResourcesDefinition"},{"type":"null"}]},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"storages":{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array","title":"Storages","default":[]},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env","default":{}},"id":{"type":"integer","title":"Id"}},"type":"object","required":["name","description","plugin","id"],"title":"QueueRead","description":"Public queue definition."},"ResourcesDefinition":{"properties":{"cpu":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpu"},"memory_gb":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Memory Gb"}},"type":"object","title":"ResourcesDefinition","description":"Resource definition."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}} \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/intro_archv2_resources_api.md b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/intro_archv2_resources_api.md new file mode 100644 index 0000000000..38b7ed6284 --- /dev/null +++ b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/intro_archv2_resources_api.md @@ -0,0 +1,342 @@ +## Introduction + +The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2. + +This REST API allows to perform CRUD (Create, Read, Update, and Delete) operations on resources such as queues, deployments, applications and app-runtime-configurations. + +## Features + +### Queues + +* You can create queues with the required storages, resource limits and environment variables +* Allowing to manage queues helps will help you configure different applications within resource limits and group the applications requiring same storage together. +* You can adjust the maximum number of workers that can concurrently run on a queue using the parameter 'maximum_allowed_worker_instances' + +### Plugins + + You can register a plugin with definition of container runtime. +For example: Docker Engine / Kubernetes + +### Jobs + +* You can submit a resource-manager job by providing application details (name, version, image, environment variables, etc.) and track it to its completion. +* You can also check the status of the job and clean the resources the job has acquired. + +## Python helper + +The AVxcelerate python APIs are hosted as a python package on a cluster as part of the Explore service deployment. The developers can install the package using pip and use it to call AVx autonomy APIs without needing to make raw REST calls. + +### PyPi Regsitry URL: + +The python package is hosted as PyPi compliant registry on each deployed cluster. The registry URL is like this: + +```bash +https://explore.{{ domain }}/api/explore/pypi +``` + +## Usage example + +Pre-requisites: + +We assume that the system is running with the **Ubuntu 22.04** version, and that the following tools are already installed: + +- python 3.10 +- pip 25.1 +- uv 0.6 + +And we assume that you are using AVx Autonomy Toolchain version **25R2.2** + +Step 1: Create virtual environment + +```bash +$ python -m venv .venv + + +Step 2: Activate the virtual environment + +```bash +$ source .venv/bin/activate +``` + +Step 3: Install python packages: + +- ansys-api-avxcelerate-autonomy +- ansys-avxcelerate-autonomy + +```bash +$ pip install ansys-api-avxcelerate-autonomy ansys-avxcelerate-autonomy --extra-index-url https://explore.{{ domain }}/api/explore/pypi +``` + +Step 4: Use ansys-api-avxcelerate-autonomy and ansys-avxcelerate-autonomy in your python code + + +```python +import asyncio +from ansys.api.avxcelerate.autonomy.explore_service.v1.api.jobs_api import JobsApi +from ansys.api.avxcelerate.autonomy.explore_service.v1.api_client import ApiClient +from ansys.api.avxcelerate.autonomy.explore_service.v1.configuration import Configuration +from ansys.api.avxcelerate.autonomy.explore_service.v1.exceptions import NotFoundException +from ansys.api.avxcelerate.autonomy.explore_service.v1.models.explore_job_read import ExploreJobRead +from ansys.avxcelerate.autonomy.utils.auth_client_session import AuthClientSession +from ansys.avxcelerate.autonomy.utils.token_provider import TokenProvider + +async def main(): + base_url = "https://explore.{{ domain }}" + configuration = Configuration(host=f"{base_url}/api/explore/v1") + async with ApiClient(configuration) as api_client: + session = AuthClientSession(base_url=f"{base_url}/api/explore/v1/") + provider = TokenProvider(f"{base_url}/auth") + session.set_provider(provider) + provider.login() + api_client.rest_client.pool_manager = session + jobs_api = JobsApi(api_client) + job_id = "exp-dec894b2-647c-4ca5-b516-cdfc18c58fdd" + try: + job: ExploreJobRead = await jobs_api.get_job(job_id) + print(job) + except NotFoundException: + print("No job found against this id") + except Exception as ex: + print(str(ex)) + print("Couldn't get job against this job id") + +asyncio.run(main()) +``` + +## Optimize available resource through worker management + +### 1. Introduction: worker management in simulation jobs + +If you submit a large number of simulation jobs, this will trigger the creation of workers that are queued and launched simultaneously. + +This creation of many worker instances (referred to as containers in Kubernetes) can overload the cluster. As a result, the cluster’s resources may become depleted, which could lead to failures or even a complete system crash. + + +### 2. Cluster Resource Usage Optimization + +To prevent this issue, you can set a limit on the maximum number of worker instances that can be created during a simulation job. + +This limit is controlled by the *maximum_allowed_worker_instances* parameter, which can be set when creating or updating a queue via the Resource Manager REST API. + +Once this limit is configured, the system will only launch up to the specified number of workers at the same time; any additional jobs will remain in a waiting state until sufficient worker capacity becomes available. + +### Example + +* If The *maximum_allowed_worker_instances* parameter is set to 10 for the queue named *Default*. +* Two jobs are created: + + a. Job (1) with 10 worker instances + + b. Job (2) with 8 worker instances + +If Job (1) is created first, it will allocate 10 worker instances, using up all available capacity. As a result, Job (2) will be paused at the *Simulation Step*, and a warning will appear under the *Simulation Step* indicating that no worker instances can be created. + +Once Job (1) has finished, then capacity becomes available. Job (2) can then allocate 8 worker instances, the warning disappears, and the simulation proceeds. + +Note: The AVxcelerate toolchain does not support partial allocation of worker instances. If a job requests 10 workers, it will only begin when all 10 worker instances are available. + +### Additional Containers + +While worker instances are the primary consumers of cluster resources, there are two additional containers that are created when a job is submitted: + + 1. Simulation Controller Instance (created on the *simulation-controller-queue*): Manages the job and its associated workers. + + 2. Post Controller Instance (created on the *post-controller-queue*): Launched when the visualization tab is opened in the UI and is responsible for data analysis. + +When estimating the resources needed for a job, consider that each job will run one simulation controller instance, the specified number of worker instances, and potentially one post controller instance. + +Note: By default, there is no limit on the number of simulation controller and post controller instances that can be created. This means that *n* concurrent jobs will result in *n* controller instances, which can consume significant resources. To manage this, you can set the *maximum_allowed_worker_instances* parameter for these queues to control the number of controller instances created. + +## Configuring maximum number of parallel running workers per queue + +Through the Resource REST API, and the *maximum_allowed_worker_instances* parameter you are able to configure the maximum number of parallel running workers per job. + + + +Set a limit to the following parameter: +```bash + "maximum_allowed_worker_instances" + ``` + +See below screenshot as an example: + +![Alt text](./screen-1.png) + +Note: The resource manager allocates the job that has the requested amount of workers or less. + +In the example below, only 3 workers are available, so the job that requires 4 workers, appears as 'pending' + +![Alt text](./screen-2.png) + +## Download concrete scenario files + +It is possible to download the concrete scenario files of simulation jobs through the REST API. + +To do this, you need to provides a list of *sample_ids* to generate concrete scenario files for those samples. + +* If 'samples' is empty or not provided, no concrete file is included. +* If 'samples' is specified, than all the concrete files will be included for these samples in the zip. + + +You can also specify what kind of documents you want to download: + +* Scenario files +* Asset files + + If the parameter: *"filter_by_asset_declaration"* is empty or not provided, all the "common" asset data will be provided. + * + +## Getting a Token to Use the REST API + +To use the REST API, you need to enter a Token + +To generate the Token: + +1. Run the following command from your terminal, to generate a token: +```bash +$ curl \ 'GET' + -d "client_id=tsalsm-rest-api" \ + -d "client_secret=" \ + -d "username=avx-toolchain-us1. er" \ + -d "password=" \ + -d "scope=offline_access" \ + -d "grant_type=password" \ + "http://explore.apps.YOURCUSTOMURL.com/auth/realms/avx/protocol/openid-connect/token" + ``` + +The output should be the following: Copy and save the generated token so that you can use it to authenticate. + +```bash +{ + "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJrQWVwLWVZNVNRVlRIMHhqNUFBMXM3U19IeGpRSmxLckNLcE51STFLQkxNIn0.eyJleHAiOjE2ODc0NDA5NzIsImlhdCI6MTY4NzQ0MDY3MiwianRpIjoiYjhkOWFlMWYtMTZmMy00NDM1LTk0MzItYmJjN2NhZWE5NDQ3IiwiaXNzIjoiaHR0cHM6Ly9leHBsb3JlLnN0YWdlLmFwcHMuZnJpc2JlZWRldi5jb20vYXV0aC9yZWFsbXMvYXZ4IiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImI1NGVhODZkLTkzMjUtNDYwZi1iMDdhLTJlOTBlMmQwNmJiZiIsInR5cCI6IkJlYXJlciIsImF6cCI6InRzYWxzbS1yZXN0LWFwaSIsInNlc3Npb25fc3RhdGUiOiI5YTE2Y2U5NC0xMTY5LTQzY2MtYjYyNS01ZTAxNTc3ZTNkNDYiLCJhY3IiOiIxIiwicmVhbG1fYWNjZXNzIjp7InJvbGVzIjpbIm9mZmxpbmVfYWNjZXNzIiwidW1hX2F1dGhvcml6YXRpb24iLCJkZWZhdWx0LXJvbGVzLWF2eCJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoib2ZmbGluZV9hY2Nlc3MgZW1haWwgcHJvZmlsZSIsInNpZCI6IjlhMTZjZTk0LTExNjktNDNjYy1iNjI1LTVlMDE1NzdlM2Q0NiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhdngtdG9vbGNoYWluLXVzZXIiLCJnaXZlbl9uYW1lIjoiIiwiZmFtaWx5X25hbWUiOiIiLCJlbWFpbCI6InRzYWxzbUBhbnN5cy5jb20ifQ.mk5-FqoMvbPeUSRRc3kVicAVt2U-xSYRVmzFwVeDKbcYlJMD551EYf9dzS2F9DBxPOoBDUyAdWyAov8Hj-VcscuMCpuPm9ikq6zf9sXOWCOlT3SYQIm7vHhb16_K1rtbAwRHlRPvyu4IAplj3SBsybkhUFQlSpWyRupl7Y80QZiaSoGviWh8EQabbhdSjzb-JFkOr7CZuQL4G5irpGjQDNa7zX6HzvQYpPWXrhYDpXItP2ZzEDHKIQAK-DUKIQyj8EfemEKx6BUbHquiC_n4f_VCIeGsr9pOPRK_5U87nzrE-rpzVsrFg77cURyX8cXFxfXYgDuB5KmbzLvz5mCxsQ", + "expires_in": 300, + "refresh_expires_in": 0, + "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICIwMmFkMjc0MS03MDc4LTRiYTktYTkyNy03NjhlZjRlYmM1YjcifQ.eyJpYXQiOjE2ODc0NDA2NzIsImp0aSI6ImMyMzhmOGY5LWViNGQtNGM5Yy05NWNjLWJjZmQ0MDhkMWFhNiIsImlzcyI6Imh0dHBzOi8vZXhwbG9yZS5zdGFnZS5hcHBzLmZyaXNiZWVkZXYuY29tL2F1dGgvcmVhbG1zL2F2eCIsImF1ZCI6Imh0dHBzOi8vZXhwbG9yZS5zdGFnZS5hcHBzLmZyaXNiZWVkZXYuY29tL2F1dGgvcmVhbG1zL2F2eCIsInN1YiI6ImI1NGVhODZkLTkzMjUtNDYwZi1iMDdhLTJlOTBlMmQwNmJiZiIsInR5cCI6Ik9mZmxpbmUiLCJhenAiOiJ0c2Fsc20tcmVzdC1hcGkiLCJzZXNzaW9uX3N0YXRlIjoiOWExNmNlOTQtMTE2OS00M2NjLWI2MjUtNWUwMTU3N2UzZDQ2Iiwic2NvcGUiOiJvZmZsaW5lX2FjY2VzcyBlbWFpbCBwcm9maWxlIiwic2lkIjoiOWExNmNlOTQtMTE2OS00M2NjLWI2MjUtNWUwMTU3N2UzZDQ2In0.wTrdeIoEoum8mMaam-eZerfPAywnb2LGr1Wsxv6tBYg", + "token_type": "Bearer", + "not-before-policy": 0, + "session_state": "9a16ce94-1169-43cc-b625-5e01577e3d46", + "scope": "offline_access email profile" +} +``` + +**Note**: The mandatory attributes are refresh_token and access_token. + +2. Go the REST API documentation page. + +3. Click **Authorize** + +![Alt text](./swagger_authentication_01.jpg) + +4. Enter Bearer in the Value field, with a space at the end. Then, insert the access token. Click Authorize once again. + +![Alt text](./swagger_authentication_02.jpg) + +## Creating and Configuring Queues +The following steps explain how to add or update an existing queue through the Resource Manager REST API that will appear in the Explore web app to be selected during the simulation job configuration. + +To create a queue you need to make a POST request to: +```bash +https://explore.{{ environment }}.{{ domain }}/api/resources/v1/queues endpoint +``` + +1. Edit the Request body and click **Try it out**. + +2. Click **Execute**. A Queue ID will be generated. + +![Alt text](./create-queue-1.png) + + +You will find an JSON example below: +```bash +{ + "name": "test-node-selector-queue", + "description": "Test queue for node selector functionality", + "plugin": "kubernetes_apisix", + "working_dir": "/tmp", + "default_resources": { + "cpu": 2, + "memory_gb": 4 + }, + "maximum_resources": { + "cpu": 4, + "memory_gb": 8 + }, + "maximum_allowed_worker_instances": 5, + "maximum_allowed_resources": { + "cpu": 8, + "memory_gb": 16 + }, + "attributes": { + "namespace": "avx-autonomy", + "copy_files_to_job_folder": false, + "mount": { + "pvc-frisbee-data": "/pvc-frisbee-data" + }, + "node_selector": { + "node-group-reservation": "my-special-group" + }, + "tolerations": [ + { + "key": "node-group-reservation", + "operator": "Equal", + "value": "my-special-group", + "effect": "NoSchedule" + } + ] + }, + "storages": [], + "env": { + "ANSYS_LICENSING_WEB": "0", + "ANSYS_LICENSING_SHARED_WEB": "0", + "ANSYS_LICENSING_SERVICE_PRIORITY": "fnp", + "ANSYSLI_TIMEOUT_FLEXLM": "60", + "ANSYSLI_FLEXLM_TIMEOUT_ENV": "6000000", + "AVX_LOGGING_LOGS_FILE": "logs.txt", + "AVX_TELEMETRY_ENABLE": "false", + "ANSYSLMD_LICENSE_FILE": "1234@ansys-license-server.ansys-license-server.svc.cluster.local", + "OPENTELEMETRY_LOGGING_LEVEL": "INFO", + "AVX_STARTUP_STORAGES": "[\n {\n \"id\": \"jobs\",\n \"plugin\": \"local\",\n \"config\": {\n \"root\": \"/pvc-frisbee-data/jobs\"\n },\n \"read_only\": false\n },\n {\n \"id\": \"assets\",\n \"plugin\": \"local\",\n \"config\": {\n \"root\": \"/pvc-frisbee-data/assets\"\n },\n \"read_only\": true\n },\n {\n \"id\": \"http\",\n \"plugin\": \"http\",\n \"config\": {},\n \"read_only\": true\n }\n]\n", + "AVX_SIMULATION_CONTROLLER_EXPLORE_SERVICE_STATE_URL": "http://explore-service-svc-api:5000/api/explore/v1/internal/job-state", + "AVX_SIMULATION_CONTROLLER_STORAGES": "[\n {\n \"id\": \"jobs\",\n \"plugin\": \"local\",\n \"config\": {\n \"root\": \"/pvc-frisbee-data/jobs\"\n },\n \"read_only\": false\n },\n {\n \"id\": \"assets\",\n \"plugin\": \"local\",\n \"config\": {\n \"root\": \"/pvc-frisbee-data/assets\"\n },\n \"read_only\": true\n },\n {\n \"id\": \"http\",\n \"plugin\": \"http\",\n \"config\": {},\n \"read_only\": true\n }\n]\n", + "AVX_SIMULATION_CONTROLLER_RESOURCE_MANAGER_URL": "http://resource-manager-service-svc-api:5000/api/resources", + "AVX_FASTAPI_LICENSE_SERVICE_URL": "http://licensing-service:12588" + } + } +``` + +You need to get the Application ID on which you want to run the job. + +To get this, click **Execute** on the GET/Applications command (below) on the Resource REST API: +```bash +https://explore.{{ environment }}.{{ domain }}/api/resources/v1/applications +``` + +![Alt text](./app-id-1.png) + +![Alt text](./app-id-2.png) + +Now map the above generated **Queue ID** with the **Application ID** for the app-runtime-config by making a POST call. + +```bash +POST https://explore.{{ environment }}.{{ domain }}/api/resources/v1/app-runtime-config/{queue_id}/application/{app_id} +``` + + + +![Alt text](./create-queue-2.png) + +You can find a sample json below which specifies the image path and working directory: + +```bash +{ + "env": {}, + "default_resources": null, + "attributes": { + "image": "905418323743.dkr.ecr.us-east-2.amazonaws.com/avx/exec-simulation-startup:2026R1.1-beta-20251002-2", + "working_dir": "/deployment_binaries/data" + }, + "service_port": null +} +``` + +Once the queue is created and configured it will be available to select in the Explore & Analyze simulation job configuration template. \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/screen-1.png b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/screen-1.png new file mode 100644 index 0000000000..b226a4e3be Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/screen-1.png differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/screen-2.png b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/screen-2.png new file mode 100644 index 0000000000..e0dae1785e Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/screen-2.png differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/swagger_authentication_01.jpg b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/swagger_authentication_01.jpg new file mode 100644 index 0000000000..801ed001eb Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/swagger_authentication_01.jpg differ diff --git a/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/swagger_authentication_02.jpg b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/swagger_authentication_02.jpg new file mode 100644 index 0000000000..c1eef4060e Binary files /dev/null and b/2026R1.1-beta-1/AVX_Explore_Resources_API_V1_ArchV2/swagger_authentication_02.jpg differ diff --git a/2026R1.1-beta-1/AVX_Extensions_Services_API_V1_ArchV2/changelog-extensions.md b/2026R1.1-beta-1/AVX_Extensions_Services_API_V1_ArchV2/changelog-extensions.md new file mode 100644 index 0000000000..6738f8327c --- /dev/null +++ b/2026R1.1-beta-1/AVX_Extensions_Services_API_V1_ArchV2/changelog-extensions.md @@ -0,0 +1,6 @@ +## Version 0.1.0: Initial release + +v0.1.0 of the AVxcelerate Resource Manager REST API has been officially released as part of the 2025 R2.2 release. + +The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2. + diff --git a/2026R1.1-beta-1/AVX_Extensions_Services_API_V1_ArchV2/explore.aws-pre-prod-api-extensions-v1.json b/2026R1.1-beta-1/AVX_Extensions_Services_API_V1_ArchV2/explore.aws-pre-prod-api-extensions-v1.json new file mode 100644 index 0000000000..8f17960f4e --- /dev/null +++ b/2026R1.1-beta-1/AVX_Extensions_Services_API_V1_ArchV2/explore.aws-pre-prod-api-extensions-v1.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"AVxcelerate Extensions Service","summary":"Service to manage extensions","version":"0.1.0"},"servers":[{"url":"/api/extensions/v1"}],"paths":{"/health":{"get":{"tags":["health"],"summary":"Health","description":"Returns healthy message.","operationId":"health-health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health-Health"}}}}},"security":[{"HTTPBearer":[]}]}},"/job-templates":{"get":{"tags":["job-templates"],"summary":"Get Job Templates","description":"Get all job templates.","operationId":"job-templates-get_job_templates","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JobTemplate"},"type":"array","title":"Response Job-Templates-Get Job Templates"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["job-templates"],"summary":"Register Template","description":"Register a new template.\n\n:param template: The template to register","operationId":"job-templates-register_template","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobTemplate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobTemplate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/job-templates/{template_id}":{"get":{"tags":["job-templates"],"summary":"Get Job Template","description":"Get all job templates.","operationId":"job-templates-get_job_template","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobTemplate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["job-templates"],"summary":"Delete","description":"Delete a job template.","operationId":"job-templates-delete","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"null","title":"Response Job-Templates-Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/models":{"get":{"tags":["models"],"summary":"Get Models","description":"Get all models.","operationId":"models-get_models","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Models-Get Models"}}}}},"security":[{"HTTPBearer":[]}]}},"/models/validate/{schema_name}":{"post":{"tags":["models"],"summary":"Validate Object","description":"Validate object base on data model name.","operationId":"models-validate_object","parameters":[{"name":"schema_name","in":"path","required":true,"schema":{"type":"string","title":"Schema Name"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonValue"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parsers":{"get":{"tags":["parsers"],"summary":"Get Parsers","description":"Get all parsers.","operationId":"parsers-get_parsers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Parsers-Get Parsers"}}}}},"security":[{"HTTPBearer":[]}]}},"/parsers/validate/{file_format}":{"post":{"tags":["parsers"],"summary":"Validate","description":"Validate file format.","operationId":"parsers-validate","parameters":[{"name":"file_format","in":"path","required":true,"schema":{"type":"string","title":"File Format"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_parsers-validate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parsers/extract_metadata/{file_format}":{"post":{"tags":["parsers"],"summary":"Extract Metadata","description":"Extract metadata.","operationId":"parsers-extract_metadata","parameters":[{"name":"file_format","in":"path","required":true,"schema":{"type":"string","title":"File Format"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_parsers-extract_metadata"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parsers/extract_metadata_by_url/{file_format}":{"post":{"tags":["parsers"],"summary":"Extract Metadata By Url","description":"Extract metadata from file URL.","operationId":"parsers-extract_metadata_by_url","parameters":[{"name":"file_format","in":"path","required":true,"schema":{"type":"string","title":"File Format"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileURLRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/parsers/update_parameters/{file_format}":{"post":{"tags":["parsers"],"summary":"Update Parameters","description":"Extract metadata.","operationId":"parsers-update_parameters","parameters":[{"name":"file_format","in":"path","required":true,"schema":{"type":"string","title":"File Format"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_parsers-update_parameters"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"Body_parsers-extract_metadata":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_parsers-extract_metadata"},"Body_parsers-update_parameters":{"properties":{"file":{"type":"string","format":"binary","title":"File"},"parameters":{"type":"string","title":"Parameters"},"dependencies":{"type":"string","title":"Dependencies"}},"type":"object","required":["file","parameters","dependencies"],"title":"Body_parsers-update_parameters"},"Body_parsers-validate":{"properties":{"body":{"type":"string","format":"binary","title":"Body"}},"type":"object","required":["body"],"title":"Body_parsers-validate"},"DataTypeEnum":{"type":"string","enum":["job_configuration","intermediate_data"],"title":"DataTypeEnum","description":"Object to target for property mapping."},"ExploreJobConfigurationDefaults":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"template_name":{"type":"string","title":"Template Name"},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"},"simulation_controller_settings":{"allOf":[{"$ref":"#/components/schemas/SimulationControllerSettings"}],"default":{"files_to_use":[],"files_to_retrieve":{}}},"tasks":{"items":{"$ref":"#/components/schemas/TaskRuntimeParams"},"type":"array","title":"Tasks"},"files":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/UploadFileDefinition"},{"$ref":"#/components/schemas/ReferenceFileDefinition"}]},"type":"object","title":"Files","default":{}},"parameters":{"additionalProperties":{"$ref":"#/components/schemas/ParameterDescription"},"type":"object","title":"Parameters","default":{}}},"type":"object","required":["template_name","tasks"],"title":"ExploreJobConfigurationDefaults","description":"Default Configuration values for the user when creating an Explore job."},"FileURLRequest":{"properties":{"file_url":{"type":"string","title":"File Url"}},"type":"object","required":["file_url"],"title":"FileURLRequest","description":"Request body for File URL."},"FilesListParameterSource":{"properties":{"source_type":{"type":"string","enum":["files_list"],"const":"files_list","title":"Source Type","default":"files_list"},"files":{"items":{"type":"string"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"FilesListParameterSource","description":"File list parameter source."},"FindReplaceParameterSource":{"properties":{"source_type":{"type":"string","enum":["find_replace"],"const":"find_replace","title":"Source Type","default":"find_replace"},"associated_file":{"type":"string","title":"Associated File"}},"type":"object","required":["associated_file"],"title":"FindReplaceParameterSource","description":"Find and Replace parameter source."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JobTemplate":{"properties":{"name":{"type":"string","title":"Name"},"caption":{"type":"string","title":"Caption"},"description":{"type":"string","title":"Description"},"version":{"type":"string","title":"Version"},"wizard_template":{"$ref":"#/components/schemas/WizardTemplate"},"job_configuration":{"$ref":"#/components/schemas/ExploreJobConfigurationDefaults"},"required_solver_capabilities":{"items":{"type":"string"},"type":"array","title":"Required Solver Capabilities"}},"type":"object","required":["name","caption","description","version","wizard_template","job_configuration","required_solver_capabilities"],"title":"JobTemplate","description":"Job template."},"JsonSchemaWizardStep":{"properties":{"format":{"type":"string","enum":["json_schema"],"const":"json_schema","title":"Format","default":"json_schema"},"title":{"type":"string","title":"Title"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"data_schema":{"$ref":"#/components/schemas/JsonValue"},"ui_options":{"$ref":"#/components/schemas/JsonValue"},"data":{"allOf":[{"$ref":"#/components/schemas/JsonValue"}],"default":{}},"target_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Path"},"mapping":{"items":{"$ref":"#/components/schemas/PropertyMapping"},"type":"array","title":"Mapping","default":[]},"init_mapping":{"items":{"$ref":"#/components/schemas/PropertyMapping"},"type":"array","title":"Init Mapping","default":[]}},"type":"object","required":["title","data_schema","ui_options"],"title":"JsonSchemaWizardStep","description":"Json schema based wizard step."},"JsonValue":{},"MicrofrontendWizardStep":{"properties":{"format":{"type":"string","enum":["microfrontend"],"const":"microfrontend","title":"Format","default":"microfrontend"},"title":{"type":"string","title":"Title"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"url":{"type":"string","title":"Url"}},"type":"object","required":["title","url"],"title":"MicrofrontendWizardStep","description":"Micro fronted based wizard step."},"OtherParameterSource":{"properties":{"source_type":{"type":"string","enum":["other"],"const":"other","title":"Source Type","default":"other"}},"type":"object","title":"OtherParameterSource","description":"Other parameter source."},"ParameterDataTypeEnum":{"type":"string","enum":["float","integer","string","boolean"],"title":"ParameterDataTypeEnum","description":"Enum of parameter data types."},"ParameterDescription":{"properties":{"name":{"type":"string","title":"Name"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"data_type":{"$ref":"#/components/schemas/ParameterDataTypeEnum"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"source":{"anyOf":[{"$ref":"#/components/schemas/FindReplaceParameterSource"},{"$ref":"#/components/schemas/FilesListParameterSource"},{"$ref":"#/components/schemas/OtherParameterSource"}],"title":"Source"},"default_value":{"anyOf":[{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"null"}],"title":"Default Value"},"validity_safe_expression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validity Safe Expression"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}}},"type":"object","required":["name","data_type","source"],"title":"ParameterDescription","description":"Parameter description."},"PredefinedWizardStep":{"properties":{"format":{"type":"string","enum":["predefined"],"const":"predefined","title":"Format","default":"predefined"},"title":{"type":"string","title":"Title"},"attributes":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attributes","default":{}},"name":{"type":"string","title":"Name"}},"type":"object","required":["title","name"],"title":"PredefinedWizardStep","description":"Predefined wizard step."},"PropertyMapping":{"properties":{"property":{"type":"string","title":"Property"},"set_type":{"allOf":[{"$ref":"#/components/schemas/SetTypeEnum"}],"default":"value"},"target_path":{"type":"string","title":"Target Path"},"data_type":{"allOf":[{"$ref":"#/components/schemas/DataTypeEnum"}],"default":"job_configuration"}},"type":"object","required":["property","target_path"],"title":"PropertyMapping","description":"Mapping between internal step data and global data model."},"ReferenceFileDefinition":{"properties":{"source_type":{"type":"string","enum":["reference"],"const":"reference","title":"Source Type","default":"reference"},"destination":{"type":"string","title":"Destination"},"asset_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Type"},"file_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Format"},"internal_reference":{"type":"string","title":"Internal Reference"}},"type":"object","required":["destination","internal_reference"],"title":"ReferenceFileDefinition","description":"File definition with internal reference."},"SetTypeEnum":{"type":"string","enum":["value","append"],"title":"SetTypeEnum","description":"Kind of accessor to property."},"SimulationControllerSettings":{"properties":{"queue_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Queue Name"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"files_to_use":{"items":{"type":"string"},"type":"array","title":"Files To Use","default":[]},"files_to_retrieve":{"additionalProperties":{"type":"string"},"type":"object","title":"Files To Retrieve","default":{}}},"type":"object","title":"SimulationControllerSettings","description":"Simulation controller settings."},"TaskRuntimeParams":{"properties":{"task_id":{"type":"string","title":"Task Id"},"instance_name":{"type":"string","title":"Instance Name"},"inputs":{"$ref":"#/components/schemas/JsonValue"}},"type":"object","required":["task_id","instance_name","inputs"],"title":"TaskRuntimeParams","description":"This class holds necessary parameters to run a task.","object_validation":"task@task_id:inputs"},"UploadFileDefinition":{"properties":{"source_type":{"type":"string","enum":["upload"],"const":"upload","title":"Source Type","default":"upload"},"destination":{"type":"string","title":"Destination"},"asset_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Type"},"file_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Format"}},"type":"object","required":["destination"],"title":"UploadFileDefinition","description":"Upload file definition."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WizardTemplate":{"properties":{"steps":{"items":{"anyOf":[{"$ref":"#/components/schemas/PredefinedWizardStep"},{"$ref":"#/components/schemas/JsonSchemaWizardStep"},{"$ref":"#/components/schemas/MicrofrontendWizardStep"}]},"type":"array","title":"Steps"}},"type":"object","required":["steps"],"title":"WizardTemplate","description":"Wizard template."}}}} \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/changelog-post-controller.md b/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/changelog-post-controller.md new file mode 100644 index 0000000000..bb21d1ecbb --- /dev/null +++ b/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/changelog-post-controller.md @@ -0,0 +1,9 @@ +## Version 0.1.0: Initial release + +v0.1.0 of the AVxcelerate Resource Manager REST API has been officially released as part of the 2025 R2.2 release. + +The AVxcelerate Resource Manager REST API v0.1.0 is compatible with the AVX Architecture V2. + +Feature List: + +It is possible to download concrete scenario files for specific simulations. \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/explore.aws-pre-prod-api-post-controller-v1.json b/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/explore.aws-pre-prod-api-post-controller-v1.json new file mode 100644 index 0000000000..c67cdeca01 --- /dev/null +++ b/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/explore.aws-pre-prod-api-post-controller-v1.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"AVxcelerate Post Controller","summary":"Service to manage post processing jobs","version":"0.1.0"},"servers":[{"url":"/transient-services/exp-ea1f3db4-557c-44dc-abec-5243227e36d7-post-service/UKnylwME6pK-NcW7Oz0XExA9WrJlgOf2yzwT3vV3IBHhyLaujBibTrC8G4F6pmq71Ni7rNKmGbEHaBrSBer-dw"}],"paths":{"/health":{"get":{"tags":["health"],"summary":"Health","description":"Returns healthy message.","operationId":"health-health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health-Health"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/usage":{"get":{"tags":["main"],"summary":"Get Health","description":"Check health of the service.\n\nAllow client to keep alive the service in auto-shutdown mode.","operationId":"main-get_health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageStats"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/state":{"get":{"tags":["main"],"summary":"Get State","description":"Get state of the job.","operationId":"main-get_state","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StateModel"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/refresh":{"post":{"tags":["main"],"summary":"Refresh","description":"Refresh data from persistent store.","operationId":"main-refresh","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/extensions":{"post":{"tags":["main"],"summary":"Load Extension","description":"Loads an extension and activates it.","operationId":"main-load_extension","parameters":[{"name":"extension_id","in":"query","required":true,"schema":{"type":"string","title":"Extension Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/simulation-results/iterations":{"get":{"tags":["simulation-results"],"summary":"Get Iterations","description":"Returns list of iterations.","operationId":"simulation-results-get_iterations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"integer"},"type":"array","title":"Response Simulation-Results-Get Iterations"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/simulation-results/iterations/{iteration}":{"get":{"tags":["simulation-results"],"summary":"Get Iteration Data","description":"Get results data.","operationId":"simulation-results-get_iteration_data","parameters":[{"name":"iteration","in":"path","required":true,"schema":{"type":"integer","title":"Iteration"}},{"name":"$filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Filter"}},{"name":"$skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"$Skip"}},{"name":"$top","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"$Top"}},{"name":"$select","in":"query","required":false,"schema":{"type":"string","default":"*","title":"$Select"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultsData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/simulation-results":{"get":{"tags":["simulation-results"],"summary":"Get Data","description":"Get results data.","operationId":"simulation-results-get_data","parameters":[{"name":"$filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"$Filter"}},{"name":"$skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"$Skip"}},{"name":"$top","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"$Top"}},{"name":"$select","in":"query","required":false,"schema":{"type":"string","default":"*","title":"$Select"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultsData"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/simulation-results/scalar-results":{"get":{"tags":["simulation-results"],"summary":"Get Scalar","description":"Gets all scalar results.","operationId":"simulation-results-get_scalar","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultsData"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/files:list":{"get":{"tags":["files"],"summary":"Get Files","description":"Get results data.","operationId":"files-get_files","parameters":[{"name":"path","in":"query","required":false,"schema":{"type":"string","default":"","title":"Path"}},{"name":"recursive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Recursive"}},{"name":"filter_regex","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter Regex"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Response Files-Get Files"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/files:download":{"get":{"tags":["files"],"summary":"Get File","description":"Get file.","operationId":"files-get_file","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/files/stream/{file_path}":{"get":{"tags":["files"],"summary":"Stream File","description":"Stream the content of the passed file path.\n\n:param file_path: Path of the file to stream.\n:param range_header: Standard HTTP header indicating the part of a resource that the server should return\n:return: StreamingResponse: The response containing the trace file.","operationId":"files-stream_file","parameters":[{"name":"file_path","in":"path","required":true,"schema":{"type":"string","title":"File Path"}},{"name":"range","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Range"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/files/stream-intermediate-file/":{"get":{"tags":["files"],"summary":"Stream Intermediate File","description":"Stream the concrete sample files for the passed sample list.\n\n:param samples: List of sample ids from all iterations, starting from 1.\n:param filter_by_asset_declaration_list: List of filter_by_asset_declaration_list to download.\n\n:return: StreamingResponse: The response containing archive of intermediate files.","operationId":"files-stream_intermediate_file","parameters":[{"name":"samples","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Samples"}},{"name":"filter_by_asset_declaration_list","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter By Asset Declaration List"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JsonValue":{},"ResultsData":{"properties":{"columns":{"items":{"type":"string"},"type":"array","title":"Columns","default":[]},"data":{"items":{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},"type":"array","title":"Data","default":[]},"metadata":{"allOf":[{"$ref":"#/components/schemas/JsonValue"}],"default":{}}},"type":"object","title":"ResultsData","description":"Raw results data returned by the Post Controller REST API."},"SamplesStatusInfo":{"properties":{"Success":{"type":"integer","title":"Success"},"Failed":{"type":"integer","title":"Failed"},"Pending":{"type":"integer","title":"Pending"},"Scheduled":{"type":"integer","title":"Scheduled"}},"type":"object","required":["Success","Failed","Pending","Scheduled"],"title":"SamplesStatusInfo","description":"This class contains status info of all samples."},"StateModel":{"properties":{"job_id":{"type":"string","title":"Job Id"},"tasks_state":{"additionalProperties":{"$ref":"#/components/schemas/TaskState"},"type":"object","title":"Tasks State","default":{}},"start_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time"},"last_update_time":{"type":"string","format":"date-time","title":"Last Update Time"},"completion_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completion Time"},"duration_in_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration In Seconds"},"sample_status_info":{"additionalProperties":{"$ref":"#/components/schemas/SamplesStatusInfo"},"type":"object","title":"Sample Status Info","default":{}}},"type":"object","required":["job_id"],"title":"StateModel","description":"This Module is defined to save/restore the state of a Job Run."},"TaskHistory":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"status":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"}],"default":"Pending"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"}},"type":"object","title":"TaskHistory","description":"Holds historical changes in state of class."},"TaskState":{"properties":{"task_name":{"type":"string","title":"Task Name"},"start_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time"},"completion_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completion Time"},"duration_in_seconds":{"type":"number","title":"Duration In Seconds","default":0},"status":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"}],"default":"Pending"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"history":{"items":{"$ref":"#/components/schemas/TaskHistory"},"type":"array","title":"History"},"attribute":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Attribute"},"sub_states":{"anyOf":[{"items":{"$ref":"#/components/schemas/StateModel"},"type":"array"},{"type":"null"}],"title":"Sub States"}},"type":"object","required":["task_name"],"title":"TaskState","description":"Holds state of a task."},"TaskStatus":{"type":"string","enum":["Pending","Running","Succeeded","Failed"],"title":"TaskStatus","description":"Possible statuses of a task."},"UsageStats":{"properties":{"memory":{"type":"number","title":"Memory"},"cpu":{"type":"number","title":"Cpu"}},"type":"object","required":["memory","cpu"],"title":"UsageStats","description":"Basic usage statistics."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}} \ No newline at end of file diff --git a/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/intro_archv2_post_controller_api.md b/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/intro_archv2_post_controller_api.md new file mode 100644 index 0000000000..3f295b1e21 --- /dev/null +++ b/2026R1.1-beta-1/AVX_Post_Controller_API_V1_ArchV2/intro_archv2_post_controller_api.md @@ -0,0 +1,26 @@ +## Introduction + +The AVxcelerate Post Controller REST API v0.1.0 is compatible with the AVX Architecture V2. + +This REST API allows you to manage post processing jobs + +## Features + +### Download concrete scenario files + +It is possible to download concrete scenario files of simulation jobs + +To do this, you need to provides a list of *sample_ids* to generate concrete scenario files for those samples. + +* If 'samples' is empty or not provided, no concrete file is included. +* If 'samples' is specified, than all the concrete files will be included for these samples in the zip. + + +You can also specify what kind of documents you want to download: + +* Scenario files +* Asset files + + If the parameter: *"filter_by_asset_declaration"* is empty or not provided, all the "common" asset data will be provided. + +