in src/stepfunctions/steps/sagemaker.py [0:0]
def __init__(self, state_id, endpoint_config_name, model_name, initial_instance_count, instance_type, variant_name='AllTraffic', data_capture_config=None, tags=None, **kwargs):
"""
Args:
state_id (str): State name whose length **must be** less than or equal to 128 unicode characters. State names **must be** unique within the scope of the whole state machine.
endpoint_config_name (str or Placeholder): The name of the endpoint configuration to create. We recommend to use :py:class:`~stepfunctions.inputs.ExecutionInput` placeholder collection to pass the value dynamically in each execution.
model_name (str or Placeholder): The name of the SageMaker model to attach to the endpoint configuration. We recommend to use :py:class:`~stepfunctions.inputs.ExecutionInput` placeholder collection to pass the value dynamically in each execution.
initial_instance_count (int or Placeholder): The initial number of instances to run in the ``Endpoint`` created from this ``Model``.
instance_type (str or Placeholder): The EC2 instance type to deploy this Model to. For example, 'ml.p2.xlarge'.
variant_name (str, optional): The name of the production variant.
data_capture_config (sagemaker.model_monitor.DataCaptureConfig, optional): Specifies
configuration related to Endpoint data capture for use with
Amazon SageMaker Model Monitoring. Default: None.
tags (list[dict], optional): `List of tags <https://docs.aws.amazon.com/sagemaker/latest/dg/API_Tag.html>`_ to associate with the resource.
"""
parameters = {
'EndpointConfigName': endpoint_config_name,
'ProductionVariants': [{
'InitialInstanceCount': initial_instance_count,
'InstanceType': instance_type,
'ModelName': model_name,
'VariantName': variant_name
}]
}
if isinstance(data_capture_config, DataCaptureConfig):
parameters['DataCaptureConfig'] = data_capture_config._to_request_dict()
if tags:
parameters['Tags'] = tags_dict_to_kv_list(tags)
"""
Example resource arn: arn:aws:states:::sagemaker:createEndpointConfig
"""
kwargs[Field.Resource.value] = get_service_integration_arn(SAGEMAKER_SERVICE_NAME,
SageMakerApi.CreateEndpointConfig)
kwargs[Field.Parameters.value] = parameters
super(EndpointConfigStep, self).__init__(state_id, **kwargs)