diff --git a/charms/trusty/clearwater-homestead/actions.yaml b/charms/trusty/clearwater-homestead/actions.yaml new file mode 100644 index 0000000..424ae89 --- /dev/null +++ b/charms/trusty/clearwater-homestead/actions.yaml @@ -0,0 +1,19 @@ +create-update-user: + description: Create a user, or update a user if they already exist. + params: + number: + description: The number to provision + type: string + password: + description: The number's password + type: string + required: [number, password] + additionalProperties: false +delete-user: + description: Delete a user. If the user does not exist, this is still considered success. + params: + number: + description: The number to provision + type: string + required: [number] + additionalProperties: false diff --git a/charms/trusty/clearwater-homestead/actions/create-update-user b/charms/trusty/clearwater-homestead/actions/create-update-user new file mode 100755 index 0000000..15b4597 --- /dev/null +++ b/charms/trusty/clearwater-homestead/actions/create-update-user @@ -0,0 +1,18 @@ +#!/bin/bash +set -ex + +# Get the configuration and action parameters. +home_domain=$(config-get zone) +number=$(action-get number) +password=$(action-get password) + + +# If the user doesn't exist, try to create them. Otherwise, try to update them. +if ! sudo -S /usr/share/clearwater/bin/display_user $number $home_domain ; +then + echo "Subscriber doesn't exist - creating" + sudo -S /usr/share/clearwater/bin/create_user $number $home_domain $password +else + echo "Subscriber exists - updating" + sudo -S /usr/share/clearwater/bin/update_user $number $home_domain --password $password +fi diff --git a/charms/trusty/clearwater-homestead/actions/delete-user b/charms/trusty/clearwater-homestead/actions/delete-user new file mode 100755 index 0000000..79f9727 --- /dev/null +++ b/charms/trusty/clearwater-homestead/actions/delete-user @@ -0,0 +1,9 @@ +#!/bin/bash +set -e + +# Get the configuration and action parameters. +home_domain=$(config-get zone) +number=$(action-get number) + +# Delete the user. +sudo -S /usr/share/clearwater/bin/delete_user -y $number $home_domain