Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

WORK IN PROGRESS & For Discussion

...

This page discusses how to deal with combinations of 'ClientID' (as "creator" and/or "ownerown

er") in the Header, and 'service_id' ( as "owner") in the request body.

...

  1. Request 'service_id' ❌ absent (null)
    1. Token or its 'ClientID' ❌ absent (null), or

    2. Token's 'ClientID' ✔️ present but blank/empty (""), or 

    3. Token's 'ClientID' ✅present

      Panel
      bordertrue

      Leave parameter 'service_id' as null and continue.
      Operation will fail because 'service_id' is mandatory.


  2. Request 'service_id' ✔️ present but blank/empty ("")
    1. Token or its 'ClientID' ❌ absent (null)

      Panel
      bordertrue

      Leave parameter 'service_id' as empty ("") and continue.

      This policy has no 'owner', so cannot be retrieved using a service-id filter in Get-Instances, and cannot be later inherited by a newly-registered service ("" is not a valid service name when registering a 'Service').

      Policy cannot be auto-deleted/garbage-collected, since this functionality is tried to the life-cycle of registered Services only.


    2. Token's 'ClientID' ✔️ present but blank/empty ("")

      Panel
      bordertrue

      Leave parameter 'service_id' as empty ("") and continue.

      This policy has no 'owner', so cannot be retrieved using a service-id filter in Get-Instances, and cannot be later inherited by a newly-registered service ("" is not a valid service name when registering a 'Service').

      Policy cannot be auto-deleted/garbage-collected, since this functionality is tried to the life-cycle of registered Services only.


    3. Token's 'ClientID' ✅present

      Panel
      bordertrue

      Set parameter 'service_id' = 'ClientID' and continue.

      This policy's 'owner' is set be its 'creator'.
      See options 3.d and 4.d below to understand behavior when 'service_id' == 'ClientID'


  3. Request 'service_id' ✅present but not NOT a registered 'Service'
    1. Token or its 'ClientID' ❌ absent (null)

      Panel
      bordertrue

      Leave parameter 'service_id' as is (not-registered Service) and continue.

      This policy has an unregistered 'owner', but can be retrieved using that 'service-id' filter in Get-Instances
      Policy cannot be auto-deleted/garbage-collected, since this functionality is tried to the life-cycle of registered Services only.
      Policy can be later inherited by a newly-registered Service with same 'service_id'.


    2. Token's 'ClientID' ✔️ present but blank/empty ("")

      Panel
      bordertrue

      Leave parameter 'service_id' as is (not-registered Service) and continue.

      This policy has an unregistered 'owner', but can be retrieved using that 'service-id' filter in Get-Instances
      Policy cannot be auto-deleted/garbage-collected, since this functionality is tried to the life-cycle of registered Services only.
      Policy can be later inherited by a newly-registered Service with same 'service_id'.


    3. Token's 'ClientID' ✅present but != 'service_id'

      Panel
      bordertrue

      Leave parameter 'service_id' as is (not-registered Service) and continue.
      Policy has an different 'owner' than 'creator'

      This policy has an unregistered 'owner', but can be retrieved using that 'service-id' filter in Get-Instances
      Policy cannot be auto-deleted/garbage-collected, since this functionality is tried to the life-cycle of registered Services only.
      Policy can be later inherited by a newly-registered Service with same 'service_id' (see option 4.c below).

      Warning
      titleTo Do!

      Need to extend functionality to save the additional 'creator' information.



    4. Token's 'ClientID' ✅present and == 'service_id'

      Panel
      bordertrue

      Leave parameter 'service_id' as is (not-registered Service) and continue.

      This policy has an unregistered 'owner', but can be retrieved using that 'service-id' filter in Get-Instances
      Policy cannot be auto-deleted/garbage-collected, since this functionality is tried to the life-cycle of registered Services only.
      Policy can be later inherited by a newly-registered Service with same 'service_id' (see option 4.d below).


  4. Request 'service_id' ✅present but is a registered 'Service'
    1. Token or its 'ClientID' ❌ absent (null)

      Panel
      bordertrue

      Leave parameter 'service_id' as is (pre-registered Service) and continue.

      This policy has a registered 'owner', and can be retrieved using that 'service-id' filter in Get-Instances
      Policy may be auto-deleted/garbage-collected, depending on the life-cycle and activity registered Service.
      Policy will be deleted if Service is deleted or times-out according to however the Service is configured.


    2. Token's 'ClientID' ✔️ present but blank/empty ("")

      Panel
      bordertrue

      Leave parameter 'service_id' as is (pre-registered Service) and continue.

      This policy has a registered 'owner', and can be retrieved using that 'service-id' filter in Get-Instances
      Policy may be auto-deleted/garbage-collected, depending on the life-cycle and activity registered Service.
      Policy will be deleted if Service is deleted or times-out according to however the Service is configured.


    3. Token's 'ClientID' ✅present but != 'service_id'

      Panel
      bordertrue

      Leave parameter 'service_id' as is (pre-registered Service) and continue.
      Policy has an different 'owner' than 'creator'

      This policy has a registered 'owner', and can be retrieved using that 'service-id' filter in Get-Instances
      Policy may be auto-deleted/garbage-collected, depending on the life-cycle and activity registered Service.
      Policy will be deleted if Service is deleted or times-out according to however the Service is configured.

      Warning
      titleTo Do!

      Need to extend functionality to save the additional 'creator' information.



    4. Token's 'ClientID' ✅present and == 'service_id'

      Panel
      bordertrue

      Leave parameter 'service_id' as is (pre-registered Service) and continue.
      Policy has same 'owner' than 'creator'

      This policy has a registered 'owner' - same as 'creator', and can be retrieved using that 'service-id' filter in Get-Instances
      Policy may be auto-deleted/garbage-collected, depending on the life-cycle and activity registered Service.
      Policy will be deleted if Service is deleted or times-out according to however the Service is configured.


...

ClientID coming from the JWT, ServiceID coming in from the body request.

v3ClientID NULLClientID EMPTYClientID VALID
ServiceID NULLEMPTYCC
ServiceID EMPTYSS
ServiceID REGISTEREDSSS (*)
ServiceID UNREGISTEREDSSS (*)

(*) Owner (serviceID) != Creator (clientID)