...
Table of Contents |
---|
This page is for json schema properties of type "string"
...
who
...
may
...
(or
...
may
...
not)
...
need
...
a
...
regular
...
expression
...
to
...
help
...
define
...
allowed
...
instances.
...
Page
...
will
...
be
...
organized
...
into
...
json
...
schemas,
...
and
...
will
...
list
...
all
...
"string"
...
type
...
properties,
...
logical
...
rules
...
for
...
defining
...
those
...
properties,
...
if
...
they
...
need
...
a
...
pattern,
...
and
...
a
...
suggested
...
regular
...
expression
...
for
...
the
...
properties
...
that
...
do
...
need
...
a
...
pattern.
...
Entity.json
...
name
Logical Rules
- must be a sting
- can be more than one word
- can have letters
- can have symbols
Needs Pattern = no
description
Logical Rules
- must be a string
Needs Pattern = no
id
Logical Rules
- represented as a long
- can only be digits
- must be a size that will fit into a java long
- will never be a negative
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "\\d{1,7}" h5. uri Logical Rules * will be |
uri
Logical Rules
- will be "synapse.sagebase.org/#"
...
- after
...
- the
...
- pound
...
- will
...
- be
...
- the
...
- type
...
- of
...
- entity,
...
- etc
...
Needs
...
Pattern
...
=
...
yes
...
Code Block |
---|
Suggested Regular Expression = h5. version Logical Rules * will be in format "^(http:////synapse.sagebase.org/#).+" |
version
Logical Rules
- will be in format 1.0.0
...
- so
...
- numbers,
...
- period,
...
- numbers,
...
- period,
...
- numbers
...
Needs
...
Pattern
...
=
...
yes
...
Code Block |
---|
Suggested Regular Expression = h5. etag Logical Rules * made up of a db long * default is 0 * can only be digits * must fit in a java long * will never be a negative Needs Pattern = yes "\\d{1,2}\\.\\d{1,2}\\.\\d{1,2}" |
etag
Logical Rules
- made up of a db long
- default is 0
- can only be digits
- must fit in a java long
- will never be a negative
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "\\d{1,7}" h5. createdOn Logical Rules * in the form of |
createdOn
Logical Rules
- in the form of java.util.Date
...
- string
...
- must
...
- conform
...
- to
...
- that
...
- structure
- example from project modifiedOn": "2011-12-07T15:01:15.528-08:00",
- example from project"createdOn": "2011-12-07T15:01:15.528-08:00",
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = h5. modifiedOn Logical Rules * "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}" |
modifiedOn
Logical Rules
- java.util.Date
...
- string
...
- must
...
- conform
...
- to
...
- that
...
- structure
- example from project modifiedOn": "2011-12-07T15:01:15.528-08:00",
- example from project"createdOn": "2011-12-07T15:01:15.528-08:00",
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = h5. createdBy Logical Rules * in the form of an email address * can also be a single word * letters and supported email characters only * no whitespace * example is admin@sagebase.org Needs Pattern = yes "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}" |
createdBy
Logical Rules
- in the form of an email address
- can also be a single word
- letters and supported email characters only
- no whitespace
- example is admin@sagebase.org
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = h5. modifiedBy Logical Rules * in the form of an email address * can also be a single word * letters and supported email characters only * no whitespace * example is admin@sagebase.org Needs Pattern = yes "\\S+" |
modifiedBy
Logical Rules
- in the form of an email address
- can also be a single word
- letters and supported email characters only
- no whitespace
- example is admin@sagebase.org
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = h5. annotations Logical Rules * are strings * can be different number of words * can contain symbols Needs Pattern = no h5. accessControlList Logical Rules * example "\\S+" |
annotations
Logical Rules
- are strings
- can be different number of words
- can contain symbols
Needs Pattern = no
accessControlList
Logical Rules
- example "/project/17496/acl"
...
- example"/dataset/17497/acl"
...
- must
...
- be
...
- a
...
- front-slash,
...
- supported
...
- type,
...
- front-slash,
...
- id,
...
- "acl"
Needs Pattern = yes
Code Block |
---|
Suggested NeedsRegular PatternExpression = "/(dataset|layer|location|project|preview|eula|agreement|folder|analysis|step|code)/\\d{1,7}/acl" |
parentId
Logical Rules
- represented by a long
- will never be negative
- must be digits only
- must fit into java long
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = h5. parentId Logical Rules * represented by a long * will never be negative * must be digits only * must fit into java long Needs Pattern = yes "\\d{1,7}" |
S3Token.json
path
Logical Rules
- should be "https://console.aws.amazon.com/s3/home"
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "https://console.aws.amazon.com/s3/home"
|
md5
Logical Rules
- needs to be 32 digits
- needs to be all a-f and 0-9
Needs Pattern = yes
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "^[a-fA-F0-9]{32}$"
|
contentType
Logical Rules
- This is not something from aws, but something from services
- is the MIME type
- "text/html" is one
- can also be application, audio, image, message, multipart, text, video, x-token
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "(text/html|application/html|audio/html|image/html|message/html|multipart/html|text/html|video/html|x-token/html)"
|
accessId
Logical Rules
- 20 characters
- all numbers and capitol letters (A-Z)
- no white spaces
- found on aws site can be between 16 to 32 characters, but I think I misinterpreted this
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "^[0-9A-Z]{20}$"
|
secretKey
Logical Rules
- letters, both lower and upper case
- A to Z
- numbers
- random characters like + and /
- 40 characters long
- no white spaces
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "^\\S{40}$"
|
securityToken
Logical Rules
- found two examples
- isfakeSessionToken
- AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L
To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z
rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp
Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE - looks like these can vary in length
- one word, no whitespace
- allow numbers, letters, and random characters
Needs Pattern = yes
Code Block |
---|
Suggested Regular Expression = "\\d{1,}"S+" |
bucket
Logical Rules
- naming rules for the buckets
- can contain lowercase letters, numbers, periods, underscores and dashes
- must start with a number or letter
- must be between 3 and 255 characters long
- must not be formatted as an ip address like 564.442.4.4
- ip issue not supported, tired several variations, including greedy
- the exact question is can it take x amount of characters and compare them against two semi-complex expressions
- having trouble finding example online
Needs Pattern = yes
Suggested Regular Expression
presignedUrl
Logical Rules
- generated example
- https://bucket.s3.amazonaws.com/key?Expires=1323383935&AWSAccessKeyId=AKIAJ32QSEKRO5UEMDWQ&Signature=4%2Fyjg%2FOdHNtBtmaM8PoGOqGfWTA%3D
- example from a test
- https://s3.amazonaws.com/devdata.sagebase.org/9876/unc.edu_COAD.AgilentG4502A_07_3.Level_2.2.0.0.tar.gz?Expires=1323468021&x-amz-security-token=fakeSessionToken&AWSAccessKeyId=fakeAccessKeyId&Signature=OuTEUoJklhzL37jFRX9pRK1RcVg%3D
- https://s3.amazonaws.com/devdata.sagebase.org/9876/unc.edu_COAD.AgilentG4502A_07_3.Level_2.2.0.0.tar.gz?Expires=1323468151&x-amz-security-token=fakeSessionToken&AWSAccessKeyId=fakeAccessKeyId&Signature=Jt1fXYZFO5e8pyKJ%2B%2B9YsFiFY6I%3D
Needs Pattern = yes
Suggested Regular Expression