Webapps resource

Note: Only generic (EKS-based) webapps are supported when using SDK.

Import the webapps resource module and instantiate a webapps-service client

[ ]:
from peak.resources import webapps

webapp_client = webapps.get_client()

List all existing webapps(s) and iterate over them

[ ]:
webapps_list_iterator = webapp_client.list_webapps(
    status=["CREATING"],
    name="test",
)
webapps_list_iterated = next(webapps_list_iterator)

Prepare the payload and submit a new Webapp resource for creation

[ ]:
body = {
    "name": "webapp101",
    "title": "Hello from SDK",
    "description": "Hi there",
    "imageDetails": {  ## If versionId is not passed, webapp will be created using latest ready version of the image
        "imageId": 123,
        "versionId": 100,
    },
    "resources": {
        "instanceTypeId": 1,
    },
    "sessionStickiness": True,
}

created_webapp = webapp_client.create_webapp(body)

Modify the payload and update the existing Webapp resource

[ ]:
updated_body = {
    "title": "Updated title",
    "description": "Updated Description",
    "imageDetails": {  ## If versionId is not passed, webapp will be updated using latest ready version of the image
        "imageId": 123,
        "versionId": 101,
    },
    "resources": {
        "instanceTypeId": 1,
    },
    "sessionStickiness": True,
}

updated_webapp = webapp_client.update_webapp(webapp_id="84a41de7-d67f-4aa0-aebe-83c1474f0eaf", body=updated_body)

Create or update a Webapp resource

[ ]:
## If webapp exists, it will be updated, else new webapp will be created
body = {
    "name": "webapp101",
    "title": "Hello from SDK",
    "description": "Hi there",
    "imageDetails": {  ## If versionId is not passed, webapp will be created or updated using latest ready version of the image
        "imageId": 123,
        "versionId": 100,
    },
    "resources": {
        "instanceTypeId": 1,
    },
    "sessionStickiness": True,
}

created_webapp = webapp_client.create_or_update_webapp(body)

Delete an existing Webapp resource

[ ]:
webapp_client.delete_webapp(webapp_id="some-id")

Describe an existing Webapp resource

[ ]:
webapp_client.describe_webapp(webapp_id="84a41de7-d67f-4aa0-aebe-83c1474f0eaf")