cursus.steps.configs.config_payload_step

class PayloadConfig(*, author, bucket, role, region, service_name, pipeline_version, model_class='xgboost', current_date=<factory>, framework_version='2.1.0', py_version='py310', source_dir=None, enable_caching=False, use_secure_pypi=False, max_runtime_seconds=172800, project_root_folder, processing_instance_count=1, processing_volume_size=500, processing_instance_type_large='ml.m5.4xlarge', processing_instance_type_small='ml.m5.2xlarge', use_large_processing_instance=False, skip_volume_kms=None, processing_source_dir=None, processing_entry_point='payload.py', processing_script_arguments=None, processing_framework_version='1.2-1', expected_tps, max_latency_in_millisecond, source_model_inference_content_types=['text/csv'], source_model_inference_response_types=['application/json'], default_numeric_value=0.0, default_text_value='DEFAULT_TEXT', field_defaults=None, custom_payload_path=None, max_acceptable_error_rate=0.2, load_test_instance_type_list=['ml.m5.4xlarge'], **extra_data)[source]

Bases: ProcessingStepConfigBase

Configuration for payload generation and testing.

This configuration follows the three-tier field categorization: 1. Tier 1: Essential User Inputs - fields that users must explicitly provide 2. Tier 2: System Inputs with Defaults - fields with reasonable defaults that users can override 3. Tier 3: Derived Fields - fields calculated from other fields, stored in private attributes

expected_tps: int
max_latency_in_millisecond: int
processing_entry_point: str
source_model_inference_content_types: List[str]
source_model_inference_response_types: List[str]
default_numeric_value: float
default_text_value: str
field_defaults: Dict[str, str] | None
custom_payload_path: str | None
max_acceptable_error_rate: float
load_test_instance_type_list: List[str]
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'allow', 'protected_namespaces': (), 'validate_assignment': False}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

serialize_path_fields(value)[source]

Serialize Path objects to strings

classmethod validate_load_test_instance_types(v)[source]

Validate load test instance type format

initialize_derived_fields()[source]

Initialize all derived fields once after validation.

get_job_arguments()[source]

CLI args — config is the single source (FZ 31e1d3h). Custom passthrough or None.

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self (BaseModel) – The BaseModel instance.

  • context (Any) – The context.

processing_instance_count: int
processing_volume_size: int
processing_instance_type_large: str
processing_instance_type_small: str
use_large_processing_instance: bool
skip_volume_kms: bool | None
processing_source_dir: str | None
processing_script_arguments: List[str] | None
processing_framework_version: str
author: str
bucket: str
role: str
region: str
service_name: str
pipeline_version: str
model_class: str
current_date: str
framework_version: str
py_version: str
source_dir: str | None
enable_caching: bool
use_secure_pypi: bool
max_runtime_seconds: int
project_root_folder: str