Bin
2025-12-16 9e0b2ba2c317b1a86212f24cbae3195ad1f3dbfa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# 1x3 grid
title_bucket_prefix: &title_bucket_prefix
  - type: text
    name: title
    label: Storage Name
    required: true
  - type: text
    name: bucket
    label: Bucket Name
    allowEmpty: false
    required: true
  - type: text
    name: prefix
    label: Bucket Prefix
 
# 2x3 grid
aws_params_import: &aws_params_import
  - type: text
    name: region_name
    label: Region Name
    placeholder: us-east-1
  - type: text
    name: s3_endpoint
    label: S3 Endpoint
  - null
  - type: password
    name: aws_access_key_id
    label: Access Key ID
    autoComplete: "off"
    skipAutofill: true
    allowEmpty: false
    protectedValue: true
    tooltip: "Leave blank if already set up as an Environment Variable."
  - type: password
    name: aws_secret_access_key
    label: Secret Access Key
    autoComplete: "new-password"
    skipAutofill: true
    allowEmpty: false
    protectedValue: true
    tooltip: "Leave blank if already set up as an Environment Variable."
  - type: password
    name: aws_session_token
    autoComplete: "new-password"
    label: Session Token
    skipAutofill: true
    allowEmpty: true
    protectedValue: true
 
# 2x3 grid
aws_params_export: &aws_params_export
  - type: text
    name: region_name
    label: Region Name
    placeholder: us-east-1
  - type: text
    name: s3_endpoint
    label: S3 Endpoint
  - type: text
    name: aws_sse_kms_key_id
    label: SSE KMS Key ID
  - type: password
    name: aws_access_key_id
    label: Access Key ID
    autoComplete: "off"
    skipAutofill: true
    allowEmpty: false
    protectedValue: true
  - type: password
    name: aws_secret_access_key
    label: Secret Access Key
    autoComplete: "new-password"
    skipAutofill: true
    allowEmpty: false
    protectedValue: true
  - type: password
    name: aws_session_token
    autoComplete: "new-password"
    label: Session Token
    skipAutofill: true
    allowEmpty: true
    protectedValue: true
 
 
ImportStorage:
  # Title, Bucket, Prefix
  - columnCount: 3
    fields: *title_bucket_prefix
  # Regex filter
  - columnCount: 1
    fields:
      - type: text
        name: regex_filter
        label: File Filter Regex
        placeholder: '.*csv or .*(jpe?g|png|tiff) or .\w+-\d+.text'
        validators:
          - regexp
  # AWS specific params
  - columnCount: 3
    fields: *aws_params_import
 
  # Import method selection
  - columnCount: 1
    fields:
      - type: select
        name: use_blob_urls
        label: Import method
        description: Choose how to import your data from storage
        placeholder: "Select an option"
        required: true
        options:
          - value: true
            label: "Files - Automatically creates a task for each storage object (e.g. JPG, MP3, TXT)"
          - value: false
            label: "Tasks - Treat each JSON or JSONL file as a task definition (one or more tasks per file)"
 
  # 2 column grid
  - columnCount: 2
    columns:
      - width: 468
        fields:
        - type: toggle
          name: presign
          label: "Use pre-signed URLs (On)\n Proxy through the platform (Off)"
          description: "When pre-signed URLs are enabled, all data bypasses the platform and user browsers directly read data from storage"
          value: true
      - fields:
        - type: counter
          name: presign_ttl
          label: Expire pre-signed URLs (minutes)
          min: 1
          value: 15
          dependency: presign
  - columnCount: 1
    columns:
      - fields:
          - type: toggle
            name: recursive_scan
            label: Scan all sub-folders
            description: Include files from all nested folders
 
ExportStorage:
  - columnCount: 3
    fields: *title_bucket_prefix
  - columnCount: 3
    fields: *aws_params_export
  # 1 columns grid
  - columnCount: 1
    columns:
      - fields:
          - type: toggle
            name: can_delete_objects
            label: Can delete objects from storage
            description: If unchecked, annotations will not be deleted from storage