Skip to content

ws1_app_assignments

codeskipper edited this page Jun 27, 2024 · 2 revisions

Description

ws1_app_assignments specifies settings that give you full control over App Assignment Rules.

The processor adds the tag #AUTOPKG to each rule description to each rule it sets, and does not update rule sets that do not have the tag so any manual changes in the WS1 UEM console are not touched. After all assignments are applied, tag #AUTOPKG_DONE is added to the last assignment rule to avoid further processing. In the event all assignment rules for an app version are deleted, the processor skips updating. This is a safeguard in case an WS1 UEM operator intervened to prevent an app version being assigned to production Assignment Groups.

The distribution and restriction sections together make up settings for one assignment rule, and are repeated in sequence as needed. The assignments rules must be specified in order of priority.

distr_delay_days

The number of days before the assignment is to be applied. If set to zero, the date of the Autopkg recipe run is used for newly uploaded app versions. The first assignment must have distr_delay_days set as zero, this becomes the base of the calculation for dates of delayed assignments.

NB - an App Assignment Rule with a setting for a in the future causes previous versions of the app to NOT be deployed to newly enrolled devices, and NOT be offered in the Hub and user portal. Neither will the app version with effective_date in the future be deployed or be offered in the Hub or user portal before effective_date.

For that reason, the processor will postpone setting such assignment rules until the date they are to become effective, and skip those set for a future date until next run.

####app_delivery_method can be set as ON_DEMAND or AUTO

API doc:

https://as135.awmdm.com/API/help/#!/apis/10001?!%2FAppsV2%2FAppsV2_UpdateAssignmentRuleAsync

Example Usage, a recipe override for Firefox, Input section, in YAML format:

Comment: |
    Confidential settings and secrets are passed as environment variables in the GitHub action settings file from
    the GitHub secrets, and are therefore set to 'none' in the recipe override.
    The 'distribution' and restriction sctions make up settings for one assignment rule, and are repeated as needed.
Identifier: local.ws1.Firefox
Input:
  LOCALE: en-US
  NAME: Mozilla Firefox
  RELEASE: latest-esr
  WS1_API_PASSWORD: none
  WS1_API_TOKEN: none
  WS1_API_URL: none
  WS1_API_USERNAME: none
  WS1_B64ENCODED_API_CREDENTIALS: none
  WS1_CONSOLE_URL: none
  WS1_GROUPID: none
  WS1_OAUTH_CLIENT_ID: none
  WS1_OAUTH_CLIENT_SECRET: none
  WS1_OAUTH_TOKEN_URL: none
  WS1_PUSH_MODE: none
  WS1_SMART_GROUP_NAME: none
  ws1_app_assignments:
  - distribution:
      app_delivery_method: ON_DEMAND
      description: |
        Testing
          macOS-TESTING
      display_in_app_catalog: true
      distr_delay_days: '0'
      is_default_assignment: false
      keep_app_updated_automatically: true
      name: TESTING
      smart_group_names:
      - macOS-TESTING
    restriction:
      desired_state_management: false
      managed_access: false
      prevent_removal: false
      remove_on_unenroll: false
ParentRecipe: com.github.codeskipper.ws1.MozillaFirefox
....

Required: False, you can specify ws1_smart_group_name and ws1_push_mode to make simple App Assignment Rules instead.