smif.http_api.crud module

HTTP API endpoint

Summary

Classes:

DimensionAPI Implement CRUD operations for dimensions configuration data
ModelRunAPI Implement CRUD operations for model_run configuration data
ScenarioAPI Implement CRUD operations for scenarios 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

Functions:

check_timestamp Check for timestamp and parse to datetime object
parse_exceptions Parse a group of exceptions so that it can be sent over the http-api

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.ModelRunAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for model_run configuration data

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

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

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

Create a model_run: - POST /api/v1/model_runs

Perform an operation on a model_run - POST /api/v1/model_runs/<model_run_name>/<action>

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

put(model_run_name)[source]

Update a model_run: PUT /api/v1/model_runs

delete(model_run_name)[source]

Delete a model_run: DELETE /api/v1/model_runs

methods = {'DELETE', 'GET', 'POST', 'PUT'}
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_models/ one: GET /api/vi/sos_models/name

post()[source]

Create a sos_model: POST /api/v1/sos_models

put(sos_model_name)[source]

Update a sos_model: PUT /api/v1/sos_models

delete(sos_model_name)[source]

Delete a sos_model: DELETE /api/v1/sos_models

methods = {'DELETE', 'GET', 'POST', 'PUT'}
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 = {'DELETE', 'GET', 'POST', 'PUT'}
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 = {'DELETE', 'GET', 'POST', 'PUT'}
class smif.http_api.crud.DimensionAPI[source]

Bases: flask.views.MethodView

Implement CRUD operations for dimensions configuration data

get(dimension_name)[source]

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

post()[source]

Create a dimension: POST /api/v1/dimensions

put(dimension_name)[source]

Update a dimension: PUT /api/v1/dimensions

delete(dimension_name)[source]

Delete a dimension: DELETE /api/v1/dimensions

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

Check for timestamp and parse to datetime object

smif.http_api.crud.parse_exceptions(exception)[source]

Parse a group of exceptions so that it can be sent over the http-api