def create( cls, action_name=None, source_uri=None, source_type=None, action_type=None, description=None, status=None, properties=None, tags=None, sagemaker_session=None, ): """Create an action and return an ``Action`` object representing it. Args: action_name (str): Name of the action source_uri (str): Source URI of the action source_type (str): Source type of the action action_type (str): The type of the action description (str): Description of the action status (str): Status of the action. properties (dict): key/value properties tags (dict): AWS tags for the action sagemaker_session (sagemaker.session.Session): Session object which manages interactions with Amazon SageMaker APIs and any other AWS services needed. If not specified, one is created using the default AWS configuration chain. Returns: Action: A SageMaker ``Action`` object. """ return super(Action, cls)._construct( cls._boto_create_method, action_name=action_name, source=_api_types.ActionSource(source_uri=source_uri, source_type=source_type), action_type=action_type, description=description, status=status, properties=properties, tags=tags, sagemaker_session=sagemaker_session, )
def test_list(sagemaker_session): start_time = datetime.datetime.now( datetime.timezone.utc) + datetime.timedelta(hours=1) end_time = datetime.datetime.now( datetime.timezone.utc) + datetime.timedelta(hours=2) creation_time = datetime.datetime.now( datetime.timezone.utc) + datetime.timedelta(hours=3) last_modified_time = datetime.datetime.now( datetime.timezone.utc) + datetime.timedelta(hours=4) sagemaker_session.sagemaker_client.list_actions.side_effect = [ { "ActionSummaries": [{ "ActionName": "A" + str(i), "Action" "Arn": "B" + str(i), "DisplayName": "C" + str(i), "Source": { "SourceUri": "D" + str(i) }, "StartTime": start_time + datetime.timedelta(hours=i), "EndTime": end_time + datetime.timedelta(hours=i), "CreationTime": creation_time + datetime.timedelta(hours=i), "LastModifiedTime": last_modified_time + datetime.timedelta(hours=i), "LastModifiedBy": {}, } for i in range(10)], "NextToken": "100", }, { "ActionSummaries": [{ "ActionName": "A" + str(i), "ActionArn": "B" + str(i), "DisplayName": "C" + str(i), "Source": { "SourceUri": "D" + str(i) }, "StartTime": start_time + datetime.timedelta(hours=i), "EndTime": end_time + datetime.timedelta(hours=i), "CreationTime": creation_time + datetime.timedelta(hours=i), "LastModifiedTime": last_modified_time + datetime.timedelta(hours=i), "LastModifiedBy": {}, } for i in range(10, 20)] }, ] expected = [ _api_types.ActionSummary( action_name="A" + str(i), action_arn="B" + str(i), display_name="C" + str(i), source=_api_types.ActionSource(source_uri="D" + str(i)), start_time=start_time + datetime.timedelta(hours=i), end_time=end_time + datetime.timedelta(hours=i), creation_time=creation_time + datetime.timedelta(hours=i), last_modified_time=last_modified_time + datetime.timedelta(hours=i), last_modified_by={}, ) for i in range(20) ] result = list( action.Action.list( sagemaker_session=sagemaker_session, source_uri="foo", sort_by="CreationTime", sort_order="Ascending", )) assert expected == result expected_calls = [ unittest.mock.call( SortBy="CreationTime", SortOrder="Ascending", SourceUri="foo", ), unittest.mock.call( NextToken="100", SortBy="CreationTime", SortOrder="Ascending", SourceUri="foo", ), ] assert expected_calls == sagemaker_session.sagemaker_client.list_actions.mock_calls