Models¶
- pydantic model aind_watchdog_service.models.manifest_config.ManifestConfig[source]¶
Bases:
BaseModel
Job configs for data transfer to VAST and executing a custom script
Show JSON schema
{ "title": "ManifestConfig", "description": "Job configs for data transfer to VAST and executing a custom script", "type": "object", "properties": { "name": { "description": "Unique name for session data assets", "title": "Unique name", "type": "string" }, "processor_full_name": { "description": "User who processed the data", "title": "Processor name", "type": "string" }, "subject_id": { "description": "Subject ID", "title": "Subject ID", "type": "integer" }, "acquisition_datetime": { "description": "Acquisition datetime", "format": "date-time", "title": "Acquisition datetime", "type": "string" }, "schedule_time": { "anyOf": [ { "format": "time", "type": "string" }, { "type": "null" } ], "default": null, "description": "Transfer time to schedule copy and upload. If None defaults to trigger the transfer immediately", "title": "APScheduler transfer time" }, "force_cloud_sync": { "default": false, "description": "Overwrite data in AWS", "title": "Force cloud sync", "type": "boolean" }, "transfer_endpoint": { "default": "http://aind-data-transfer-service/api/v1/submit_jobs", "description": "Transfer endpoint for data transfer", "title": "Transfer endpoint", "type": "string" }, "platform": { "description": "Platform type", "enum": [ "confocal", "exaSPIM", "ISI", "MRI", "MERFISH", "single-plane-ophys", "multiplane-ophys", "SmartSPIM", "SLAP2", "FIP", "ecephys", "mesoSPIM", "behavior", "HCR", "motor-observatory", "HSFP" ], "title": "Platform type", "type": "string" }, "capsule_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Capsule ID of pipeline to run", "title": "Capsule" }, "mount": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Mount point for pipeline run", "title": "Mount point" }, "s3_bucket": { "allOf": [ { "$ref": "#/$defs/BucketType" } ], "default": "private", "description": "s3 endpoint", "title": "S3 endpoint" }, "project_name": { "description": "Project name", "title": "Project name", "type": "string" }, "destination": { "description": "Remote directory on VAST where to copy the data to.", "examples": [ "\\\\allen\\aind\\scratch\\test" ], "title": "Destination directory", "type": "string" }, "modalities": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "default": {}, "description": "list of ModalityFile objects containing modality names and associated files or directories", "title": "modality files", "type": "object" }, "schemas": { "default": [], "description": "Where schema files to be uploaded are saved", "items": { "type": "string" }, "title": "Schema directory", "type": "array" }, "script": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "default": {}, "description": "Set of commands to run in subprocess.", "title": "Commands", "type": "object" } }, "$defs": { "BucketType": { "description": "Types of s3 bucket users can write to through service", "enum": [ "private", "open", "scratch" ], "title": "BucketType", "type": "string" } }, "additionalProperties": false, "required": [ "name", "processor_full_name", "subject_id", "acquisition_datetime", "platform", "project_name", "destination" ] }
- Config:
extra: str = forbid
- Fields:
- Validators:
- field destination: str [Required][source]¶
Remote directory on VAST where to copy the data to.
- Validated by:
- field modalities: List[str]] = {}[source]¶
list of ModalityFile objects containing modality names and associated files or directories
- Validated by:
- field platform: Literal['confocal', 'exaSPIM', 'ISI', 'MRI', 'MERFISH', 'single-plane-ophys', 'multiplane-ophys', 'SmartSPIM', 'SLAP2', 'FIP', 'ecephys', 'mesoSPIM', 'behavior', 'HCR', 'motor-observatory', 'HSFP'] [Required][source]¶
Platform type
- Validated by:
- field schedule_time: time | None = None[source]¶
Transfer time to schedule copy and upload. If None defaults to trigger the transfer immediately
- Validated by:
- field script: Dict[str, List[str]] = {}[source]¶
Set of commands to run in subprocess.
- Validated by:
- field transfer_endpoint: str = 'http://aind-data-transfer-service/api/v1/submit_jobs'[source]¶
Transfer endpoint for data transfer
- Validated by:
- validator normalize_modalities » modalities[source]¶
Normalize modalities
- validator normalized_scheduled_time » schedule_time[source]¶
Normalize scheduled time
- validator validate_destination_path » destination[source]¶
- validator validate_modality_paths » modalities[source]¶
- pydantic model aind_watchdog_service.models.watch_config.WatchConfig[source]¶
Bases:
BaseModel
Configuration for rig
Show JSON schema
{ "title": "WatchConfig", "description": "Configuration for rig", "type": "object", "properties": { "flag_dir": { "description": "Directory for watchdog to poll", "title": "Poll directory", "type": "string" }, "manifest_complete": { "description": "Manifest directory for triggered data", "title": "Manifest complete directory", "type": "string" }, "webhook_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Teams webhook url for user notification", "title": "Teams webhook url" } }, "required": [ "flag_dir", "manifest_complete" ] }