diff options
author | Geora Barsky <georab@amdocs.com> | 2018-10-26 12:53:09 -0400 |
---|---|---|
committer | Geora Barsky <georab@amdocs.com> | 2018-11-01 12:36:15 -0400 |
commit | 28d58cedeba041e536d71f82325cb1d32eeba730 (patch) | |
tree | 1b3cc54c3c3d609c7dcbd469ea422d15ec022b94 /src/main | |
parent | 49cc90f205535596dfdad0cf81a5bbf6ad93f5f8 (diff) |
Enhance model to support L2 Fabric
Adding JUnit tests and swagger specs
Issue-ID: LOG-780
Change-Id: Iaf7cb19a6310ebdeef085a94f00623041aa4f89b
Signed-off-by: Geora Barsky <georab@amdocs.com>
Diffstat (limited to 'src/main')
22 files changed, 3058 insertions, 201 deletions
diff --git a/src/main/java/org/onap/pomba/common/datatypes/Attribute.java b/src/main/java/org/onap/pomba/common/datatypes/Attribute.java index 1bf32bc..c940322 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/Attribute.java +++ b/src/main/java/org/onap/pomba/common/datatypes/Attribute.java @@ -20,6 +20,7 @@ package org.onap.pomba.common.datatypes; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
+import io.swagger.annotations.ApiModelProperty;
public class Attribute {
@Expose
@@ -33,7 +34,7 @@ public class Attribute { private DataQuality dataQuality = DataQuality.ok();
public enum Name {
- adminState,
+ adminStatus,
ipAddress,
hostName,
lockedBoolean,
@@ -44,20 +45,49 @@ public class Attribute { sharedNetworkBoolean,
networkRole,
routerExternalBoolean,
- imageId
+ imageId,
+ nfNamingCode,
+ nfType,
+ nfRole,
+ nfFunction,
+ nfcNamingCode,
+ nfcNamingTypen,
+ name2,
+ equipType,
+ equipVendor,
+ equipModel,
+ swVesrion,
+ serialNumber,
+ provStatus,
+ fqdn,
+ interfaceRole,
+ interfaceType,
+ speedValue,
+ speedUnits,
+ portDescription,
+ circuitId,
+ linkType,
+ routingProtocol,
+ networkName,
+ isPortMirrored
}
+ @ApiModelProperty(value = "Name of the attribute")
public Name getName() {
return name;
}
public void setName(Name name) {
this.name = name;
}
+
+ @ApiModelProperty(value = "Value of the attribute")
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
+
+ @ApiModelProperty(value = "Data Quality indicator of the attribute")
public DataQuality getDataQuality() {
return dataQuality;
}
diff --git a/src/main/java/org/onap/pomba/common/datatypes/LInterface.java b/src/main/java/org/onap/pomba/common/datatypes/LInterface.java new file mode 100644 index 0000000..1eaf12d --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/LInterface.java @@ -0,0 +1,82 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class LInterface { + + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + @Expose + @SerializedName("port") + private Port port = new Port(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + public Port getPort() { + return port; + } + + public void setPort(Port port) { + this.port = port; + } + + +} + diff --git a/src/main/java/org/onap/pomba/common/datatypes/LogicalLink.java b/src/main/java/org/onap/pomba/common/datatypes/LogicalLink.java new file mode 100644 index 0000000..7b1de66 --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/LogicalLink.java @@ -0,0 +1,88 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class LogicalLink { + + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("modelVersionID") + private String modelVersionID; + @Expose + @SerializedName("modelInvariantUUID") + private String modelInvariantUUID; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + public String getModelVersionID() { + return modelVersionID; + } + public void setModelVersionID(String modelVersionID) { + this.modelVersionID = modelVersionID; + } + public String getModelInvariantUUID() { + return modelInvariantUUID; + } + + public void setModelInvariantUUID(String modelInvariantUUID) { + this.modelInvariantUUID = modelInvariantUUID; + } + +}
\ No newline at end of file diff --git a/src/main/java/org/onap/pomba/common/datatypes/ModelContext.java b/src/main/java/org/onap/pomba/common/datatypes/ModelContext.java index 1fc8118..0564b2f 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/ModelContext.java +++ b/src/main/java/org/onap/pomba/common/datatypes/ModelContext.java @@ -20,9 +20,13 @@ package org.onap.pomba.common.datatypes; import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
import java.util.ArrayList;
import java.util.List;
+@ApiModel(value="ModelContext")
public class ModelContext {
@Expose
@@ -35,21 +39,30 @@ public class ModelContext { @SerializedName("attributeList")
private List<Attribute> attributeList = new ArrayList<>();
@Expose
- @SerializedName("vfList")
- private List<VF> vfList = new ArrayList<>();
+ @SerializedName("vnfList")
+ private List<VNF> vnfList = new ArrayList<>();
+ @Expose
+ @SerializedName("pnfList")
+ private List<PNF> pnfList = new ArrayList<>();
+ @Expose
+ @SerializedName("networkList")
+ private List<Network> networkList = new ArrayList<>();
+ @ApiModelProperty(value = "Service object of the model")
public Service getService() {
return service;
}
public void setService(Service service) {
this.service = service;
}
+ @ApiModelProperty(value = "Data Quality indicator")
public DataQuality getDataQuality() {
return dataQuality;
}
public void setDataQuality(DataQuality dataQuality) {
this.dataQuality = dataQuality;
}
+ @ApiModelProperty(value = "List of attributes")
public List<Attribute> getAttributes() {
return attributeList;
}
@@ -59,13 +72,31 @@ public class ModelContext { public void addAttribute(Attribute attribute) {
this.attributeList.add(attribute);
}
- public List<VF> getVfs() {
- return vfList;
+ @ApiModelProperty(value = "List of VNF associated with the service instance")
+ public List<VNF> getVnfs() {
+ return vnfList;
+ }
+ public void setVnfs(List<VNF> vfList) {
+ this.vnfList = vfList;
}
- public void setVfs(List<VF> vfList) {
- this.vfList = vfList;
+ public void addVf(VNF vf) {
+ this.vnfList.add(vf);
}
- public void addVf(VF vf) {
- this.vfList.add(vf);
+ @ApiModelProperty(value = "List of PNF associated with the service instance")
+ public List<PNF> getPnfs() {
+ return pnfList;
}
+ public void setPnfs(List<PNF> pnfList) {
+ this.pnfList = pnfList;
+ }
+ public void addPnf(PNF pnf) {
+ this.pnfList.add(pnf);
+ }
+ @ApiModelProperty(value = "List of networks associated with the service instance")
+ public List<Network> getNetworkList() { return networkList; }
+ public void setNetworkList(List<Network> networkList) { this.networkList = networkList; }
+ public void addNetwork(Network network) {
+ this.networkList.add(network);
+ }
+
}
diff --git a/src/main/java/org/onap/pomba/common/datatypes/Network.java b/src/main/java/org/onap/pomba/common/datatypes/Network.java index 171c6a5..9ba96e1 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/Network.java +++ b/src/main/java/org/onap/pomba/common/datatypes/Network.java @@ -25,23 +25,26 @@ import java.util.List; public class Network {
@Expose
+ @SerializedName("uuid")
+ private String uuid;
+ @Expose
@SerializedName("name")
private String name;
@Expose
- @SerializedName("invariantUUID")
- private String invariantUuid;
- @Expose
- @SerializedName("uuid")
- private String uuid;
+ @SerializedName("modelVersionID")
+ private String modelVersionID;
@Expose
- @SerializedName("type")
- private String type;
+ @SerializedName("modelInvariantUUID")
+ private String modelInvariantUUID;
@Expose
@SerializedName("dataQuality")
private DataQuality dataQuality = DataQuality.ok();
@Expose
@SerializedName("attributeList")
private List<Attribute> attributeList = new ArrayList<>();
+ @Expose
+ @SerializedName("networkPolicyList")
+ private List<NetworkPolicy> networkPolicies = new ArrayList<>();
public String getName() {
return name;
@@ -49,24 +52,12 @@ public class Network { public void setName(String name) {
this.name = name;
}
- public String getInvariantUuid() {
- return invariantUuid;
- }
- public void setInvariantUuid(String invariantUuid) {
- this.invariantUuid = invariantUuid;
- }
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
public List<Attribute> getAttributes() {
return attributeList;
}
@@ -82,5 +73,23 @@ public class Network { public void setDataQuality(DataQuality dataQuality) {
this.dataQuality = dataQuality;
}
+ public String getModelVersionID() { return modelVersionID; }
+ public void setModelVersionID(String modelVersionID) { this.modelVersionID = modelVersionID; }
+
+ public List<NetworkPolicy> getNetworkPolicies() {
+ return networkPolicies;
+ }
+
+ public void setNetworkPolicies(List<NetworkPolicy> networkPolicies) {
+ this.networkPolicies = networkPolicies;
+ }
+
+ public String getModelInvariantUUID() {
+ return modelInvariantUUID;
+ }
+
+ public void setModelInvariantUUID(String modelInvariantUUID) {
+ this.modelInvariantUUID = modelInvariantUUID;
+ }
}
diff --git a/src/main/java/org/onap/pomba/common/datatypes/NetworkPolicy.java b/src/main/java/org/onap/pomba/common/datatypes/NetworkPolicy.java new file mode 100644 index 0000000..348642d --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/NetworkPolicy.java @@ -0,0 +1,72 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class NetworkPolicy { + + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + + +} + diff --git a/src/main/java/org/onap/pomba/common/datatypes/PInterface.java b/src/main/java/org/onap/pomba/common/datatypes/PInterface.java new file mode 100644 index 0000000..8b55aa5 --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/PInterface.java @@ -0,0 +1,92 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class PInterface { + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + @Expose + @SerializedName("physicalLinkList") + private List<PhysicalLink> physicalLinkList = new ArrayList<>(); + @Expose + @SerializedName("port") + private Port port; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + public List<PhysicalLink> getPhysicalLinkList() { + return physicalLinkList; + } + + public void setPhysicalLinkList(List<PhysicalLink> physicalLinkList) { + this.physicalLinkList = physicalLinkList; + } + + public Port getPort() { + return port; + } + + public void setPort(Port port) { + this.port = port; + } + + + +} diff --git a/src/main/java/org/onap/pomba/common/datatypes/PNF.java b/src/main/java/org/onap/pomba/common/datatypes/PNF.java new file mode 100644 index 0000000..1aa6836 --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/PNF.java @@ -0,0 +1,83 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import java.util.ArrayList; +import java.util.List; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class PNF { + + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("modelVersionID") + private String modelVersionID; + @Expose + @SerializedName("modelInvariantUUID") + private String modelInvariantUUID; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { this.dataQuality = dataQuality; } + public String getModelVersionID() { return modelVersionID; } + public void setModelVersionID(String modelVersionID) { this.modelVersionID = modelVersionID; } + + public String getModelInvariantUUID() { + return modelInvariantUUID; + } + + public void setModelInvariantUUID(String modelInvariantUUID) { + this.modelInvariantUUID = modelInvariantUUID; + } + +} diff --git a/src/main/java/org/onap/pomba/common/datatypes/PhysicalLink.java b/src/main/java/org/onap/pomba/common/datatypes/PhysicalLink.java new file mode 100644 index 0000000..e89a1de --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/PhysicalLink.java @@ -0,0 +1,72 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class PhysicalLink { + + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + + +} + diff --git a/src/main/java/org/onap/pomba/common/datatypes/Port.java b/src/main/java/org/onap/pomba/common/datatypes/Port.java new file mode 100644 index 0000000..bced3b7 --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/Port.java @@ -0,0 +1,71 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class Port { + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + + +} + diff --git a/src/main/java/org/onap/pomba/common/datatypes/Pserver.java b/src/main/java/org/onap/pomba/common/datatypes/Pserver.java new file mode 100644 index 0000000..ad04bad --- /dev/null +++ b/src/main/java/org/onap/pomba/common/datatypes/Pserver.java @@ -0,0 +1,89 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; +import java.util.ArrayList; +import java.util.List; + +public class Pserver { + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + @Expose + @SerializedName("pInterfaceList") + private List<PInterface> pInterfaceList = new ArrayList<>(); + @Expose + @SerializedName("logicalLinkList") + private List<LogicalLink> logicalLinkList = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + public List<PInterface> getPInterfaceList() { + return pInterfaceList; + } + public void setPInterfaceList(List<PInterface> pInterfaceList) { + this.pInterfaceList = pInterfaceList; + } + + public List<LogicalLink> getLogicalLinkList() { + return logicalLinkList; + } + + public void setLogicalLinkList(List<LogicalLink> logicalLinkList) { + this.logicalLinkList = logicalLinkList; + } + + +} diff --git a/src/main/java/org/onap/pomba/common/datatypes/Service.java b/src/main/java/org/onap/pomba/common/datatypes/Service.java index 1579434..b18c792 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/Service.java +++ b/src/main/java/org/onap/pomba/common/datatypes/Service.java @@ -26,14 +26,17 @@ import java.util.List; public class Service {
@Expose
+ @SerializedName("uuid")
+ private String uuid;
+ @Expose
@SerializedName("name")
private String name;
@Expose
- @SerializedName("invariantUUID")
- private String invariantUuid;
+ @SerializedName("modelVersionID")
+ private String modelVersionID;
@Expose
- @SerializedName("uuid")
- private String uuid;
+ @SerializedName("modelInvariantUUID")
+ private String modelInvariantUUID;
@Expose
@SerializedName("dataQuality")
private DataQuality dataQuality = DataQuality.ok();
@@ -47,12 +50,6 @@ public class Service { public void setName(String name) {
this.name = name;
}
- public String getInvariantUuid() {
- return invariantUuid;
- }
- public void setInvariantUuid(String invariantUuid) {
- this.invariantUuid = invariantUuid;
- }
public String getUuid() {
return uuid;
}
@@ -71,7 +68,15 @@ public class Service { public void setAttributes(List<Attribute> attributeList) {
this.attributeList = attributeList;
}
- public void addAttribute(Attribute attribute) {
- this.attributeList.add(attribute);
+ public String getModelVersionID() { return modelVersionID; }
+ public void setModelVersionID(String modelVersionID) { this.modelVersionID = modelVersionID; }
+
+ public String getModelInvariantUUID() {
+ return modelInvariantUUID;
}
+
+ public void setModelInvariantUUID(String modelInvariantUUID) {
+ this.modelInvariantUUID = modelInvariantUUID;
+ }
+
}
diff --git a/src/main/java/org/onap/pomba/common/datatypes/VFModule.java b/src/main/java/org/onap/pomba/common/datatypes/VFModule.java index 9d19dc0..3ea8ede 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/VFModule.java +++ b/src/main/java/org/onap/pomba/common/datatypes/VFModule.java @@ -26,14 +26,20 @@ import java.util.List; public class VFModule {
@Expose
+ @SerializedName("uuid")
+ private String uuid;
+ @Expose
@SerializedName("name")
private String name;
@Expose
- @SerializedName("invariantUUID")
- private String invariantUuid;
+ @SerializedName("modelVersionID")
+ private String modelVersionID;
@Expose
- @SerializedName("uuid")
- private String uuid;
+ @SerializedName("modelInvariantUUID")
+ private String modelInvariantUUID;
+ @Expose
+ @SerializedName("modelCustomizationUUID")
+ private String modelCustomizationUUID;
@Expose
@SerializedName("maxInstances")
private int maxInstances;
@@ -60,12 +66,6 @@ public class VFModule { public void setName(String name) {
this.name = name;
}
- public String getInvariantUuid() {
- return invariantUuid;
- }
- public void setInvariantUuid(String invariantUuid) {
- this.invariantUuid = invariantUuid;
- }
public String getUuid() {
return uuid;
}
@@ -117,4 +117,18 @@ public class VFModule { public void setDataQuality(DataQuality dataQuality) {
this.dataQuality = dataQuality;
}
+ public String getModelVersionID() { return modelVersionID; }
+ public void setModelVersionID(String modelVersionID) { this.modelVersionID = modelVersionID; }
+ public String getModelCustomizationUUID() { return modelCustomizationUUID; }
+ public void setModelCustomizationUUID(String modelCustomizationUUID) { this.modelCustomizationUUID = modelCustomizationUUID; }
+
+ public String getModelInvariantUUID() {
+ return modelInvariantUUID;
+ }
+
+ public void setModelInvariantUUID(String modelInvariantUUID) {
+ this.modelInvariantUUID = modelInvariantUUID;
+ }
+
+
}
diff --git a/src/main/java/org/onap/pomba/common/datatypes/VM.java b/src/main/java/org/onap/pomba/common/datatypes/VM.java index 0b4be65..1371e07 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/VM.java +++ b/src/main/java/org/onap/pomba/common/datatypes/VM.java @@ -25,23 +25,23 @@ import java.util.List; public class VM {
@Expose
- @SerializedName("name")
- private String name;
- @Expose
- @SerializedName("invariantUUID")
- private String invariantUuid;
- @Expose
@SerializedName("uuid")
private String uuid;
@Expose
- @SerializedName("nfNamingCode")
- private String nfcNamingCode;
+ @SerializedName("name")
+ private String name;
@Expose
@SerializedName("dataQuality")
private DataQuality dataQuality = DataQuality.ok();
@Expose
@SerializedName("attributeList")
private List<Attribute> attributeList = new ArrayList<>();
+ @Expose
+ @SerializedName("pServer")
+ private Pserver pServer = new Pserver();
+ @Expose
+ @SerializedName("lInterfaceList")
+ private List<LInterface> lInterfaceList = new ArrayList<>();
public String getName() {
return name;
@@ -49,24 +49,12 @@ public class VM { public void setName(String name) {
this.name = name;
}
- public String getInvariantUuid() {
- return invariantUuid;
- }
- public void setInvariantUuid(String invariantUuid) {
- this.invariantUuid = invariantUuid;
- }
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
- public String getNfcNamingCode() {
- return nfcNamingCode;
- }
- public void setNfcNamingCode(String nfcType) {
- this.nfcNamingCode = nfcType;
- }
public List<Attribute> getAttributes() {
return attributeList;
}
@@ -83,4 +71,22 @@ public class VM { this.dataQuality = dataQuality;
}
+ public Pserver getPServer() {
+ return pServer;
+ }
+
+ public void setPServer(Pserver pServer) {
+ this.pServer = pServer;
+ }
+
+ public List<LInterface> getLInterfaceList() {
+ return lInterfaceList;
+ }
+
+ public void setLInterfaceList(List<LInterface> lInterfaceList) {
+ this.lInterfaceList = lInterfaceList;
+ }
+
+
+
}
diff --git a/src/main/java/org/onap/pomba/common/datatypes/VF.java b/src/main/java/org/onap/pomba/common/datatypes/VNF.java index ded7ae2..49db2f9 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/VF.java +++ b/src/main/java/org/onap/pomba/common/datatypes/VNF.java @@ -1,111 +1,128 @@ -/*
- * ============LICENSE_START===================================================
- * Copyright (c) 2018 Amdocs
- * ============================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=====================================================
- */
-
-package org.onap.pomba.common.datatypes;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.gson.annotations.Expose;
-import com.google.gson.annotations.SerializedName;
-
-public class VF {
-
- @Expose
- @SerializedName("name")
- private String name;
- @Expose
- @SerializedName("type")
- private String type;
- @Expose
- @SerializedName("invariantUUID")
- private String invariantUuid;
- @Expose
- @SerializedName("uuid")
- private String uuid;
- @Expose
- @SerializedName("dataQuality")
- private DataQuality dataQuality = DataQuality.ok();
- @Expose
- @SerializedName("attributeList")
- private List<Attribute> attributeList = new ArrayList<>();
- @Expose
- @SerializedName("vfModuleList")
- private List<VFModule> vfModules = new ArrayList<>();
- @Expose
- @SerializedName("vnfcList")
- private List<VNFC> vnfcs = new ArrayList<>();
-
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
- public String getInvariantUuid() {
- return invariantUuid;
- }
- public void setInvariantUuid(String invariantUuid) {
- this.invariantUuid = invariantUuid;
- }
- public String getUuid() {
- return uuid;
- }
- public void setUuid(String uuid) {
- this.uuid = uuid;
- }
- public List<VFModule> getVfModules() {
- return vfModules;
- }
- public void setVfModules(List<VFModule> vfModules) {
- this.vfModules = vfModules;
- }
- public void addVfModule(VFModule vfModule) {
- this.vfModules.add(vfModule);
- }
- public List<VNFC> getVnfcs() {
- return vnfcs;
- }
- public void setVnfcs(List<VNFC> vnfc) {
- this.vnfcs = vnfc;
- }
- public void addVnfc(VNFC vnfc) {
- this.vnfcs.add(vnfc);
- }
- public List<Attribute> getAttributes() {
- return attributeList;
- }
- public void setAttributes(List<Attribute> attributeList) {
- this.attributeList = attributeList;
- }
- public void addAttribute(Attribute attribute) {
- this.attributeList.add(attribute);
- }
- public DataQuality getDataQuality() {
- return dataQuality;
- }
- public void setDataQuality(DataQuality dataQuality) {
- this.dataQuality = dataQuality;
- }
-}
+/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.datatypes; + +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class VNF { + + @Expose + @SerializedName("uuid") + private String uuid; + @Expose + @SerializedName("name") + private String name; + @Expose + @SerializedName("type") + private String type; + @Expose + @SerializedName("modelVersionID") + private String modelVersionID; + @Expose + @SerializedName("modelInvariantUUID") + private String modelInvariantUUID; + @Expose + @SerializedName("dataQuality") + private DataQuality dataQuality = DataQuality.ok(); + @Expose + @SerializedName("attributeList") + private List<Attribute> attributeList = new ArrayList<>(); + @Expose + @SerializedName("vfModuleList") + private List<VFModule> vfModules = new ArrayList<>(); + @Expose + @SerializedName("vnfcList") + private List<VNFC> vnfcs = new ArrayList<>(); + @Expose + @SerializedName("networkList") + private List<Network> networks = new ArrayList<>(); + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + public String getUuid() { + return uuid; + } + public void setUuid(String uuid) { + this.uuid = uuid; + } + public List<VFModule> getVfModules() { + return vfModules; + } + public void setVfModules(List<VFModule> vfModules) { + this.vfModules = vfModules; + } + public void addVfModule(VFModule vfModule) { + this.vfModules.add(vfModule); + } + public List<VNFC> getVnfcs() { + return vnfcs; + } + public void setVnfcs(List<VNFC> vnfc) { + this.vnfcs = vnfc; + } + public void addVnfc(VNFC vnfc) { + this.vnfcs.add(vnfc); + } + public List<Attribute> getAttributes() { + return attributeList; + } + public void setAttributes(List<Attribute> attributeList) { + this.attributeList = attributeList; + } + public void addAttribute(Attribute attribute) { + this.attributeList.add(attribute); + } + public DataQuality getDataQuality() { + return dataQuality; + } + public void setDataQuality(DataQuality dataQuality) { this.dataQuality = dataQuality; } + public String getModelVersionID() { return modelVersionID; } + public void setModelVersionID(String modelVersionID) { this.modelVersionID = modelVersionID; } + + public String getModelInvariantUUID() { + return modelInvariantUUID; + } + + public void setModelInvariantUUID(String modelInvariantUUID) { + this.modelInvariantUUID = modelInvariantUUID; + } + + public List<Network> getNetworks() { + return networks; + } + + public void setNetworks(List<Network> networks) { + this.networks = networks; + } + +} diff --git a/src/main/java/org/onap/pomba/common/datatypes/VNFC.java b/src/main/java/org/onap/pomba/common/datatypes/VNFC.java index dd697d8..f05b1cf 100644 --- a/src/main/java/org/onap/pomba/common/datatypes/VNFC.java +++ b/src/main/java/org/onap/pomba/common/datatypes/VNFC.java @@ -26,17 +26,17 @@ import java.util.List; public class VNFC {
@Expose
+ @SerializedName("uuid")
+ private String uuid;
+ @Expose
@SerializedName("name")
private String name;
@Expose
- @SerializedName("invariantUUID")
- private String invariantUuid;
+ @SerializedName("modelVersionID")
+ private String modelVersionID;
@Expose
- @SerializedName("uuid")
- private String uuid;
- @Expose
- @SerializedName("type")
- private String type;
+ @SerializedName("modelInvariantUUID")
+ private String modelInvariantUUID;
@Expose
@SerializedName("dataQuality")
private DataQuality dataQuality = DataQuality.ok();
@@ -50,24 +50,12 @@ public class VNFC { public void setName(String name) {
this.name = name;
}
- public String getInvariantUuid() {
- return invariantUuid;
- }
- public void setInvariantUuid(String invariantUuid) {
- this.invariantUuid = invariantUuid;
- }
public String getUuid() {
return uuid;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
public List<Attribute> getAttributes() {
return attributeList;
}
@@ -83,4 +71,19 @@ public class VNFC { public void setDataQuality(DataQuality dataQuality) {
this.dataQuality = dataQuality;
}
+ public String getModelVersionID() {
+ return modelVersionID;
+ }
+ public void setModelVersionID(String modelVersionID) {
+ this.modelVersionID = modelVersionID;
+ }
+
+ public String getModelInvariantUUID() {
+ return modelInvariantUUID;
+ }
+
+ public void setModelInvariantUUID(String modelInvariantUUID) {
+ this.modelInvariantUUID = modelInvariantUUID;
+ }
+
}
diff --git a/src/main/java/org/onap/pomba/common/resource/AuditResource.java b/src/main/java/org/onap/pomba/common/resource/AuditResource.java new file mode 100644 index 0000000..03058ed --- /dev/null +++ b/src/main/java/org/onap/pomba/common/resource/AuditResource.java @@ -0,0 +1,66 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END===================================================== + */ + +package org.onap.pomba.common.resource; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import io.swagger.annotations.ApiParam; +import org.onap.pomba.common.datatypes.ModelContext; + +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; + +@Api +@Path("/service") +@Produces({MediaType.APPLICATION_JSON}) +public class AuditResource { + + + @GET + @Path("/context") + @Produces({ MediaType.APPLICATION_JSON }) + @ApiOperation( + value = "Get Common model context from Context Builder", + response = ModelContext.class) + @ApiResponses(value = { + @ApiResponse(code = 404, message = "Service not available"), + @ApiResponse(code = 400, message = "Bad request"), + @ApiResponse(code = 401, message = "Unauthorized"), + @ApiResponse(code = 500, message = "Unexpected Runtime error") }) + + public ModelContext getContext( + @ApiParam(value = "ID that identifies calling application", required = true) @HeaderParam("X-FromAppId") String xFromAppId, + @ApiParam(value = "Transaction ID published by the calling application", required = false) @HeaderParam("X-TransactionId") String xTransactionId, + @ApiParam(value = "Instance ID of the audited service", required = true) @QueryParam("serviceInstanceId") String serviceInstanceId, + @ApiParam(value = "Unique identifier of a SDC model version", required = false) @QueryParam("modelVersionId") String modelVersionId, + @ApiParam(value = "Global identifier of each SDC asset", required = false) @QueryParam("modelInvariantId") String modelInvariantId + ) + + { + return null; + } + + +} diff --git a/src/main/resources/commonModel.html b/src/main/resources/commonModel.html new file mode 100644 index 0000000..3723c3b --- /dev/null +++ b/src/main/resources/commonModel.html @@ -0,0 +1,1741 @@ +<!DOCTYPE html> +<html> +<title>API Document</title> + +<xmp theme="united" style="display:none;"> +#Swagger Specification for POMBA Common Model + + +## HTTP://host:port/XXXcontextbuilder + + +POMBA Audit Context Builder API + + + +**Version** 1.4.0-SNAPSHOT + +[**Terms of Service**]() + + + + + + + + + + + + +# APIs + + +## /service/context + + +### GET + +<a id="getContext">Get Common model context from Context Builder</a> + + + + + + + + + +#### Request + + + +##### Parameters + +<table border="1"> + <tr> + <th>Name</th> + <th>Located in</th> + <th>Required</th> + <th>Description</th> + <th>Default</th> + <th>Schema</th> + </tr> + + + +<tr> + <th>X-FromAppId</th> + <td>header</td> + <td>yes</td> + <td> + ID that identifies calling application + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>X-TransactionId</th> + <td>header</td> + <td>no</td> + <td> + Transaction ID published by the calling application + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>serviceInstanceId</th> + <td>query</td> + <td>yes</td> + <td> + Instance ID of the audited service + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>modelVersionId</th> + <td>query</td> + <td>no</td> + <td> + Unique identifier of a SDC model version + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>modelInvariantId</th> + <td>query</td> + <td>no</td> + <td> + Global identifier of each SDC asset + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + + +</table> + + + +#### Response + +**Content-Type: ** application/json + + +| Status Code | Reason | Response Model | +|-------------|-------------|----------------| +| 200 | successful operation | <a href="#/definitions/ModelContext">ModelContext</a>| +| 400 | Bad request | - | +| 401 | Unauthorized | - | +| 404 | Service not available | - | +| 500 | Unexpected Runtime error | - | + + + + + + + + + + + + + + + + + + + +# Definitions + +## <a name="/definitions/Attribute">Attribute</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>Name of the attribute</td> + <td></td> + </tr> + + <tr> + <td>value</td> + <td> + + + string + + </td> + <td>optional</td> + <td>Value of the attribute</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>Data Quality indicator of the attribute</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/DataQuality">DataQuality</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>status</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>errorText</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/LInterface">LInterface</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>port</td> + <td> + + <a href="#/definitions/Port">Port</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/LogicalLink">LogicalLink</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/ModelContext">ModelContext</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>service</td> + <td> + + <a href="#/definitions/Service">Service</a> + + + </td> + <td>optional</td> + <td>Service object of the model</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>Data Quality indicator</td> + <td></td> + </tr> + + <tr> + <td>networkList</td> + <td> + + + array[<a href="#/definitions/Network">Network</a>] + + + + </td> + <td>optional</td> + <td>List of networks associated with the service instance</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>List of attributes</td> + <td></td> + </tr> + + <tr> + <td>pnfs</td> + <td> + + + array[<a href="#/definitions/PNF">PNF</a>] + + + + </td> + <td>optional</td> + <td>List of PNF associated with the service instance</td> + <td></td> + </tr> + + <tr> + <td>vnfs</td> + <td> + + + array[<a href="#/definitions/VNF">VNF</a>] + + + + </td> + <td>optional</td> + <td>List of VNF associated with the service instance</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Network">Network</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>networkPolicies</td> + <td> + + + array[<a href="#/definitions/NetworkPolicy">NetworkPolicy</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/NetworkPolicy">NetworkPolicy</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/PInterface">PInterface</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>physicalLinkList</td> + <td> + + + array[<a href="#/definitions/PhysicalLink">PhysicalLink</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>port</td> + <td> + + <a href="#/definitions/Port">Port</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/PNF">PNF</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/PhysicalLink">PhysicalLink</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Port">Port</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Pserver">Pserver</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>logicalLinkList</td> + <td> + + + array[<a href="#/definitions/LogicalLink">LogicalLink</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>pinterfaceList</td> + <td> + + + array[<a href="#/definitions/PInterface">PInterface</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Service">Service</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VFModule">VFModule</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelCustomizationUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>maxInstances</td> + <td> + + + integer (int32) + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>minInstances</td> + <td> + + + integer (int32) + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>vms</td> + <td> + + + array[<a href="#/definitions/VM">VM</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>networks</td> + <td> + + + array[<a href="#/definitions/Network">Network</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VM">VM</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>linterfaceList</td> + <td> + + + array[<a href="#/definitions/LInterface">LInterface</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>pserver</td> + <td> + + <a href="#/definitions/Pserver">Pserver</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VNF">VNF</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>type</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>vfModules</td> + <td> + + + array[<a href="#/definitions/VFModule">VFModule</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>vnfcs</td> + <td> + + + array[<a href="#/definitions/VNFC">VNFC</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>networks</td> + <td> + + + array[<a href="#/definitions/Network">Network</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VNFC">VNFC</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + + + +</xmp> + +<script src="http://strapdownjs.com/v/0.2/strapdown.js"></script> +</html>
\ No newline at end of file diff --git a/src/main/resources/markdown.hbs b/src/main/resources/markdown.hbs new file mode 100644 index 0000000..d1375ac --- /dev/null +++ b/src/main/resources/markdown.hbs @@ -0,0 +1,108 @@ +#{{#info}}{{title}} + + +## {{join schemes " | "}}://{{host}}{{basePath}} + + +{{description}} + +{{#contact}} +[**Contact the developer**](mailto:{{email}}) +{{/contact}} + +**Version** {{version}} + +[**Terms of Service**]({{termsOfService}}) + +{{#license}}[**{{name}}**]({{url}}){{/license}} + +{{/info}} + +{{#if consumes}}**Consumes:** {{join consumes ", "}}{{/if}} + +{{#if produces}}**Produces:** {{join produces ", "}}{{/if}} + +{{#if securityDefinitions}} +# Security Definitions +{{/if}} +{{> security}} + +# APIs + +{{#each paths}} +## {{@key}} +{{#this}} +{{#get}} +### GET +{{> operation}} +{{/get}} + +{{#put}} +### PUT +{{> operation}} +{{/put}} + +{{#post}} +### POST + +{{> operation}} + +{{/post}} + +{{#delete}} +### DELETE +{{> operation}} +{{/delete}} + +{{#option}} +### OPTION +{{> operation}} +{{/option}} + +{{#patch}} +### PATCH +{{> operation}} +{{/patch}} + +{{#head}} +### HEAD +{{> operation}} +{{/head}} + +{{/this}} +{{/each}} + +# Definitions +{{#each definitions}} +## <a name="/definitions/{{@key}}">{{@key}}</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + {{#each this.properties}} + <tr> + <td>{{@key}}</td> + <td> + {{#ifeq type "array"}} + {{#items.$ref}} + {{type}}[<a href="{{items.$ref}}">{{basename items.$ref}}</a>] + {{/items.$ref}} + {{^items.$ref}}{{type}}[{{items.type}}]{{/items.$ref}} + {{else}} + {{#$ref}}<a href="{{$ref}}">{{basename $ref}}</a>{{/$ref}} + {{^$ref}}{{type}}{{#format}} ({{format}}){{/format}}{{/$ref}} + {{/ifeq}} + </td> + <td>{{#required}}required{{/required}}{{^required}}optional{{/required}}</td> + <td>{{#description}}{{{description}}}{{/description}}{{^description}}-{{/description}}</td> + <td>{{example}}</td> + </tr> + {{/each}} +</table> +{{/each}} + diff --git a/src/main/resources/operation.hbs b/src/main/resources/operation.hbs new file mode 100644 index 0000000..3d7d88e --- /dev/null +++ b/src/main/resources/operation.hbs @@ -0,0 +1,80 @@ +{{#deprecated}}-deprecated-{{/deprecated}} +<a id="{{operationId}}">{{summary}}</a> + +{{description}} + +{{#if externalDocs.url}}{{externalDocs.description}}. [See external documents for more details]({{externalDocs.url}}) +{{/if}} + +{{#if security}} +#### Security +{{/if}} + +{{#security}} +{{#each this}} +* {{@key}} +{{#this}} * {{this}} +{{/this}} +{{/each}} +{{/security}} + +#### Request + +{{#if consumes}} +**Content-Type: ** {{join consumes ", "}}{{/if}} + +##### Parameters +{{#if parameters}} +<table border="1"> + <tr> + <th>Name</th> + <th>Located in</th> + <th>Required</th> + <th>Description</th> + <th>Default</th> + <th>Schema</th> + </tr> +{{/if}} + +{{#parameters}} +<tr> + <th>{{name}}</th> + <td>{{in}}</td> + <td>{{#if required}}yes{{else}}no{{/if}}</td> + <td> + {{description}}{{#if pattern}} (**Pattern**: `{{pattern}}`){{/if}} + {{#if enum}} + <p> + <b>Allowable values</b>: {{#join enum ", "}} {{this}}{{/join}} + </p> + {{/if}} + </td> + <td>{{#if defaultValue}}{{defaultValue}}{{else}} - {{/if}}</td> +{{#ifeq in "body"}} + <td> + {{#ifeq schema.type "array"}}Array[<a href="{{schema.items.$ref}}">{{basename schema.items.$ref}}</a>]{{/ifeq}} + {{#schema.$ref}}<a href="{{schema.$ref}}">{{basename schema.$ref}}</a> {{/schema.$ref}} + </td> +{{else}} + {{#ifeq type "array"}} + <td>Array[{{items.type}}] ({{collectionFormat}})</td> + {{else}} + <td>{{type}} {{#format}}({{format}}){{/format}}</td> + {{/ifeq}} +{{/ifeq}} +</tr> +{{/parameters}} +{{#if parameters}} +</table> +{{/if}} + + +#### Response + +{{#if produces}}**Content-Type: ** {{join produces ", "}}{{/if}} + + +| Status Code | Reason | Response Model | +|-------------|-------------|----------------| +{{#each responses}}| {{@key}} | {{description}} | {{#schema.$ref}}<a href="{{schema.$ref}}">{{basename schema.$ref}}</a>{{/schema.$ref}}{{#ifeq schema.type "array"}}Array[<a href="{{schema.items.$ref}}">{{basename schema.items.$ref}}</a>]{{/ifeq}}{{^schema}} - {{/schema}}| +{{/each}} diff --git a/src/main/resources/security.hbs b/src/main/resources/security.hbs new file mode 100644 index 0000000..04f86e8 --- /dev/null +++ b/src/main/resources/security.hbs @@ -0,0 +1,88 @@ +{{#each securityDefinitions}} +### {{@key}} +{{#this}} +{{#ifeq type "oauth2"}} +<table> + <tr> + <th>type</th> + <th colspan="2">{{type}}</th> + </tr> +{{#if description}} + <tr> + <th>description</th> + <th colspan="2">{{description}}</th> + </tr> +{{/if}} +{{#if authorizationUrl}} + <tr> + <th>authorizationUrl</th> + <th colspan="2">{{authorizationUrl}}</th> + </tr> +{{/if}} +{{#if flow}} + <tr> + <th>flow</th> + <th colspan="2">{{flow}}</th> + </tr> +{{/if}} +{{#if tokenUrl}} + <tr> + <th>tokenUrl</th> + <th colspan="2">{{tokenUrl}}</th> + </tr> +{{/if}} +{{#if scopes}} + <tr> + <td rowspan="3">scopes</td> +{{#each scopes}} + <td>{{@key}}</td> + <td>{{this}}</td> + </tr> + <tr> +{{/each}} + </tr> +{{/if}} +</table> +{{/ifeq}} +{{#ifeq type "apiKey"}} +<table> + <tr> + <th>type</th> + <th colspan="2">{{type}}</th> + </tr> +{{#if description}} + <tr> + <th>description</th> + <th colspan="2">{{description}}</th> + </tr> +{{/if}} +{{#if name}} + <tr> + <th>name</th> + <th colspan="2">{{name}}</th> + </tr> +{{/if}} +{{#if in}} + <tr> + <th>in</th> + <th colspan="2">{{in}}</th> + </tr> +{{/if}} +</table> +{{/ifeq}} +{{#ifeq type "basic"}} +<table> + <tr> + <th>type</th> + <th colspan="2">{{type}}</th> + </tr> +{{#if description}} + <tr> + <th>description</th> + <th colspan="2">{{description}}</th> + </tr> +{{/if}} +</table> +{{/ifeq}} +{{/this}} +{{/each}}
\ No newline at end of file diff --git a/src/main/resources/strapdown.html.hbs b/src/main/resources/strapdown.html.hbs new file mode 100644 index 0000000..ec02669 --- /dev/null +++ b/src/main/resources/strapdown.html.hbs @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> +<title>API Document</title> + +<xmp theme="united" style="display:none;"> +{{>markdown}} +</xmp> + +<script src="http://strapdownjs.com/v/0.2/strapdown.js"></script> +</html>
\ No newline at end of file |