# Include{groups}
portals:
  open:
# Include{portalLink}
questions:
# Include{global}
# Include{workload}
# Include{workloadDeployment}

# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}

  - variable: icloudpd
    group: App Configuration
    label: iCloud PD Configuration
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: apple_id
          label: Apple ID
          description: This is the Apple ID that will be used when downloading files.
          schema:
            type: string
            required: true
            default: ""
        - variable: authentication_type
          label: Authentication Type
          description: This is the type of authentication that is enabled on your iCloud account
          schema:
            type: string
            default: 2FA
            enum:
              - value: 2FA
                description: 2FA
              - value: Web
                description: Web
        - variable: icloud_china
          label: iCloud China
          description: Set this to true to use icloud.com.cm instead of icloud.com as the download source.
          schema:
            type: boolean
            default: true
        - variable: synchronisation_interval
          label: Synchronization Interval
          description: This is the number of seconds between synchronizations.
          schema:
            type: int
            default: 86400
        - variable: synchronisation_delay
          label: Synchronization Delay
          description: This is the number of minutes to delay the first synchronization.
          schema:
            type: int
            default: 0
        - variable: notification_days
          label: Notification Days
          description: When your cookie is nearing expiration, this is the number of days in advance it should notify you.
          schema:
            type: int
            default: 7
        - variable: photo_size
          label: Photo Size
          description: Image size to download
          schema:
            type: string
            default: original
            enum:
              - value: original
                description: original
              - value: medium
                description: medium
              - value: thumb
                description: thumb
        - variable: live_photo_size
          label: Live Photo Size
          description: Live photo file size to download.
          schema:
            type: string
            default: original
            enum:
              - value: original
                description: original
              - value: medium
                description: medium
              - value: thumb
                description: thumb
        - variable: recent_only
          label: Recent Only
          description: Set this to an integer number to only download this many recently added photos. Set to 0 to download all
          schema:
            type: int
            default: 0
        - variable: until_found
          label: Until Found
          description: Set this to an integer number to only download the most recently added photos, until n number of previously downloaded consecutive photos are found. Set to 0 to download all
          schema:
            type: int
            default: 0
        - variable: photo_album
          label: Photo Album
          description: Set this to the name of an album to only download photos from a single album. Set to empty to download all
          schema:
            type: string
            default: ""
        - variable: set_exif_datetime
          label: Set EXIF Date Time
          description: Write the DateTimeOriginal EXIF tag from file creation date.
          schema:
            type: boolean
            default: false
        - variable: convert_heic_to_jpeg
          label: Convert HEIC to JPEG
          description: Set this to True to convert downloaded HEIC files to JPEG, while also retaining the original.
          schema:
            type: boolean
            default: false
        - variable: jpeg_quality
          label: JPEG Quality
          description:  If HEIC to JPEG conversion is enabled, this variable will let you set the quality of the converted file by specifying a number from 0 (lowest quality) to 100 (highest quality)
          schema:
            type: int
            default: 90
        - variable: skip_check
          label: Skip Check
          description: Set this to True skip the check for new files. The check can have issues with large libraries.
          schema:
            type: boolean
            default: false
        - variable: skip_live_photos
          label: Skip Live Photos
          description: If this is set, it will skip downloading live photos.
          schema:
            type: boolean
            default: false
        - variable: skip_videos
          label: Skip Videos
          description: If this is set, it will skip downloading videos.
          schema:
            type: boolean
            default: false
        - variable: auto_delete
          label: Auto Delete
          description: Scans the "Recently Deleted" folder and deletes any files found in there.
          schema:
            type: boolean
            default: false
        - variable: download_notifications
          label: Download Notifications
          description: Specifies whether notifications with a short summary should be sent for file downloads.
          schema:
            type: boolean
            default: false
        - variable: delete_notifications
          label: Delete Notifications
          description: Specifies whether notifications with a short summary should be sent for file deletions.
          schema:
            type: boolean
            default: false
        - variable: delete_accompanying
          label: Delete Accompanying
          description: Tells the script to delete files which accompany the HEIC files that are downloaded.
          schema:
            type: boolean
            default: false
        - variable: delete_empty_directories
          label: Delete Empty Directories
          description: Tells the script to delete any empty directories it finds in the download path.
          schema:
            type: boolean
            default: false
        - variable: command_line_options
          label: Command Line Options
          description: This is for additional command line options you want to pass to the iCloud PD application.
          schema:
            type: string
            default: ""
        - variable: notification_type
          label: Notification Type
          description: This specifies the method that is used to send notifications. You need to manually add the environments variables
            for your selected notification type, using the "Extra Environment Variables Section"
            More info about the variables needed here. https://github.com/boredazfcuk/docker-icloudpd/blob/master/NOTIFICATIONS.md
          schema:
            type: string
            default: No Type
            enum:
              - value: ""
                description: No type
              - value: Prowl
                description: Prowl
              - value: Pushover
                description: Pushover
              - value: Telegram
                description: Telegram
              - value: Webhook
                description: Webhook
              - value: Openhab
                description: Openhab
              - value: Dingtalk
                description: Dingtalk
              - value: Discord
                description: Discord
              - value: IYUU
                description: IYUU
              - value: WeCom
                description: WeCom
              - value: Gotify
                description: Gotify
              - value: Bark
                description: Bark
# Include{containerConfig}
# Include{serviceExpertRoot}
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: config
          label: Config Storage
          description: Stores Applications Configuration
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: data
          label: Data Storage
          description: Stores iCloud Downloaded Data
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
# Include{persistenceList}
# Include{securityContextRoot}
              - variable: runAsUser
                label: runAsUser
                description: The UserID of the user running the application
                schema:
                  type: int
                  default: 0
              - variable: runAsGroup
                label: runAsGroup
                description: The groupID of the user running the application
                schema:
                  type: int
                  default: 0
# Include{securityContextContainer}
# Include{securityContextAdvanced}
# Include{securityContextPod}
              - variable: fsGroup
                label: fsGroup
                description: The group that should own ALL storage.
                schema:
                  type: int
                  default: 568

# Include{resources}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{netshoot}
# Include{vpn}
# Include{documentation}
