Commit bb735ebc authored by ethiraj krishnamanaidu's avatar ethiraj krishnamanaidu
Browse files

Merge branch '32-schema-service-r3-schema-snapshot' into 'master'

Resolve "[Schema Service] R3 schema snapshot"

Closes #32

See merge request !76
parents eaab30cb dd66e59d
Pipeline #24564 passed with stages
in 29 minutes and 25 seconds
...@@ -38,6 +38,9 @@ target/ ...@@ -38,6 +38,9 @@ target/
hs_err_pid* hs_err_pid*
*local.properties *local.properties
# Python virtualenv
/venv/
dist/ dist/
# Environment configuration # Environment configuration
......
...@@ -26,6 +26,7 @@ variables: ...@@ -26,6 +26,7 @@ variables:
AWS_BUILD_SUBDIR: provider/schema-aws/build-aws AWS_BUILD_SUBDIR: provider/schema-aws/build-aws
AWS_TEST_SUBDIR: testing/schema-test-core AWS_TEST_SUBDIR: testing/schema-test-core
AWS_DEPLOYMENTS_SUBDIR: deployments/scripts/aws
AWS_SERVICE: schema AWS_SERVICE: schema
AWS_ENVIRONMENT: dev AWS_ENVIRONMENT: dev
AWS_MAVEN_TEST_COMMAND_OVERRIDE: verify AWS_MAVEN_TEST_COMMAND_OVERRIDE: verify
...@@ -65,3 +66,4 @@ include: ...@@ -65,3 +66,4 @@ include:
file: 'cloud-providers/osdu-gcp-cloudrun.yml' file: 'cloud-providers/osdu-gcp-cloudrun.yml'
- local: "/devops/azure/gitlab-bootstrap.yml" - local: "/devops/azure/gitlab-bootstrap.yml"
- local: "/devops/aws/bootstrap.yaml"
# Open Subsurface Data Universe JSON Schemas # R2 Open Subsurface Data Universe JSON Schemas
Used to maintain the OSDU resorce type schemas. The schemas have been removed as their original definition did
not conform to the Storage service expectations. There was no
Core Schema service available in R2.
## The repository has the following structure The first Storage service compliant schemas are introduced in
R3. See [../R3-json-schema](../R3-json-schema).
repo-root/ \ No newline at end of file
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"Files": {
"items": {
"additionalProperties": false,
"properties": {
"AssociativeID": {
"pattern": "f-[0-9]+",
"type": "string"
},
"Data": {
"additionalProperties": false,
"properties": {
"ExtensionProperties": {
"properties": {},
"type": "object"
},
"GroupTypeProperties": {
"properties": {
"PreLoadFilePath": {
"type": "string"
}
},
"required": [
"PreLoadFilePath"
],
"type": "object"
},
"IndividualTypeProperties": {
"properties": {},
"type": "object"
}
},
"required": [
"GroupTypeProperties"
],
"type": "object"
},
"ResourceSecurityClassification": {
"pattern": "srn:reference-data/ResourceSecurityClassification:RESTRICTED|CLASSIFIED|CONFIDENTIAL|MOST-CONFIDENTIAL:[0-9]*",
"type": "string"
},
"ResourceTypeID": {
"pattern": "srn:type:file/[A-Za-z0-9-]+:[0-9]*",
"type": "string"
}
},
"required": [
"ResourceTypeID",
"ResourceSecurityClassification",
"Data",
"AssociativeID"
],
"type": "object"
},
"type": "array"
},
"WorkProduct": {
"additionalProperties": false,
"properties": {
"ComponentsAssociativeIDs": {
"items": {
"pattern": "wpc-[0-9]+",
"type": "string"
},
"type": "array"
},
"Data": {
"additionalProperties": false,
"properties": {
"ExtensionProperties": {
"properties": {},
"type": "object"
},
"GroupTypeProperties": {
"properties": {},
"type": "object"
},
"IndividualTypeProperties": {
"properties": {
"Description": {
"type": "string"
},
"Name": {
"type": "string"
}
},
"required": [
"Name",
"Description"
],
"type": "object"
}
},
"required": [
"IndividualTypeProperties"
],
"type": "object"
},
"ResourceSecurityClassification": {
"pattern": "srn:reference-data/ResourceSecurityClassification:RESTRICTED|CLASSIFIED|CONFIDENTIAL|MOST-CONFIDENTIAL:[0-9]*",
"type": "string"
},
"ResourceTypeID": {
"pattern": "srn:type:work-product/[A-Za-z]+:[0-9]*",
"type": "string"
}
},
"required": [
"ResourceTypeID",
"ResourceSecurityClassification",
"ComponentsAssociativeIDs",
"Data"
],
"type": "object"
},
"WorkProductComponents": {
"items": {
"additionalProperties": false,
"properties": {
"AssociativeID": {
"pattern": "wpc-[0-9]+",
"type": "string"
},
"Data": {
"additionalProperties": false,
"properties": {
"ExtensionProperties": {
"properties": {},
"type": "object"
},
"GroupTypeProperties": {
"properties": {},
"type": "object"
},
"IndividualTypeProperties": {
"properties": {
"Description": {
"type": "string"
},
"Name": {
"type": "string"
}
},
"required": [
"Name",
"Description"
],
"type": "object"
}
},
"required": [
"IndividualTypeProperties"
],
"type": "object"
},
"FileAssociativeIDs": {
"items": {
"pattern": "f-[0-9]+",
"type": "string"
},
"type": "array"
},
"ResourceSecurityClassification": {
"pattern": "srn:reference-data/ResourceSecurityClassification:RESTRICTED|CLASSIFIED|CONFIDENTIAL|MOST-CONFIDENTIAL:[0-9]*",
"type": "string"
},
"ResourceTypeID": {
"pattern": "srn:type:work-product-component/[A-Za-z]+:[0-9]*",
"type": "string"
}
},
"required": [
"ResourceTypeID",
"ResourceSecurityClassification",
"AssociativeID",
"FileAssociativeIDs",
"Data"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"WorkProduct",
"WorkProductComponents",
"Files"
],
"title": "WorkProductLoadManifestStagedFiles",
"type": "object"
}
\ No newline at end of file
{
"$id":"https://schema.osdu.opengroup.org/json/data-collection/DataCollection/1",
"$schema":"http://json-schema.org/draft-07/schema#",
"title":"DataCollection",
"type":"object",
"properties":{
"ResourceTypeID":{
"description":"The SRN of the resource's resource type.",
"type":"string",
"pattern":"srn:type:data-collection/DataCollection:[0-9]+$"
},
"ResourceID":{
"description":"The SRN which identifies this OSDU resource object at the version level.",
"type":"string",
"pattern":"srn:data-collection/DataCollection:[^/:]+:[0-9]+$"
},
"ResourceHomeRegionID": {
"description": "The name of the home [cloud environment] region for this OSDU resource object.",
"type": "string",
"pattern": "srn::reference-data/OSDURegion:[A-Za-z0-9-]+:[0-9]*$"
},
"ResourceHostRegionIDs": {
"description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
"type": "array",
"items": {
"type": "string",
"pattern": "srn::reference-data/OSDURegion:[A-Za-z0-9-]+:[0-9]*$"
}
},
"ResourceObjectCreationDateTime": {
"description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
"type": "string",
"format": "date-time"
},
"ResourceVersionCreationDateTime": {
"description": "Timestamp of the time when the current version of this resource entered the OSDU.",
"type": "string",
"format": "date-time"
},
"ResourceCurationStatus": {
"description": "Describes the current Curation status. Possible values - CREATED, CURATING, CURATED.",
"type": "string",
"pattern": "srn::reference-data/ResourceCurationStatus:[^/:]+:[0-9]*$"
},
"ResourceLifecycleStatus": {
"description": "Describes the current Resource Lifecycle status. Possible values - LOADING, RECIEVED, ACCEPTED, RESCINDED, DELETED",
"type": "string",
"pattern": "srn::reference-data/ResourceLifecycleStatus:[^/:]+:[0-9]*$"
},
"ResourceSecurityClassification": {
"description": "Classifies the security level of the resourcse. Possible values = RESTRICTED, CLASSIFIED, CONFIDENTIAL, MOST-CONFIDENTIAL ",
"type": "string",
"pattern": "srn::reference-data/ResourceSecurityClassification:[^/:]+:[0-9]*$"
},
"Data": {
"type": "object",
"properties": {
"GroupTypeProperties": {
"type": "object",
"properties": {
"Resources": {
"description":"List of Resources",
"type":"array",
"items": {
"type": "string",
"pattern": "srn::(?:work-product(?:-component)?|data-collection)/[A-Za-z]+:[^/:]+:[0-9]*$"
}
}
},
"required": [
"Resources"
],
"additionalProperties": false
},
"IndividualTypeProperties": {
"type": "object",
"properties": {
"Name": {
"type": "string",
"description": "Name"
},
"Description": {
"type": "string",
"description": "Description"
},
"CreationDateTime": {
"type": "string",
"format": "date-time",
"description": "Creation DateTime"
},
"Tags": {
"type": "array",
"description": "Array of Tag Names",
"items": {
"type": "string"
}
},
"SubmitterName": {
"type": "string",
"description": "Submitter Name"
},
"AuthorIDs": {
"type": "array",
"description": "Array of Author IDs",
"items": {
"type": "string"
}
},
"OwnerID": {
"description":"ID of the User who owns the Collection",
"type":"string"
},
"WorkSpaceID": {
"description":"Collection Workspace",
"type":"string",
"pattern": "srn::workspace/[A-Za-z]+:[^/:]+:[0-9]*$"
},
"FilterSpecification": {
"description":"Collection Filter Specification",
"type":"object",
"properties":{}
}
},
"required": [
"Name",
"OwnerID"
],
"additionalProperties": false
},
"ExtensionProperties":{
"type":"object",
"properties":{
}
}
},
"required": [
"GroupTypeProperties",
"IndividualTypeProperties"
]
}
},
"required":[
"ResourceTypeID",
"ResourceID",
"ResourceHomeRegionID",
"ResourceHostRegionIDs",
"ResourceObjectCreationDateTime",
"ResourceVersionCreationDateTime",
"ResourceCurationStatus",
"ResourceLifecycleStatus",
"ResourceSecurityClassification",
"Data"
],
"additionalProperties":false
}
{
"$id": "https://schema.osdu.opengroup.org/json/swps/common/File/1",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "File",
"type": "object",
"properties": {
"ResourceTypeID": {
"description": "The SRN of the resource's resource type.",
"type": "string",
"pattern": "srn:type:file/[A-Za-z0-9-]+:[0-9]+$"
},
"ResourceID": {
"description": "The SRN which identifies this OSDU resource object at the version level.",
"type": "string",
"pattern": "srn:file/[A-Za-z0-9-]+:[^/:]+:[0-9]+$"
},
"ResourceHomeRegionID": {
"description": "The name of the home [cloud environment] region for this OSDU resource object.",
"type": "string",
"pattern": "srn:reference-data/OSDURegion:[A-Za-z0-9-]+:[0-9]*$"
},
"ResourceHostRegionIDs": {
"description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
"type": "array",
"items": {
"type": "string",
"pattern": "srn:reference-data/OSDURegion:[A-Za-z0-9-]+:[0-9]*$"
}
},
"ResourceObjectCreationDateTime": {
"description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
"type": "string",
"format": "date-time"
},
"ResourceVersionCreationDateTime": {
"description": "Timestamp of the time when the current version of this resource entered the OSDU.",
"type": "string",
"format": "date-time"
},
"ResourceCurationStatus": {
"description": "Describes the current Curation status. Possible values - CREATED, CURATING, CURATED.",
"type": "string",
"pattern": "srn:reference-data/ResourceCurationStatus:[^/:]+:[0-9]*$"
},
"ResourceLifecycleStatus": {
"description": "Describes the current Resource Lifecycle status. Possible values - LOADING, RECIEVED, ACCEPTED, RESCINDED, DELETED,",
"type": "string",
"pattern": "srn:reference-data/ResourceLifecycleStatus:[^/:]+:[0-9]*$"
},
"ResourceSecurityClassification": {
"description": "Classifies the security level of the resourcse. Possible values = RESTRICTED, CLASSIFIED, CONFIDENTIAL, MOST-CONFIDENTIAL ",
"type": "string",
"pattern": "srn:reference-data/ResourceSecurityClassification:[^/:]+:[0-9]*$"
},
"Data": {
"type": "object",
"properties": {
"GroupTypeProperties": {
"type": "object",
"properties": {
"SchemaFormatTypeID": {
"type": "string",
"description": "Schema Format Type ID",
"pattern": "srn:reference-data/SchemaFormatType:[^/:]+:[0-9]*$"
},
"PreLoadFilePath": {
"description": "File system path to the data file as it existed before loading to the data platform",
"type": "string"
},
"FileSource": {
"description": "URL or file path for the data in the file",
"type": "string"
},
"FileSize": {
"description": "Length of file in bytes",
"type": "integer"
},
"EncodingFormatTypeID": {
"type": "string",
"description": "Encoding Format Type ID",
"pattern": "srn:reference-data/EncodingFormatType:[^/:]+:[0-9]*$"
},
"Checksum": {
"description": "MD5 checksum of file bytes - a 32 byte hexadecimal number",
"type": "string",
"pattern": "[0-9a-fA-F]{32}"
}
}
},
"IndividualTypeProperties": {
"type": "object",
"properties": {
}
},
"ExtensionProperties": {
"type": "object",
"properties": {
}
}
}
}
},
"required":[
"ResourceID",
"ResourceTypeID",
"ResourceHomeRegionID",
"ResourceHostRegionIDs",
"ResourceObjectCreationDateTime",
"ResourceVersionCreationDateTime",
"ResourceCurationStatus",
"ResourceLifecycleStatus",
"ResourceSecurityClassification"
],
"additionalProperties": false
}
{
"$id": "https://schema.osdu.opengroup.org/json/smds/master-data/Agreement/1",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Agreement",
"description": "A contract or other covenant between Company and counterparties which is relevant to the data universe because it includes terms governing use of data.",
"type": "object",
"properties": {
"ResourceTypeID": {
"description": "The SRN of the resource's resource type.",
"type": "string",
"pattern": "srn:type:master-data/Agreement:[0-9]+"
},
"ResourceID": {
"description": "The SRN which identifies this OSDU resource object at the version level.",
"type": "string",
"pattern": "srn:master-data/Agreement:[^:]+:[0-9]+"
},
"ResourceHomeRegionID": {
"description": "The name of the home [cloud environment] region for this OSDU resource object.",
"type": "string",
"pattern": "srn:reference-data/OSDURegion:[A-Za-z0-9-]+:[0-9]*"
},
"ResourceHostRegionIDs": {
"description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
"type": "array",
"items": {
"type": "string",
"pattern": "srn:reference-data/OSDURegion:[A-Za-z0-9-]+:[0-9]*"
}
},
"ResourceObjectCreationDateTime": {
"description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
"type": "string",
"format": "date-time"
},
"ResourceVersionCreationDateTime": {
"description": "Timestamp of the time when the current version of this resource entered the OSDU.",
"type": "string",
"format": "date-time"
},
"ResourceCurationStatus": {
"description": "Describes the current Curation status. Possible values - CREATED, CURATING, CURATED.",
"type": "string",
"pattern": "srn:reference-data/ResourceCurationStatus:CREATED|CURATING|CURATED:[0-9]*"
},
"ResourceLifecycleStatus": {
"description": "Describes the current Resource Lifecycle status. Possible values - LOADING, RECIEVED, ACCEPTED, RESCINDED, DELETED,",
"type": "string",
"pattern":