smif.http_api.crud module

HTTP API endpoint

Summary

Classes:

NarrativeAPI Implement CRUD operations for narratives configuration data
NarrativeSetAPI Implement CRUD operations for narrative_sets configuration data
ScenarioAPI Implement CRUD operations for scenarios configuration data
ScenarioSetAPI Implement CRUD operations for scenario_sets configuration data
SectorModelAPI Implement CRUD operations for sector_model configuration data
SmifAPI Implement operations for Smif
SosModelAPI Implement CRUD operations for sos_model configuration data
SosModelRunAPI Implement CRUD operations for sos_model_run configuration data

Functions:

check_timestamp Check for timestamp and parse to datetime object

Reference

class smif.http_api.crud.SmifAPI[source]

Bases: flask.views.MethodView

Implement operations for Smif

get(key)[source]

Get smif details version: GET /api/v1/smif/version

methods = {'GET'}
class smif.http_api.crud.SosModelRunAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for sos_model_run configuration data

get(sos_model_run_name=None, action=None)[source]

Get sos_model_runs all: GET /api/v1/sos_model_runs/ one: GET /api/vi/sos_model_runs/name

post(sos_model_run_name=None, action=None)[source]

Create a sos_model_run: - POST /api/v1/sos_model_runs

Perform an operation on a sos_model_run - POST /api/v1/sos_model_runs/<sos_model_run_name>/<action>

Available actions are - start: Start the sos_model_run - kill: Stop a sos_model_run that is currently running - remove: Remove a sos_model_run that is waiting to be executed - resume: Warm start a sos_model_run

put(sos_model_run_name)[source]

Update a sos_model_run: PUT /api/v1/sos_model_runs

delete(sos_model_run_name)[source]

Delete a sos_model_run: DELETE /api/v1/sos_model_runs

methods = {'GET', 'DELETE', 'PUT', 'POST'}
class smif.http_api.crud.SosModelAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for sos_model configuration data

get(sos_model_name)[source]

Get sos_model all: GET /api/v1/sos_model/ one: GET /api/vi/sos_model/name

post()[source]

Create a sos_model: POST /api/v1/sos_model

put(sos_model_name)[source]

Update a sos_model: PUT /api/v1/sos_model

delete(sos_model_name)[source]

Delete a sos_model: DELETE /api/v1/sos_model

methods = {'GET', 'DELETE', 'PUT', 'POST'}
class smif.http_api.crud.SectorModelAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for sector_model configuration data

get(sector_model_name)[source]

Get sector_models all: GET /api/v1/sector_models/ one: GET /api/vi/sector_models/name

post()[source]

Create a sector_model: POST /api/v1/sector_models

put(sector_model_name)[source]

Update a sector_model: PUT /api/v1/sector_models

delete(sector_model_name)[source]

Delete a sector_model: DELETE /api/v1/sector_models

methods = {'GET', 'DELETE', 'PUT', 'POST'}
class smif.http_api.crud.ScenarioSetAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for scenario_sets configuration data

get(scenario_set_name)[source]

Get scenario_sets all: GET /api/v1/scenario_sets/ one: GET /api/vi/scenario_sets/name

post()[source]

Create a scenario_set: POST /api/v1/scenario_sets

put(scenario_set_name)[source]

Update a scenario_set: PUT /api/v1/scenario_sets

delete(scenario_set_name)[source]

Delete a scenario_set: DELETE /api/v1/scenario_sets

methods = {'GET', 'DELETE', 'PUT', 'POST'}
class smif.http_api.crud.ScenarioAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for scenarios configuration data

get(scenario_name)[source]

Get scenarios all: GET /api/v1/scenarios/ one: GET /api/vi/scenarios/name

post()[source]

Create a scenario: POST /api/v1/scenarios

put(scenario_name)[source]

Update a scenario: PUT /api/v1/scenarios

delete(scenario_name)[source]

Delete a scenario: DELETE /api/v1/scenarios

methods = {'GET', 'DELETE', 'PUT', 'POST'}
class smif.http_api.crud.NarrativeSetAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for narrative_sets configuration data

get(narrative_set_name)[source]

Get narrative_sets all: GET /api/v1/narrative_sets/ one: GET /api/vi/narrative_sets/name

post()[source]

Create a narrative_set: POST /api/v1/narrative_sets

put(narrative_set_name)[source]

Update a narrative_set: PUT /api/v1/narrative_sets

delete(narrative_set_name)[source]

Delete a narrative_set: DELETE /api/v1/narrative_sets

methods = {'GET', 'DELETE', 'PUT', 'POST'}
class smif.http_api.crud.NarrativeAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for narratives configuration data

get(narrative_name)[source]

Get narratives all: GET /api/v1/narratives/ one: GET /api/vi/narratives/name

post()[source]

Create a narrative: POST /api/v1/narratives

put(narrative_name)[source]

Update a narrative: PUT /api/v1/narratives

delete(narrative_name)[source]

Delete a narrative: DELETE /api/v1/narratives

methods = {'GET', 'DELETE', 'PUT', 'POST'}
smif.http_api.crud.check_timestamp(data)[source]

Check for timestamp and parse to datetime object