Add google service root
This commit introduces the following
=> Service root for Google
=> compiler option for the Google Root of Trust specific functionalities
Tested:
curl -vvvv --insecure --user $user_pass https://${bmc}/google/v1
Desing Doc can be found here https://github.com/openbmc/docs/blob/master/designs/oem/google/root_of_trust.md
Change-Id: I941b5cab55179279d0eff18aa29df62c3f226e47
Signed-off-by: Feras Aldahlawi <faldahlawi@gmail.com>
diff --git a/static/google/v1/$metadata/index.xml b/static/google/v1/$metadata/index.xml
new file mode 100644
index 0000000..57a64af
--- /dev/null
+++ b/static/google/v1/$metadata/index.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
+ <edmx:Reference Uri="/google/v1/schema/ServiceRoot_v1.xml">
+ <edmx:Include Namespace="GoogleServiceRoot"/>
+ <edmx:Include Namespace="GoogleServiceRoot.v1_0_0"/>
+ </edmx:Reference>
+</edmx:Edmx>
diff --git a/static/google/v1/odata/index.json b/static/google/v1/odata/index.json
new file mode 100644
index 0000000..3b5896b
--- /dev/null
+++ b/static/google/v1/odata/index.json
@@ -0,0 +1,25 @@
+{
+ "@odata.context": "/google/v1/$metadata",
+ "value": [
+ {
+ "kind": "Singleton",
+ "name": "$metadata",
+ "url": "/google/v1/$metadata"
+ },
+ {
+ "kind": "Singleton",
+ "name": "odata",
+ "url": "/google/v1/odata"
+ },
+ {
+ "kind": "Singleton",
+ "name": "Service",
+ "url": "/google/v1/"
+ },
+ {
+ "kind": "Singleton",
+ "name": "ServiceRoot",
+ "url": "/google/v1/ServiceRoot"
+ }
+ ]
+}
diff --git a/static/google/v1/schema/ServiceRoot_v1.xml b/static/google/v1/schema/ServiceRoot_v1.xml
new file mode 100644
index 0000000..59771b6
--- /dev/null
+++ b/static/google/v1/schema/ServiceRoot_v1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---->
+<!--################################################################################ -->
+<!--# Google Schema: GoogleServiceRoot v1.0.0 -->
+<!--# -->
+<!--################################################################################ -->
+<!---->
+<edmx:Edmx Version="1.0">
+
+ <edmx:DataServices>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="GoogleServiceRoot">
+
+ <EntityType Name="ServiceRoot" BaseType="Resource.v1_0_0.Resource" Abstract="true">
+ <Annotation Term="OData.Description" String="The GoogleServiceRoot schema describes the root of the Google Service, located at the '/google/v1' URI. All other Resources accessible through the Google interface on this device are linked directly or indirectly from the Service Root."/>
+ <Annotation Term="OData.LongDescription" String="This Resource represents the root Google Service. All values that this schema describes for Resources shall comply with the Google Specification-described requirements."/>
+ </EntityType>
+
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="GoogleServiceRoot.v1_0_0">
+
+ <EntityContainer Name="ServiceContainer">
+ <Singleton Name="Service" Type="ServiceRoot.ServiceRoot"/>
+ <Singleton Name="JsonSchemas" Type="JsonSchemaFileCollection.JsonSchemaFileCollection"/>
+ </EntityContainer>
+
+ <EntityType Name="ServiceRoot" BaseType="ServiceRoot.ServiceRoot">
+ <Property Name="Version" Type="Edm.String" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The version of the Google Service."/>
+ <Annotation Term="OData.LongDescription" String="This property shall represent the Google protocol version."/>
+ <Annotation Term="Validation.Pattern" String="^\d+\.\d+\.\d+$"/>
+ </Property>
+ <NavigationProperty Name="JsonSchemas" Type="JsonSchemaFileCollection.JsonSchemaFileCollection" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The link to a collection of JSON Schema files."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain a link to a Resource Collection of type JsonSchemaFileCollection."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ </EntityType>
+
+ </Schema>
+
+ </edmx:DataServices>
+</edmx:Edmx>