Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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}"
{code}

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 = "^(http:////synapse.sagebase.org/#).+"
{code}

h5. version

Logical Rules
* will be in format 
version

Logical Rules

  • will be in format 1.0.0

...

  • so

...

  • numbers,

...

  • period,

...

  • numbers,

...

  • period,

...

  • numbers

...

Needs

...

Pattern

...

=

...

yes

...

Code Block
Suggested Regular Expression = "\\d{1,2}\\.\\d{1,2}\\.\\d{1,2}"
{code}

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


{code}
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}"
{code}

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 = "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}"
{code}

h5. modifiedOn

Logical Rules
* 
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 = "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}"
{code}

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


{code}
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 = "\\S+"
{code}

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


{code}
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 = "\\S+"
{code}

h5. annotations

Logical Rules
* are strings
* can be different number of words
* can contain symbols

Needs Pattern = no

h5. accessControlList

Logical Rules
* example 
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 Regular Expression = "/(dataset|layer|location|project|preview|eula|agreement|folder|analysis|step|code)/\\d{1,7}/acl"
{code}

h5. parentId

Logical Rules
* represented by a long
* will never be negative
* must be digits only
* must fit into java long

Needs Pattern = yes


{code}
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 = "\\d{1,7}"
{code}

h2. 

S3Token.json

...

path

Logical Rules

  • should be "https://console.aws.amazon.com/s3/home"

...

Needs

...

Pattern

...

=

...

yes

Code Block

Suggested Regular Expression 
h5. md5

Logical Rules
* needs to be 32 digits
* needs to be all lowercase a-f and 0-9
* python example \^\[a-z0-9\]{32}$/i
* John's example \[0-9a-fA-\F\]\{32\}

Needs Pattern = yes

= "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 
h5. contentType

Logical Rules

Needs Pattern

Suggested Regular Expression

h5. accessId

Logical Rules
* 20 characters
* all numbers and capitol letters = "(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 
h5. 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

= "^[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 
h5. securityToken

Logical Rules

Needs Pattern

= "^\\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 
h5. bucket

Logical Rules

Needs Pattern

Suggested Regular Expression

h5. presignedUrl

Logical Rules

Needs Pattern

Suggested Regular = "\\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

Needs Pattern = yes

Suggested Regular Expression