diff options
author | Marcus Williams <marcus.williams@intel.com> | 2019-01-28 20:43:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-01-28 20:43:35 +0000 |
commit | 902b6a93925067f0bb8c7a1639b62cbd64604465 (patch) | |
tree | 1869cb1b23e0fc0f7113ca812e9d26fc8fa2a403 | |
parent | 1f57cd06a3bf1deeb277430dba310088368c82fa (diff) | |
parent | fe91155454a27401e8c23780fa247c0ede196747 (diff) |
Merge "Merge 'origin/casablanca' into master"
137 files changed, 3145 insertions, 24473 deletions
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java index c9b70610d1..5c0110b680 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java @@ -28,12 +28,9 @@ import java.util.List; import java.util.Map; import java.util.Scanner; -import javax.ws.rs.core.UriBuilderException; import javax.ws.rs.core.Response; +import javax.ws.rs.core.UriBuilderException; -import org.onap.so.client.HttpClientFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.onap.so.adapters.vdu.CloudInfo; import org.onap.so.adapters.vdu.PluginAction; import org.onap.so.adapters.vdu.VduArtifact; @@ -44,20 +41,25 @@ import org.onap.so.adapters.vdu.VduModelInfo; import org.onap.so.adapters.vdu.VduPlugin; import org.onap.so.adapters.vdu.VduStateType; import org.onap.so.adapters.vdu.VduStatus; +import org.onap.so.client.HttpClientFactory; +import org.onap.so.client.RestClient; +import org.onap.so.db.catalog.beans.CloudSite; +import org.onap.so.logger.MessageEnum; +import org.onap.so.logger.MsoLogger; import org.onap.so.openstack.beans.HeatStatus; import org.onap.so.openstack.beans.StackInfo; +import org.onap.so.openstack.exceptions.MsoAdapterException; import org.onap.so.openstack.exceptions.MsoCloudSiteNotFound; import org.onap.so.openstack.exceptions.MsoException; import org.onap.so.openstack.exceptions.MsoOpenstackException; -import org.onap.so.client.RestClient; -import org.onap.so.db.catalog.beans.CloudSite; -import org.onap.so.logger.MessageEnum; -import org.onap.so.logger.MsoLogger; import org.onap.so.utils.TargetEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; +import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.woorea.openstack.heat.model.CreateStackParam; @@ -66,7 +68,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ public static final String OOF_DIRECTIVES = "oof_directives"; public static final String SDNC_DIRECTIVES = "sdnc_directives"; - public static final String GENERIC_VNF_ID = "generic_vnf_id"; + public static final String VNF_ID = "vnf_id"; public static final String VF_MODULE_ID = "vf_module_id"; public static final String TEMPLATE_TYPE = "template_type"; public static final List<String> MULTICLOUD_INPUTS = @@ -143,8 +145,8 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ logger.trace("Started MsoMulticloudUtils.createStack"); // Get the directives, if present. - String oofDirectives = ""; - String sdncDirectives = ""; + String oofDirectives = "{}"; + String sdncDirectives = "{}"; String genericVnfId = ""; String vfModuleId = ""; String templateType = ""; @@ -167,11 +169,11 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } } - if (!stackInputs.isEmpty() && stackInputs.containsKey("VF_MODULE_ID")){ - vfModuleId = (String) stackInputs.get("VF_MODULE_ID"); + if (!stackInputs.isEmpty() && stackInputs.containsKey(VF_MODULE_ID)){ + vfModuleId = (String) stackInputs.get(VF_MODULE_ID); } - if (!stackInputs.isEmpty() && stackInputs.containsKey("GENERIC_VNF_ID")){ - genericVnfId = (String) stackInputs.get("GENERIC_VNF_ID"); + if (!stackInputs.isEmpty() && stackInputs.containsKey(VNF_ID)){ + genericVnfId = (String) stackInputs.get(VNF_ID); } // create the multicloud payload @@ -179,26 +181,17 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ MulticloudRequest multicloudRequest= new MulticloudRequest(); - try { - multicloudRequest.setGenericVnfId(genericVnfId); - multicloudRequest.setVfModuleId(vfModuleId); - multicloudRequest.setOofDirectives(JSON_MAPPER.readTree(oofDirectives)); - multicloudRequest.setSdncDirectives(JSON_MAPPER.readTree(sdncDirectives)); - multicloudRequest.setTemplateType(templateType); - if (logger.isDebugEnabled()) { - logger.debug(String.format("Stack Template Data is: %s", stack.toString().substring(16))); - } - multicloudRequest.setTemplateData(stack); - if (logger.isDebugEnabled()) { - logger.debug(String.format("Multicloud Request is: %s", multicloudRequest.toString())); - } - } catch (Exception e) { - logger.debug("ERROR making multicloud JSON body ", e); - } - String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, null); + multicloudRequest.setGenericVnfId(genericVnfId); + multicloudRequest.setVfModuleId(vfModuleId); + multicloudRequest.setTemplateType(templateType); + multicloudRequest.setTemplateData(stack); + multicloudRequest.setOofDirectives(getDirectiveNode(oofDirectives)); + multicloudRequest.setSdncDirectives(getDirectiveNode(sdncDirectives)); if (logger.isDebugEnabled()) { - logger.debug(String.format("Multicloud Endpoint is: %s", multicloudEndpoint)); + logger.debug(String.format("Multicloud Request is: %s", multicloudRequest.toString())); } + + String multicloudEndpoint = getMulticloudEndpoint(cloudSiteId, null); RestClient multicloudClient = getMulticloudClient(multicloudEndpoint); Response response = multicloudClient.post(multicloudRequest); @@ -207,17 +200,23 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ createInfo.setName(stackName); MulticloudCreateResponse multicloudResponseBody = null; - if (response.getStatus() == Response.Status.CREATED.getStatusCode() && response.hasEntity()) { + if (response.hasEntity()) { multicloudResponseBody = getCreateBody((java.io.InputStream)response.getEntity()); + } + if (response.getStatus() == Response.Status.CREATED.getStatusCode() && response.hasEntity()) { createInfo.setCanonicalName(stackName + "/" + multicloudResponseBody.getWorkloadId()); if (logger.isDebugEnabled()) { logger.debug("Multicloud Create Response Body: " + multicloudResponseBody); } return getStackStatus(cloudSiteId, tenantId, createInfo.getCanonicalName(), pollForCompletion, timeoutMinutes, backout); } else { - createInfo.setStatus(HeatStatus.FAILED); - createInfo.setStatusMessage(response.getStatusInfo().getReasonPhrase()); - return createInfo; + StringBuilder stackErrorStatusReason = new StringBuilder(response.getStatusInfo().getReasonPhrase()); + if (null != multicloudResponseBody) { + stackErrorStatusReason.append(multicloudResponseBody.toString()); + } + MsoOpenstackException me = new MsoOpenstackException(0, "", stackErrorStatusReason.toString()); + me.addContext(CREATE_STACK); + throw me; } } @@ -385,7 +384,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ if (pollTimeout <= 0) { // Note that this should not occur, since there is a timeout specified // in the Openstack (multicloud?) call. - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT, cloudSiteId, tenantId, instanceId, stackInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError, "Create stack timeout")); + logger.error(String.format("%s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudSiteId, tenantId, instanceId, stackInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError.getValue(), "Create stack timeout")); createTimedOut = true; break; } @@ -403,7 +402,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ // Cannot query the stack status. Something is wrong. // Try to roll back the stack if (!backout) { - logger.warn(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in Create Stack, stack deletion suppressed")); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack error, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Exception in Create Stack, stack deletion suppressed")); } else { try { logger.debug("Create Stack error - unable to query for stack status - attempting to delete stack: " + instanceId + " - This will likely fail and/or we won't be able to query to see if delete worked"); @@ -417,8 +416,8 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ logger.debug("Deleting " + instanceId + ", status: " + queryInfo.getStatus()); if (HeatStatus.DELETING.equals(queryInfo.getStatus())) { if (deletePollTimeout <= 0) { - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT, cloudSiteId, tenantId, instanceId, - queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError, + logger.error(String.format("%s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudSiteId, tenantId, instanceId, + queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError.getValue(), "Rollback: DELETE stack timeout")); break; } else { @@ -435,12 +434,12 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } } catch (Exception e3) { // Just log this one. We will report the original exception. - logger.error(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack: Nested exception rolling back stack: " + e3, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack: Nested exception rolling back stack on error on query")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e3, "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack: Nested exception rolling back stack on error on query")); } } } catch (Exception e2) { // Just log this one. We will report the original exception. - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack: Nested exception rolling back stack")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack: Nested exception rolling back stack")); } } @@ -451,12 +450,12 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } if (!HeatStatus.CREATED.equals(stackInfo.getStatus())) { - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack error: Polling complete with non-success status: " - + stackInfo.getStatus () + ", " + stackInfo.getStatusMessage(), "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack error")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack error: Polling complete with non-success status: " + + stackInfo.getStatus () + ", " + stackInfo.getStatusMessage(), "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack error")); // Rollback the stack creation, since it is in an indeterminate state. if (!backout) { - logger.warn(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack error, stack deletion suppressed")); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack error, stack deletion suppressed")); } else { @@ -471,8 +470,8 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ logger.debug("Deleting " + instanceId + ", status: " + queryInfo.getStatus()); if (HeatStatus.DELETING.equals(queryInfo.getStatus())) { if (deletePollTimeout <= 0) { - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT, cloudSiteId, tenantId, instanceId, - queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError, + logger.error(String.format("%s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudSiteId, tenantId, instanceId, + queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError.getValue(), "Rollback: DELETE stack timeout")); break; } else { @@ -485,14 +484,14 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ continue; } else { //got a status other than DELETE_IN_PROGRESS or DELETE_COMPLETE - so break and evaluate - logger.warn(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, stack deletion FAILED", "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack error, stack deletion FAILED")); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, stack deletion FAILED", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack error, stack deletion FAILED")); logger.debug("Stack deletion FAILED on a rollback of a create - " + instanceId + ", status=" + queryInfo.getStatus() + ", reason=" + queryInfo.getStatusMessage()); break; } } catch (MsoException me2) { // Just log this one. We will report the original exception. logger.debug("Exception thrown trying to delete " + instanceId + " on a create->rollback: " + me2.getContextMessage(), me2); - logger.warn(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, then stack deletion FAILED - exception thrown", "", "", MsoLogger.ErrorCode.BusinessProcesssError, me2.getContextMessage())); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, then stack deletion FAILED - exception thrown", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), me2.getContextMessage())); } } StringBuilder errorContextMessage; @@ -508,7 +507,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } } catch (MsoException e2) { // shouldn't happen - but handle - logger.error(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in Create Stack: rolling back stack")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Exception in Create Stack: rolling back stack")); } } MsoOpenstackException me = new MsoOpenstackException(0, "", stackErrorStatusReason.toString()); @@ -611,6 +610,21 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ return client; } + private JsonNode getDirectiveNode(String directives) throws MsoException { + try { + return JSON_MAPPER.readTree(directives); + } catch (Exception e) { + logger.error(String.format("%s %s %s %s %d %s", + MessageEnum.RA_CREATE_STACK_ERR.toString(), + "Create Stack: " + e, "", "", + MsoLogger.ErrorCode.BusinessProcesssError.getValue(), + "Exception in Create Stack: Invalid JSON format of directives" + directives)); + MsoException me = new MsoAdapterException("Invalid JSON format of directives parameter: " + directives); + me.addContext(CREATE_STACK); + throw me; + } + } + /** * VduPlugin interface for instantiate function. * diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java index d0caef33e4..a383aac77f 100644 --- a/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java +++ b/adapters/mso-adapters-rest-interface/src/main/java/org/onap/so/adapters/vnfrest/CreateVfModuleRequest.java @@ -54,8 +54,8 @@ public class CreateVfModuleRequest extends VfRequestCommon { private String modelCustomizationUuid; private String requestType; - private Boolean failIfExists; - private Boolean backout; + private Boolean failIfExists = false; + private Boolean backout = true; private Boolean enableBridge; private Map<String, String> vfModuleParams = new HashMap<>(); diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogQuery.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogQuery.java index 63ef8e6dd0..cc1b3ddb17 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogQuery.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogQuery.java @@ -57,7 +57,7 @@ public abstract class CatalogQuery { while (m.find()) { String key = template.substring(m.start() + 1, m.end() - 1); logger.debug("CatalogQuery key: {} contains key? {}", key , valueMap.containsKey(key)); - m.appendReplacement(result, valueMap.getOrDefault(key, "\"TBD\"")); + m.appendReplacement(result, Matcher.quoteReplacement(valueMap.getOrDefault(key, "\"TBD\""))); } m.appendTail(result); logger.debug("CatalogQuery return: {}", result.toString()); diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java index 3dca6a395c..859666f446 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomization.java @@ -52,7 +52,8 @@ public class QueryAllottedResourceCustomization extends CatalogQuery { "\t\t\"nfFunction\" : <NF_FUNCTION>,\n"+ "\t\t\"nfType\" : <NF_TYPE>,\n"+ "\t\t\"nfRole\" : <NF_ROLE>,\n"+ - "\t\t\"nfNamingCode\" : <NF_NAMING_CODE>\n"+ + "\t\t\"nfNamingCode\" : <NF_NAMING_CODE>,\n"+ + "\t\t\"resourceInput\" : <RESOURCE_INPUT>\n"+ "\t}"; public QueryAllottedResourceCustomization() { @@ -117,7 +118,7 @@ public class QueryAllottedResourceCustomization extends CatalogQuery { put(valueMap, "MODEL_INSTANCE_NAME", o.getModelInstanceName()); put(valueMap, "TOSCA_NODE_TYPE", arNull ? null : o.getAllottedResource().getToscaNodeType()); put(valueMap, "ALLOTTED_RESOURCE_TYPE", arNull ? null : o.getAllottedResource().getSubcategory()); - put(valueMap, "ALLOTTED_RESOURCE_ROLE", o.getTargetNetworkRole()); + put(valueMap, "ALLOTTED_RESOURCE_ROLE", o.getTargetNetworkRole() != null ? o.getTargetNetworkRole() : o.getNfRole()); put(valueMap, "NF_TYPE", o.getNfType()); put(valueMap, "NF_ROLE", o.getNfRole()); put(valueMap, "NF_FUNCTION", o.getNfFunction()); @@ -125,6 +126,7 @@ public class QueryAllottedResourceCustomization extends CatalogQuery { put(valueMap, "PROVIDING_SERVICE_MODEL_INVARIANT_UUID", o.getProvidingServiceModelInvariantUUID()); put(valueMap, "PROVIDING_SERVICE_MODEL_UUID", o.getProvidingServiceModelUUID()); put(valueMap, "PROVIDING_SERVICE_MODEL_NAME", o.getProvidingServiceModelName()); + put(valueMap, "RESOURCE_INPUT", o.getResourceInput()); sb.append(sep).append(this.setTemplate(TEMPLATE, valueMap)); sep = ",\n"; diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipe.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipe.java index 8670b78e15..58a2e852f0 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipe.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipe.java @@ -22,6 +22,7 @@ package org.onap.so.adapters.catalogdb.catalogrest; import java.util.HashMap; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.onap.so.db.catalog.beans.Recipe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,12 +57,18 @@ public class QueryResourceRecipe extends CatalogQuery{ @Override public String JSON2(boolean isArray, boolean isEmbed) { Map<String, String> valueMap = new HashMap<>(); - valueMap.put("id", null == resourceRecipe ? null :String.valueOf(resourceRecipe.getId())); - valueMap.put("action", null == resourceRecipe ? null :resourceRecipe.getAction()); - valueMap.put("orchestrationUri", null == resourceRecipe ? null : resourceRecipe.getOrchestrationUri()); - valueMap.put("recipeTimeout", null == resourceRecipe ? null : String.valueOf(resourceRecipe.getRecipeTimeout())); - valueMap.put("paramXSD", null == resourceRecipe ? null : resourceRecipe.getParamXsd()); - valueMap.put("description", null == resourceRecipe ? null : resourceRecipe.getDescription()); + valueMap.put("id", null == resourceRecipe || null == resourceRecipe.getId() + ? StringUtils.EMPTY :String.valueOf(resourceRecipe.getId())); + valueMap.put("action", null == resourceRecipe || null == resourceRecipe.getAction() + ? StringUtils.EMPTY :resourceRecipe.getAction()); + valueMap.put("orchestrationUri", null == resourceRecipe || null == resourceRecipe.getOrchestrationUri() + ? StringUtils.EMPTY : resourceRecipe.getOrchestrationUri()); + valueMap.put("recipeTimeout", null == resourceRecipe || null == resourceRecipe.getRecipeTimeout() + ? StringUtils.EMPTY : String.valueOf(resourceRecipe.getRecipeTimeout())); + valueMap.put("paramXSD", null == resourceRecipe || null == resourceRecipe.getParamXsd() + ? StringUtils.EMPTY : resourceRecipe.getParamXsd()); + valueMap.put("description", null == resourceRecipe || null == resourceRecipe.getDescription() + ? StringUtils.EMPTY : resourceRecipe.getDescription()); ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false); String jsonStr = ""; diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceMacroHolder.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceMacroHolder.java index 3b50871a8d..edbf9749c6 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceMacroHolder.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceMacroHolder.java @@ -45,6 +45,7 @@ public class QueryServiceMacroHolder extends CatalogQuery { "\t\"serviceType\" : <SERVICE_TYPE>,\n"+ "\t\"serviceRole\" : <SERVICE_ROLE>,\n"+ "\t\"environmentContext\" : <ENVIRONMENT_CONTEXT>,\n"+ + "\t\"resourceOrder\" : <RESOURCE_ORDER>,\n"+ "\t\"workloadContext\" : <WORKLOAD_CONTEXT>,\n"+ "<_SERVICEVNFS_>,\n"+ "<_SERVICENETWORKS_>,\n"+ @@ -81,6 +82,7 @@ public class QueryServiceMacroHolder extends CatalogQuery { put(valueMap, "SERVICE_ROLE", service.getServiceRole()); put(valueMap, "ENVIRONMENT_CONTEXT", service.getEnvironmentContext()); put(valueMap, "WORKLOAD_CONTEXT", service.getWorkloadContext()); + put(valueMap, "RESOURCE_ORDER", service.getResourceOrder()); String subitem; subitem = new QueryServiceVnfs(service.getVnfCustomizations()).JSON2(true, true); diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceNetworks.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceNetworks.java index a2256f724a..f7457fda4a 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceNetworks.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceNetworks.java @@ -50,6 +50,7 @@ public class QueryServiceNetworks extends CatalogQuery { "\t\t\"toscaNodeType\" : <TOSCA_NODE_TYPE>,\n"+ "\t\t\"networkType\" : <NETWORK_TYPE>,\n"+ "\t\t\"networkTechnology\" : <NETWORK_TECHNOLOGY>,\n"+ + "\t\t\"resourceInput\" : <RESOURCE_INPUT>,\n"+ "\t\t\"networkRole\" : <NETWORK_ROLE>,\n"+ "\t\t\"networkScope\" : <NETWORK_SCOPE>\n"+ "\t}"; @@ -116,6 +117,7 @@ public class QueryServiceNetworks extends CatalogQuery { put(valueMap, "NETWORK_ROLE", o.getNetworkRole()); put(valueMap, "NETWORK_SCOPE", o.getNetworkScope()); put(valueMap, "NETWORK_TECHNOLOGY", o.getNetworkTechnology()); + put(valueMap, "RESOURCE_INPUT", o.getResourceInput()); sb.append(sep).append(this.setTemplate(TEMPLATE, valueMap)); sep = ",\n"; diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java index 82b6aa2aeb..4170047e0b 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/catalogrest/QueryServiceVnfs.java @@ -53,6 +53,7 @@ public class QueryServiceVnfs extends CatalogQuery { "\t\"nfRole\" : <NF_ROLE>,\n"+ "\t\"nfNamingCode\" : <NF_NAMING_CODE>,\n"+ "\t\"multiStageDesign\" : <MULTI_STEP_DESIGN>,\n"+ + "\t\"resourceInput\" : <RESOURCE_INPUT>,\n"+ "<_VFMODULES_>\n" + "\t}"; @@ -119,6 +120,7 @@ public class QueryServiceVnfs extends CatalogQuery { put(valueMap, "NF_ROLE", o.getNfRole()); put(valueMap, "NF_NAMING_CODE", o.getNfNamingCode()); put(valueMap, "MULTI_STEP_DESIGN", o.getMultiStageDesign()); + put(valueMap, "RESOURCE_INPUT", o.getResourceInput()); String subitem = new QueryVfModule(vrNull ? null : o.getVfModuleCustomizations()).JSON2(true, true); valueMap.put("_VFMODULES_", subitem.replaceAll("(?m)^", "\t\t")); diff --git a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java index 70f53133dd..dbb168bd15 100644 --- a/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java +++ b/adapters/mso-catalog-db-adapter/src/main/java/org/onap/so/adapters/catalogdb/rest/CatalogDbAdapterRest.java @@ -520,6 +520,7 @@ public class CatalogDbAdapterRest { try { if (smUuid != null && !"".equals(smUuid)) { logger.debug("Query Csar by service model uuid: {}",smUuid); + Service service = serviceRepo.findFirstOneByModelUUIDOrderByModelVersionDesc(smUuid); if (service != null) { @@ -587,18 +588,22 @@ public class CatalogDbAdapterRest { if (null == recipe) { NetworkResource nResource = networkResourceRepo.findResourceByModelUUID(rmUuid); - if(null!=vnf) { - recipe = networkRecipeRepo.findFirstByModelNameAndActionAndVersionStr(nResource.getModelName(), action, vnf.getModelVersion()); - } - // for network fetch the default recipe - if (recipe == null) { - recipe = networkRecipeRepo.findFirstByModelNameAndAction("SDNC_DEFAULT", action); + + if(nResource != null) { + recipe = networkRecipeRepo.findFirstByModelNameAndActionAndVersionStr(nResource.getModelName(), action, nResource.getModelVersion()); + + // for network fetch the default recipe + if (recipe == null) { + recipe = networkRecipeRepo.findFirstByModelNameAndAction("SDNC_DEFAULT", action); + } } } if (null == recipe) { AllottedResource arResource = arResourceRepo.findResourceByModelUUID(rmUuid); - recipe = arRecipeRepo.findByModelNameAndActionAndVersion(arResource.getModelName(), action, arResource.getModelVersion()); + if (arResource != null) { + recipe = arRecipeRepo.findByModelNameAndActionAndVersion(arResource.getModelName(), action, arResource.getModelVersion()); + } } if (recipe != null) { QueryResourceRecipe resourceRecipe = new QueryResourceRecipe(recipe); diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.14___remove_retry_from_rainy_day_handling_table.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.14__RemoveRetryFromRainyDayHandlingTable.sql index e4b599a044..e4b599a044 100644 --- a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.14___remove_retry_from_rainy_day_handling_table.sql +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.14__RemoveRetryFromRainyDayHandlingTable.sql diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.15__UpdateRainyDayHandlerMacroForScaleOut.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.15__UpdateRainyDayHandlerMacroForScaleOut.sql new file mode 100644 index 0000000000..75a8c20352 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.15__UpdateRainyDayHandlerMacroForScaleOut.sql @@ -0,0 +1,4 @@ +use catalogdb; + +UPDATE rainy_day_handler_macro SET POLICY = 'Abort' WHERE FLOW_NAME = 'GenericVnfHealthCheckBB'; +UPDATE rainy_day_handler_macro SET POLICY = 'Abort' WHERE FLOW_NAME = 'ConfigurationScaleOutBB';
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.16__Add_Default_NeutronNetwork.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.16__Add_Default_NeutronNetwork.sql new file mode 100644 index 0000000000..47c540b95d --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.16__Add_Default_NeutronNetwork.sql @@ -0,0 +1,31 @@ +USE catalogdb; + +INSERT INTO `heat_template` (`ARTIFACT_UUID`,`NAME`,`VERSION`,`BODY`,`TIMEOUT_MINUTES`,`DESCRIPTION`,`CREATION_TIMESTAMP`,`ARTIFACT_CHECKSUM`) VALUES +('efee1d84-b8ec-11e7-abc4-cec278b6b50a','Generic NeutronNet','1',' +heat_template_version: 2013-05-23 +description: A simple Neutron network +parameters: + network_name: + type: string + description: Name of the Neutron Network + default: ONAP-NW1 + shared: + type: boolean + description: Shared amongst tenants + default: False +outputs: + network_id: + description: Openstack network identifier + value: { get_resource: network } +resources: + network: + type: OS::Neutron::Net + properties: + name: { get_param: network_name } + shared: { get_param: shared }',10,'Generic Neutron Template','2017-10-26 14:44:00', 'MANUAL RECORD'); + + + +INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`,`AIC_VERSION_MIN` , `AIC_VERSION_MAX` ) +VALUES ('Generic NeutronNet','efee1d84-b8ec-11e7-abc4-cec278b6b50a','2.0','3.0'); + diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.17__UpdateCloudSiteColumn.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.17__UpdateCloudSiteColumn.sql new file mode 100644 index 0000000000..7077032fca --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.17__UpdateCloudSiteColumn.sql @@ -0,0 +1,5 @@ +use catalogdb; + +ALTER TABLE cloud_sites + MODIFY IF EXISTS REGION_ID varchar(50) NULL, + MODIFY IF EXISTS CLLI varchar(50) NULL;
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.18__ControllerSelectionReferenceData.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.18__ControllerSelectionReferenceData.sql new file mode 100644 index 0000000000..00f4777c03 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.18__ControllerSelectionReferenceData.sql @@ -0,0 +1,4 @@ +use catalogdb; + +INSERT INTO controller_selection_reference (VNF_TYPE, CONTROLLER_NAME, ACTION_CATEGORY) VALUES ('vLoadBalancerMS/vLoadBalancerMS 0', 'APPC', 'HealthCheck'); +INSERT INTO controller_selection_reference (VNF_TYPE, CONTROLLER_NAME, ACTION_CATEGORY) VALUES ('vLoadBalancerMS/vLoadBalancerMS 0', 'APPC', 'ConfigScaleOut');
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.19__RenameCustomToNoValidate.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.19__RenameCustomToNoValidate.sql new file mode 100644 index 0000000000..bded179395 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.19__RenameCustomToNoValidate.sql @@ -0,0 +1,2 @@ +update building_block_detail set RESOURCE_TYPE = "NO_VALIDATE" where RESOURCE_TYPE = "CUSTOM"; +update orchestration_status_state_transition_directive set RESOURCE_TYPE = "NO_VALIDATE" where RESOURCE_TYPE = "CUSTOM";
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.20__SetActivitiesBBsToNoValidate.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.20__SetActivitiesBBsToNoValidate.sql new file mode 100644 index 0000000000..9f51ed173d --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.20__SetActivitiesBBsToNoValidate.sql @@ -0,0 +1,13 @@ +USE catalogdb; + +INSERT INTO building_block_detail (BUILDING_BLOCK_NAME, RESOURCE_TYPE, TARGET_ACTION) +VALUES +('FlowCompleteActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFHealthCheckActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFQuiesceTrafficActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFResumeTrafficActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFSetInMaintFlagActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFUnsetInMaintFlagActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFUpgradePostCheckActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFUpgradePreCheckActivity', 'NO_VALIDATE', 'CUSTOM'), +('VNFUpgradeSoftwareActivity', 'NO_VALIDATE', 'CUSTOM');
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.21__AddHomingTables.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.21__AddHomingTables.sql new file mode 100644 index 0000000000..1725028104 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.21__AddHomingTables.sql @@ -0,0 +1,9 @@ +use catalogdb; + +CREATE TABLE IF NOT EXISTS `homing_instances` ( +`SERVICE_INSTANCE_ID` varchar(50) NOT NULL, +`CLOUD_OWNER` VARCHAR(200) NOT NULL, +`CLOUD_REGION_ID` VARCHAR(200) NOT NULL, +`OOF_DIRECTIVES` longtext NULL DEFAULT NULL, +PRIMARY KEY (`SERVICE_INSTANCE_ID`) +) ; diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.22__AddResourceInput.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.22__AddResourceInput.sql new file mode 100644 index 0000000000..10d8789328 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.22__AddResourceInput.sql @@ -0,0 +1,13 @@ +use catalogdb; + +ALTER TABLE service +ADD RESOURCE_ORDER varchar(255); + +ALTER TABLE vnf_resource_customization +ADD RESOURCE_INPUT varchar(2000); + +ALTER TABLE network_resource_customization +ADD RESOURCE_INPUT varchar(2000); + +ALTER TABLE allotted_resource_customization +ADD RESOURCE_INPUT varchar(2000);
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.23__ChangeResourceInputLength.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.23__ChangeResourceInputLength.sql new file mode 100644 index 0000000000..dfb5075674 --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.23__ChangeResourceInputLength.sql @@ -0,0 +1,10 @@ +use catalogdb; + +ALTER TABLE vnf_resource_customization + MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); + +ALTER TABLE network_resource_customization + MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); + +ALTER TABLE allotted_resource_customization + MODIFY IF EXISTS RESOURCE_INPUT varchar(20000);
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.24__UpdateHeatRelatedAttribute.sql b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.24__UpdateHeatRelatedAttribute.sql new file mode 100644 index 0000000000..b1aefaf56c --- /dev/null +++ b/adapters/mso-catalog-db-adapter/src/main/resources/db/migration/V4.24__UpdateHeatRelatedAttribute.sql @@ -0,0 +1,5 @@ +use catalogdb; + +ALTER TABLE network_resource MODIFY COLUMN AIC_VERSION_MIN varchar(20) NULL; +ALTER TABLE network_resource MODIFY COLUMN HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) NULL; +ALTER TABLE network_resource DROP FOREIGN KEY fk_network_resource__temp_network_heat_template_lookup__mod_nm1;
\ No newline at end of file diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogDBRestTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogDBRestTest.java index 077b4ea6d5..0f5ad6d92f 100644 --- a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogDBRestTest.java +++ b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CatalogDBRestTest.java @@ -25,6 +25,8 @@ import static org.junit.Assert.*; import java.io.IOException; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -65,6 +67,8 @@ public class CatalogDBRestTest { private static final String ECOMP_MSO_CATALOG_V2_SERVICE_ALLOTTED_RESOURCES = "ecomp/mso/catalog/v2/serviceAllottedResources"; + private static final String ECOMP_MSO_CATALOG_V2_RESOURCE_RECEIPE = "ecomp/mso/catalog/v2/resourceRecipe"; + private static final String ECOMP_MSO_CATALOG_V2_SERVICE_NETWORKS = "ecomp/mso/catalog/v2/serviceNetworks"; private static final String ECOMP_MSO_CATALOG_V2_SERVICE_VNFS = "ecomp/mso/catalog/v2/serviceVnfs"; @@ -94,6 +98,8 @@ public class CatalogDBRestTest { private final String expectedAllottedResponse = "{\r\n\"serviceAllottedResources\": [\r\n{\r\n\"modelInfo\": {\r\n\"modelName\": \"Tunnel_Xconn\",\r\n\"modelUuid\": \"f6b7d4c6-e8a4-46e2-81bc-31cad5072842\",\r\n\"modelInvariantUuid\": \"b7a1b78e-6b6b-4b36-9698-8c9530da14af\",\r\n\"modelVersion\": \"1.0\",\r\n\"modelCustomizationUuid\": \"367a8ba9-057a-4506-b106-fbae818597c6\",\r\n\"modelInstanceName\": \"Sec_Tunnel_Xconn 11\"\r\n},\r\n\"toscaNodeType\": \"\",\r\n\"allottedResourceType\": \"\",\r\n\"allottedResourceRole\": null,\r\n\"providingServiceModelName\": null,\r\n\"providingServiceModelInvariantUuid\": null,\r\n\"providingServiceModelUuid\": null,\r\n\"nfFunction\": null,\r\n\"nfType\": null,\r\n\"nfRole\": null,\r\n\"nfNamingCode\": null\r\n}\r\n]\r\n}"; private final String serviceUUID = "5df8b6de-2083-11e7-93ae-92361f002671"; + + private final String arResourceUUID = "25e2d69b-3b22-47b8-b4c9-7b14fd4a80df"; private final String serviceInvariantUUID = "9647dfc4-2083-11e7-93ae-92361f002671"; @@ -648,6 +654,42 @@ public class CatalogDBRestTest { assertEquals(Response.Status.OK.getStatusCode(),response.getStatusCode().value()); JSONAssert.assertEquals(expectedAllottedResponse, response.getBody().toString(), false); } + + @Test + public void testResourceReceipe() throws JSONException { + String expectedResourceRecipe = "{\"orchestrationUri\":\"/mso/async/services/CreateSDNCNetworkResource\",\"action\":\"createInstance\",\"description\":\"sotnvpnattachmentvF\",\"id\":\"1\",\"recipeTimeout\":\"180\",\"paramXSD\":\"\"}"; + + HttpEntity<String> entity = new HttpEntity<String>(null, headers); + headers.set("Accept", MediaType.APPLICATION_JSON); + + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort(ECOMP_MSO_CATALOG_V2_RESOURCE_RECEIPE)) + .queryParam("resourceModelUuid", arResourceUUID) + .queryParam("action", "createInstance"); + + ResponseEntity<String> response = restTemplate.exchange( + builder.toUriString(), + HttpMethod.GET, entity, String.class); + + assertEquals(Response.Status.OK.getStatusCode(),response.getStatusCode().value()); + JSONAssert.assertEquals(expectedResourceRecipe, response.getBody().toString(), false); + } + + @Test + public void testResourceReceipeNotMatched() throws JSONException { + + HttpEntity<String> entity = new HttpEntity<String>(null, headers); + headers.set("Accept", MediaType.APPLICATION_JSON); + + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort(ECOMP_MSO_CATALOG_V2_RESOURCE_RECEIPE)) + .queryParam("resourceModelUuid", arResourceUUID) + .queryParam("action", "invalid_action"); + + ResponseEntity<String> response = restTemplate.exchange( + builder.toUriString(), + HttpMethod.GET, entity, String.class); + + assertEquals(Response.Status.NOT_FOUND.getStatusCode(),response.getStatusCode().value()); + } @Test public void testGetServiceAllottedResourcesByServiceModelInvariantUuid() throws JSONException { diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CloudConfigTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CloudConfigTest.java index 05d1928a17..5a6ab747c5 100644 --- a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CloudConfigTest.java +++ b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/CloudConfigTest.java @@ -63,14 +63,14 @@ public class CloudConfigTest { headers.set("Content-Type",MediaType.APPLICATION_JSON); CloudSite cloudSite = new CloudSite(); - cloudSite.setId("MTN6"); + cloudSite.setId("MTN7"); cloudSite.setClli("TESTCLLI"); cloudSite.setRegionId("regionId"); cloudSite.setCloudVersion("VERSION"); cloudSite.setPlatform("PLATFORM"); CloudIdentity cloudIdentity = new CloudIdentity(); - cloudIdentity.setId("RANDOMID"); + cloudIdentity.setId("RANDOMID-test"); cloudIdentity.setIdentityUrl("URL"); cloudIdentity.setMsoId("MSO_ID"); cloudIdentity.setMsoPass("MSO_PASS"); @@ -81,7 +81,7 @@ public class CloudConfigTest { cloudSite.setIdentityService(cloudIdentity); String uri = "/cloudSite"; UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:"+ port + uri); - HttpEntity<CloudSite> request = new HttpEntity<CloudSite>(cloudSite, headers); + HttpEntity<CloudSite> request = new HttpEntity<CloudSite>(cloudSite, headers); ResponseEntity<String> response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST, request, String.class); assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatusCode().value()); @@ -98,4 +98,6 @@ public class CloudConfigTest { } + + } diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipeTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipeTest.java index 645714cc80..e403867c42 100644 --- a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipeTest.java +++ b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/adapters/catalogdb/catalogrest/QueryResourceRecipeTest.java @@ -21,11 +21,16 @@ package org.onap.so.adapters.catalogdb.catalogrest; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertEquals; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.onap.so.db.catalog.beans.ArRecipe; +import org.onap.so.db.catalog.beans.NetworkRecipe; import org.onap.so.db.catalog.beans.Recipe; import org.onap.so.db.catalog.beans.ServiceRecipe; +import org.onap.so.db.catalog.beans.VnfRecipe; import org.onap.so.jsonpath.JsonPathUtil; public class QueryResourceRecipeTest { @@ -67,4 +72,24 @@ public class QueryResourceRecipeTest { return recipe; } + @Test + public void convertToJson() { + Recipe recipe = createRecipe(); + QueryResourceRecipe queryResourceRecipe = new QueryResourceRecipe(recipe); + assertEquals("{\"orchestrationUri\":\"uriTest\",\"action\":\"actionTest\",\"description\":\"descrTest\",\"id\":\"123\",\"recipeTimeout\":\"100\",\"paramXSD\":\"paramsXsdTest\"}", + queryResourceRecipe.JSON2(false,false)); + } + + @Test + public void convertToJsonEmptyRecipe() { + QueryResourceRecipe vnfQueryRR = new QueryResourceRecipe(new VnfRecipe()); + QueryResourceRecipe networkQueryRR = new QueryResourceRecipe(new NetworkRecipe()); + QueryResourceRecipe arQueryRR = new QueryResourceRecipe(new ArRecipe()); + + String expected = "{\"orchestrationUri\":\"\",\"action\":\"\",\"description\":\"\",\"id\":\"\",\"recipeTimeout\":\"\",\"paramXSD\":\"\"}"; + assertEquals(expected, vnfQueryRR.JSON2(false, false)); + assertEquals(expected, networkQueryRR.JSON2(false,false)); + assertEquals(expected, arQueryRR.JSON2(false,false)); + } + } diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/db/catalog/client/CatalogDbClientTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/db/catalog/client/CatalogDbClientTest.java index e249285867..4479e1ba4a 100644 --- a/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/db/catalog/client/CatalogDbClientTest.java +++ b/adapters/mso-catalog-db-adapter/src/test/java/org/onap/so/db/catalog/client/CatalogDbClientTest.java @@ -39,6 +39,7 @@ import org.onap.so.db.catalog.beans.CloudIdentity; import org.onap.so.db.catalog.beans.CloudSite; import org.onap.so.db.catalog.beans.CloudifyManager; import org.onap.so.db.catalog.beans.ExternalServiceToInternalService; +import org.onap.so.db.catalog.beans.HomingInstance; import org.onap.so.db.catalog.beans.InstanceGroup; import org.onap.so.db.catalog.beans.NetworkResourceCustomization; import org.onap.so.db.catalog.beans.ServerType; @@ -425,6 +426,81 @@ public class CatalogDbClientTest { Assert.assertEquals("regionId", getCloudSite.getRegionId()); Assert.assertEquals("RANDOMID", getCloudSite.getIdentityServiceId()); } + + @Test + public void testGetHomingInstance() { + HomingInstance homingInstance = client.getHomingInstance("5df8b6de-2083-11e7-93ae-92361f232671"); + Assert.assertNotNull(homingInstance); + Assert.assertNotNull(homingInstance.getCloudOwner()); + Assert.assertNotNull(homingInstance.getCloudRegionId()); + Assert.assertNotNull(homingInstance.getOofDirectives()); + } + + @Test + public void testPostHomingInstance() { + CatalogDbClientPortChanger localClient = new CatalogDbClientPortChanger("http://localhost:" + client.wiremockPort, msoAdaptersAuth, client.wiremockPort); + HomingInstance homingInstance = new HomingInstance(); + homingInstance.setServiceInstanceId("5df8d6be-2083-11e7-93ae-92361f232671"); + homingInstance.setCloudOwner("CloudOwner-1"); + homingInstance.setCloudRegionId("CloudRegionOne"); + homingInstance.setOofDirectives("{\n" + + "\"directives\": [\n" + + "{\n" + + "\"directives\": [\n" + + "{\n" + + "\"attributes\": [\n" + + "{\n" + + "\"attribute_value\": \"onap.hpa.flavor31\",\n" + + "\"attribute_name\": \"firewall_flavor_name\"\n" + + "}\n" + + "],\n" + + "\"type\": \"flavor_directives\"\n" + + "}\n" + + "],\n" + + "\"type\": \"vnfc\",\n" + + "\"id\": \"vfw\"\n" + + "},\n" + + "{\n" + + "\"directives\": [\n" + + "{\n" + + "\"attributes\": [\n" + + "{\n" + + "\"attribute_value\": \"onap.hpa.flavor32\",\n" + + "\"attribute_name\": \"packetgen_flavor_name\"\n" + + "}\n" + + "],\n" + + "\"type\": \"flavor_directives\"\n" + + "}\n" + + "],\n" + + "\"type\": \"vnfc\",\n" + + "\"id\": \"vgenerator\"\n" + + "},\n" + + "{\n" + + "\"directives\": [\n" + + "{\n" + + "\"attributes\": [\n" + + "{\n" + + "\"attribute_value\": \"onap.hpa.flavor31\",\n" + + "\"attribute_name\": \"sink_flavor_name\"\n" + + "}\n" + + "],\n" + + "\"type\": \"flavor_directives\"\n" + + "}\n" + + "],\n" + + "\"type\": \"vnfc\",\n" + + "\"id\": \"vsink\"\n" + + "}\n" + + "]\n" + + "}"); + localClient.postHomingInstance(homingInstance); + HomingInstance getHomingInstance = this.client.getHomingInstance("5df8d6be-2083-11e7-93ae-92361f232671"); + Assert.assertNotNull(getHomingInstance); + Assert.assertNotNull(getHomingInstance.getCloudRegionId()); + Assert.assertNotNull(getHomingInstance.getCloudOwner()); + Assert.assertEquals("CloudOwner-1", getHomingInstance.getCloudOwner()); + Assert.assertEquals("CloudRegionOne", getHomingInstance.getCloudRegionId()); + } + @Test public void testGetServiceByModelName() { Service service = client.getServiceByModelName("MSOTADevInfra_Test_Service"); diff --git a/adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql b/adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql index 9eb3daa5ae..3e92b5d7ba 100644 --- a/adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql +++ b/adapters/mso-catalog-db-adapter/src/test/resources/db/migration/afterMigrate.sql @@ -51,6 +51,14 @@ CREATE TABLE IF NOT EXISTS `cloud_sites` ( CONSTRAINT `FK_cloud_sites_identity_services` FOREIGN KEY (`IDENTITY_SERVICE_ID`) REFERENCES `identity_services` (`ID`) ) ; +CREATE TABLE IF NOT EXISTS `homing_instances` ( +`SERVICE_INSTANCE_ID` varchar(50) NOT NULL, +`CLOUD_OWNER` VARCHAR(200) NOT NULL, +`CLOUD_REGION_ID` VARCHAR(200) NOT NULL, +`OOF_DIRECTIVES` longtext NULL DEFAULT NULL, +PRIMARY KEY (`SERVICE_INSTANCE_ID`) +) ; + insert into heat_files(artifact_uuid, name, version, description, body, artifact_checksum, creation_timestamp) values ('00535bdd-0878-4478-b95a-c575c742bfb0', 'nimbus-ethernet-gw', '1', 'created from csar', 'DEVICE=$dev\nBOOTPROTO=none\nNM_CONTROLLED=no\nIPADDR=$ip\nNETMASK=$netmask\nGATEWAY=$gateway\n', 'MANUAL RECORD', '2017-01-21 23:56:43'); @@ -105,8 +113,8 @@ insert into heat_environment(artifact_uuid, name, version, description, body, ar insert into vnf_resource(orchestration_mode, description, creation_timestamp, model_uuid, aic_version_min, aic_version_max, model_invariant_uuid, model_version, model_name, tosca_node_type, heat_template_artifact_uuid) values ('HEAT', '1607 vSAMP10a - inherent network', '2017-04-14 21:46:28', 'ff2ae348-214a-11e7-93ae-92361f002671', '', '', '2fff5b20-214b-11e7-93ae-92361f002671', '1.0', 'vSAMP10a', 'VF', 'ff874603-4222-11e7-9252-005056850d2e'); -insert into vnf_resource_customization(model_customization_uuid, model_instance_name, min_instances, max_instances, availability_zone_max_count, nf_type, nf_role, nf_function, nf_naming_code, creation_timestamp, vnf_resource_model_uuid, multi_stage_design) values -('68dc9a92-214c-11e7-93ae-92361f002671', 'vSAMP10a 1', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002671', null); +insert into vnf_resource_customization(model_customization_uuid, model_instance_name, min_instances, max_instances, availability_zone_max_count, nf_type, nf_role, nf_function, nf_naming_code, creation_timestamp, vnf_resource_model_uuid, multi_stage_design, resource_input) values +('68dc9a92-214c-11e7-93ae-92361f002671', 'vSAMP10a 1', '0', '0', '0', 'vSAMP', 'vSAMP', 'vSAMP', 'vSAMP', '2017-05-26 15:08:24', 'ff2ae348-214a-11e7-93ae-92361f002671', null, "{\\\"vf_module_id\\\":\\\"vFirewall\\\",\\\"vfw_private_ip_1\\\":\\\"192.168.20.100\\\",\\\"public_net_id\\\":\\\"PUBLIC NET ID\\\",\\\"vfw_private_ip_0\\\":\\\"192.168.10.100\\\",\\\"onap_private_subnet_id\\\":\\\"PRIVATE NETWORK\\\",\\\"sec_group\\\":\\\"SECURITY GROUP\\\",\\\"vfw_private_ip_2\\\":\\\"10.0.100.1\\\",\\\"vfw_name_0\\\":\\\"zdfw1fwl01fwl01\\\",\\\"nexus_artifact_repo\\\":\\\"https://nexus.onap.org\\\",\\\"onap_private_net_cidr\\\":\\\"10.0.0.0/16\\\",\\\"dcae_collector_ip\\\":\\\"10.0.4.1\\\",\\\"vnf_id\\\":\\\"vFirewall_demo_app\\\",\\\"dcae_collector_port\\\":\\\"8081\\\",\\\"vpg_name_0\\\":\\\"zdfw1fwl01pgn01\\\",\\\"vsn_private_ip_0\\\":\\\"192.168.20.250\\\",\\\"vpg_private_ip_1\\\":\\\"10.0.100.2\\\",\\\"vsn_private_ip_1\\\":\\\"10.0.100.3\\\",\\\"vpg_private_ip_0\\\":\\\"192.168.10.200\\\",\\\"protected_private_net_cidr\\\":\\\"192.168.20.0/24\\\",\\\"unprotected_private_net_cidr\\\":\\\"192.168.10.0/24\\\",\\\"nf_naming\\\":\\\"true\\\",\\\"vsn_name_0\\\":\\\"zdfw1fwl01snk01\\\",\\\"multi_stage_design\\\":\\\"false\\\",\\\"onap_private_net_id\\\":\\\"PRIVATE NETWORK\\\",\\\"unprotected_private_net_id\\\":\\\"zdfw1fwl01_unprotected\\\",\\\"availability_zone_max_count\\\":\\\"1\\\",\\\"vfw_flavor_name\\\":\\\"(m1.medium suggested)\\\",\\\"demo_artifacts_version\\\":\\\"1.3.0-SNAPSHOT\\\",\\\"pub_key\\\":\\\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\\\",\\\"key_name\\\":\\\"vfw_key\\\",\\\"install_script_version\\\":\\\"1.3.0-SNAPSHOT\\\",\\\"vfw_image_name\\\":\\\"(UBUNTU 1404 required)\\\",\\\"protected_private_net_id\\\":\\\"zdfw1fwl01_protected\\\",\\\"cloud_env\\\":\\\"openstack\\\"}"); insert into vf_module(model_uuid, model_invariant_uuid, model_version, model_name, description, is_base, heat_template_artifact_uuid, vol_heat_template_artifact_uuid, creation_timestamp, vnf_resource_model_uuid) values @@ -210,7 +218,17 @@ INSERT INTO vnf_components_recipe (VNF_COMPONENT_TYPE, ACTION, VERSION, DESCRIPT VALUES ('volumeGroup', 'createInstance', '1', 'Gr api recipe to create volume-group', '/mso/async/services/WorkflowActionBB', 180, '20c4431c-246d-11e7-93ae-92361f002671'); +insert into homing_instances (service_instance_id, cloud_owner, cloud_region_id, oof_directives) values +('5df8b6de-2083-11e7-93ae-92361f232671', 'CloudOwner', 'CloudRegionId', '{"directives": [{"directives": [{"attributes": [{"attribute_value": "onap.hpa.flavor32","attribute_name": "firewall_flavor_name"}],"type": "flavor_directives"}],"type": "vnfc","id": "vfw"},{"directives": [{"attributes": [{"attribute_value": "onap.hpa.flavor33","attribute_name": "packetgen_flavor_name"}],"type": "flavor_directives"}],"type": "vnfc","id": "vgenerator"},{"directives": [{"attributes": [{"attribute_value": "onap.hpa.flavor32","attribute_name": "sink_flavor_name"}],"type": "flavor_directives"}],"type": "vnfc","id": "vsink"}]}'), +('5df8b6de-2083-11e7-93ae-92361f562672', 'CloudOwner', 'CloudRegionId', '{"directives": [{"directives": [{"attributes": [{"attribute_value": "onap.hpa.flavor32","attribute_name": "firewall_flavor_name"}],"type": "flavor_directives"}],"type": "vnfc","id": "vfw"},{"directives": [{"attributes": [{"attribute_value": "onap.hpa.flavor33","attribute_name": "packetgen_flavor_name"}],"type": "flavor_directives"}],"type": "vnfc","id": "vgenerator"},{"directives": [{"attributes": [{"attribute_value": "onap.hpa.flavor32","attribute_name": "sink_flavor_name"}],"type": "flavor_directives"}],"type": "vnfc","id": "vsink"}]}'); + +-- for query resource receipe +INSERT INTO allotted_resource +(MODEL_UUID, MODEL_INVARIANT_UUID, MODEL_VERSION, MODEL_NAME, TOSCA_NODE_TYPE, SUBCATEGORY, DESCRIPTION, CREATION_TIMESTAMP) +VALUES('25e2d69b-3b22-47b8-b4c9-7b14fd4a80df', '8f5fe343-9a3a-4d31-a829-49b27bbfc1c4', '2.0', 'sotnvpnattachmentvF', 'org.openecomp.resource.vf.Sdwanvpnattachmentvf', 'Allotted Resource', 'sdwanvpnattachmentVF', '2019-01-24 09:59:16.000'); +INSERT INTO ar_recipe(ID, MODEL_NAME, ACTION, VERSION_STR, SERVICE_TYPE, DESCRIPTION, ORCHESTRATION_URI, AR_PARAM_XSD, RECIPE_TIMEOUT, CREATION_TIMESTAMP) +VALUES(1, 'sotnvpnattachmentvF', 'createInstance', '2.0', 'VF', 'sotnvpnattachmentvF', '/mso/async/services/CreateSDNCNetworkResource', '', 180, '2019-01-24 09:59:16.000'); INSERT INTO northbound_request_ref_lookup(MACRO_ACTION, ACTION, REQUEST_SCOPE, IS_ALACARTE, MIN_API_VERSION, MAX_API_VERSION, CLOUD_OWNER, SERVICE_TYPE) VALUES ('Service-Create', 'createInstance', 'Service', true, '7','7', 'my-custom-cloud-owner','*'); diff --git a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java index e0d7581dcf..09ee0cde04 100644 --- a/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java +++ b/adapters/mso-openstack-adapters/src/main/java/org/onap/so/adapters/vnf/MsoVnfPluginAdapterImpl.java @@ -994,10 +994,6 @@ public class MsoVnfPluginAdapterImpl implements MsoVnfAdapter { } } } - if (multicloudInputs) { - goldenInputs.put(MsoMulticloudUtils.GENERIC_VNF_ID, genericVnfId); - goldenInputs.put(MsoMulticloudUtils.VF_MODULE_ID, vfModuleId); - } LOGGER.debug("Ignoring extra inputs: " + extraInputs); } diff --git a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java index f958a5b140..1fd3ffc90a 100644 --- a/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java +++ b/adapters/mso-openstack-adapters/src/test/java/org/onap/so/adapters/vnf/MsoVnfMulticloudAdapterImplTest.java @@ -67,8 +67,8 @@ public class MsoVnfMulticloudAdapterImplTest extends BaseRestTestUtils{ public void createVfModule() throws Exception { //expectedException.expect(VnfException.class); Map<String, String> stackInputs = new HashMap<>(); - stackInputs.put("oof_directives", "{oofDIRECTIVES}"); - stackInputs.put("sdnc_directives", "{sdncDIRECTIVES}"); + stackInputs.put("oof_directives", "{}"); + stackInputs.put("sdnc_directives", "{}"); stackInputs.put("generic_vnf_id", "genVNFID"); stackInputs.put("vf_module_id", "vfMODULEID"); diff --git a/adapters/mso-openstack-adapters/src/test/resources/schema.sql b/adapters/mso-openstack-adapters/src/test/resources/schema.sql index 72810d6f3c..e9f2a09860 100644 --- a/adapters/mso-openstack-adapters/src/test/resources/schema.sql +++ b/adapters/mso-openstack-adapters/src/test/resources/schema.sql @@ -28,6 +28,7 @@ create table `allotted_resource_customization` ( `min_instances` int(11) default null, `max_instances` int(11) default null, `ar_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, `creation_timestamp` datetime not null default current_timestamp, primary key (`model_customization_uuid`), key `fk_allotted_resource_customization__allotted_resource1_idx` (`ar_model_uuid`), @@ -138,11 +139,11 @@ create table `network_resource` ( `model_name` varchar(200) not null, `model_invariant_uuid` varchar(200) default null, `description` varchar(1200) default null, - `heat_template_artifact_uuid` varchar(200) not null, + `heat_template_artifact_uuid` varchar(200) null, `neutron_network_type` varchar(20) default null, `model_version` varchar(20) default null, `tosca_node_type` varchar(200) default null, - `aic_version_min` varchar(20) not null, + `aic_version_min` varchar(20) null, `aic_version_max` varchar(20) default null, `orchestration_mode` varchar(20) default 'heat', `resource_category` varchar(20) default null, @@ -151,8 +152,7 @@ create table `network_resource` ( primary key (`model_uuid`), key `fk_network_resource__temp_network_heat_template_lookup1_idx` (`model_name`), key `fk_network_resource__heat_template1_idx` (`heat_template_artifact_uuid`), - constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade, - constraint `fk_network_resource__temp_network_heat_template_lookup__mod_nm1` foreign key (`model_name`) references `temp_network_heat_template_lookup` (`network_resource_model_name`) on delete no action on update no action + constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade ) engine=innodb default charset=latin1; @@ -168,6 +168,7 @@ create table `network_resource_customization` ( `network_scope` varchar(45) default null, `creation_timestamp` datetime not null default current_timestamp, `network_resource_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_network_resource_customization__network_resource1_idx` (`network_resource_model_uuid`), constraint `fk_network_resource_customization__network_resource1` foreign key (`network_resource_model_uuid`) references `network_resource` (`model_uuid`) on delete cascade on update cascade @@ -203,6 +204,7 @@ create table `service` ( `service_role` varchar(200) default null, `environment_context` varchar(200) default null, `workload_context` varchar(200) default null, + `resource_order` varchar(200) default null, primary key (`model_uuid`), key `fk_service__tosca_csar1_idx` (`tosca_csar_artifact_uuid`), constraint `fk_service__tosca_csar1` foreign key (`tosca_csar_artifact_uuid`) references `tosca_csar` (`artifact_uuid`) on delete cascade on update cascade @@ -381,6 +383,7 @@ create table `vnf_resource_customization` ( `creation_timestamp` datetime not null default current_timestamp, `vnf_resource_model_uuid` varchar(200) not null, `multi_stage_design` varchar(20) default null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_vnf_resource_customization__vnf_resource1_idx` (`vnf_resource_model_uuid`), constraint `fk_vnf_resource_customization__vnf_resource1` foreign key (`vnf_resource_model_uuid`) references `vnf_resource` (`model_uuid`) on delete cascade on update cascade diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapter.java b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapter.java index e28bdb2f96..0c2a49ae53 100644 --- a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapter.java +++ b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapter.java @@ -73,6 +73,17 @@ public interface MsoRequestsDbAdapter { @WebParam(name = "reason") @XmlElement(required = false) String reason) throws MsoRequestsDbException; @WebMethod + public void initServiceOperationStatus( + @WebParam(name = "serviceId") @XmlElement(required = true) String serviceId, + @WebParam(name = "operationId") @XmlElement(required = false) String operationId, + @WebParam(name = "operationType") @XmlElement(required = false) String operationType, + @WebParam(name = "userId") @XmlElement(required = false) String userId, + @WebParam(name = "result") @XmlElement(required = false) String result, + @WebParam(name = "operationContent") @XmlElement(required = false) String operationContent, + @WebParam(name = "progress") @XmlElement(required = false) String progress, + @WebParam(name = "reason") @XmlElement(required = false) String reason) throws MsoRequestsDbException; + + @WebMethod public void initResourceOperationStatus(@WebParam(name = "serviceId") @XmlElement(required = true) String serviceId, @WebParam(name = "operationId") @XmlElement(required = true) String operationId, @WebParam(name = "operationType") @XmlElement(required = true) String operationType, diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapterImpl.java b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapterImpl.java index 893156ce7d..626e3568bc 100644 --- a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapterImpl.java +++ b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/MsoRequestsDbAdapterImpl.java @@ -220,6 +220,38 @@ public class MsoRequestsDbAdapterImpl implements MsoRequestsDbAdapter { } /** + * Init operation status <br> + * + * @param serviceId + * @param operationId + * @param operationType + * @param userId + * @param result + * @param operationContent + * @param progress + * @param reason + * @throws MsoRequestsDbException + * @since ONAP Casablanca Release + */ + @Override + @Transactional + public void initServiceOperationStatus(String serviceId, String operationId, String operationType, String userId, + String result, String operationContent, String progress, String reason) throws MsoRequestsDbException { + OperationStatus operStatus = new OperationStatus(); + + operStatus.setOperationId(operationId); + operStatus.setServiceId(serviceId); + operStatus.setUserId(userId); + operStatus.setOperation(operationType); + operStatus.setReason(reason); + operStatus.setProgress(progress); + operStatus.setResult(result); + operStatus.setOperationContent(operationContent); + operStatus.setResult(result); + operationStatusRepository.save(operStatus); + } + + /** * init the operation status of all the resources <br> * * @param serviceId @@ -306,7 +338,7 @@ public class MsoRequestsDbAdapterImpl implements MsoRequestsDbAdapter { resStatus.setErrorCode(errorCode); resStatus.setStatusDescription(statusDescription); resourceOperationStatusRepository.save(resStatus); - + updateOperationStatusBasedOnResourceStatus(resStatus); } diff --git a/adapters/mso-requests-db-adapter/src/main/resources/db/migration/V4.3__Expand_Column_Size.sql b/adapters/mso-requests-db-adapter/src/main/resources/db/migration/V4.3__Expand_Column_Size.sql new file mode 100644 index 0000000000..87401ade13 --- /dev/null +++ b/adapters/mso-requests-db-adapter/src/main/resources/db/migration/V4.3__Expand_Column_Size.sql @@ -0,0 +1,11 @@ +use requestdb; + +ALTER TABLE infra_active_requests + MODIFY IF EXISTS AIC_CLOUD_REGION varchar(50) NULL, + MODIFY IF EXISTS AIC_NODE_CLLI varchar(50) NULL; + +ALTER TABLE archived_infra_requests + MODIFY IF EXISTS AIC_CLOUD_REGION varchar(50) NULL, + MODIFY IF EXISTS AIC_NODE_CLLI varchar(50) NULL; + + diff --git a/adapters/mso-sdnc-adapter/src/main/java/org/onap/so/adapters/sdnc/impl/SDNCRestClient.java b/adapters/mso-sdnc-adapter/src/main/java/org/onap/so/adapters/sdnc/impl/SDNCRestClient.java index 4b3181e6e9..65c7d093a9 100644 --- a/adapters/mso-sdnc-adapter/src/main/java/org/onap/so/adapters/sdnc/impl/SDNCRestClient.java +++ b/adapters/mso-sdnc-adapter/src/main/java/org/onap/so/adapters/sdnc/impl/SDNCRestClient.java @@ -84,6 +84,14 @@ public class SDNCRestClient{ msoLogger.debug("BPEL Request:" + bpelRequest.toString()); + // Added delay to allow completion of create request to SDNC + // before executing activate of create request. + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + String action = bpelRequest.getRequestHeader().getSvcAction(); String operation = bpelRequest.getRequestHeader().getSvcOperation(); String bpelReqId = bpelRequest.getRequestHeader().getRequestId(); diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java index 9a1392bdca..ca1d0331fd 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/client/ASDCController.java @@ -687,6 +687,13 @@ public class ASDCController { try { this.processCsarServiceArtifacts(iNotif, toscaResourceStructure); + IArtifactInfo iArtifact = toscaResourceStructure.getToscaArtifact(); + String filePath = System.getProperty("mso.config.path") + "/ASDC/" + iArtifact.getArtifactVersion() + "/" + iArtifact.getArtifactName(); + File csarFile = new File(filePath); + String csarFilePath = csarFile.getAbsolutePath(); + if (bpmnInstaller.containsWorkflows(csarFilePath)) { + bpmnInstaller.installBpmn(csarFilePath); + } for (IResourceInstance resource : iNotif.getResources()){ diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/ToscaResourceStructure.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/ToscaResourceStructure.java index 179dac3c35..6ddc2a8bdd 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/ToscaResourceStructure.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/ToscaResourceStructure.java @@ -132,7 +132,7 @@ public class ToscaResourceStructure { LOGGER.info(MessageEnum.ASDC_RECEIVE_SERVICE_NOTIF, "***PATH", "ASDC", spoolFile.getAbsolutePath()); - sdcCsarHelper = factory.getSdcCsarHelper(spoolFile.getAbsolutePath()); + sdcCsarHelper = factory.getSdcCsarHelper(spoolFile.getAbsolutePath(),false); }catch(Exception e){ System.out.println("System out " + e.getMessage()); diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java index 486844ae02..cd9a121ddb 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/bpmn/BpmnInstaller.java @@ -27,7 +27,9 @@ import java.io.IOException; import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Enumeration; import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; import org.apache.commons.io.IOUtils; @@ -109,6 +111,30 @@ public class BpmnInstaller { } return; } + + public boolean containsWorkflows(String csarFilePath) { + boolean workflowsInCsar = false; + try { + ZipFile zipFile = new ZipFile(csarFilePath); + Enumeration<? extends ZipEntry> zipEntries = zipFile.entries(); + while (zipEntries.hasMoreElements()) { + String fileName = ((ZipEntry) zipEntries.nextElement()).getName(); + if (fileName.endsWith(BPMN_SUFFIX)) { + workflowsInCsar = true; + break; + } + } + } + catch (Exception e) { + LOGGER.debug("Exception :",e); + LOGGER.error(MessageEnum.ASDC_ARTIFACT_CHECK_EXC, + csarFilePath, + "", + "", + e.getMessage(), "", "", MsoLogger.ErrorCode.DataError, "ASDC Unable to check CSAR entries"); + } + return workflowsInCsar; + } protected HttpResponse sendDeploymentRequest(String bpmnFileName) throws Exception { HttpClient client = HttpClientBuilder.create().build(); diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java index e455d2da93..7951e9be76 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java @@ -25,16 +25,21 @@ package org.onap.so.asdc.installer.heat; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; import org.hibernate.exception.ConstraintViolationException; import org.hibernate.exception.LockAcquisitionException; import org.onap.sdc.api.notification.IArtifactInfo; import org.onap.sdc.api.notification.IResourceInstance; import org.onap.sdc.api.notification.IStatusData; +import org.onap.sdc.tosca.parser.api.ISdcCsarHelper; import org.onap.sdc.tosca.parser.enums.SdcTypes; import org.onap.sdc.tosca.parser.impl.SdcPropertyNames; import org.onap.sdc.toscaparser.api.CapabilityAssignment; @@ -42,8 +47,12 @@ import org.onap.sdc.toscaparser.api.CapabilityAssignments; import org.onap.sdc.toscaparser.api.Group; import org.onap.sdc.toscaparser.api.NodeTemplate; import org.onap.sdc.toscaparser.api.Policy; +import org.onap.sdc.toscaparser.api.Property; import org.onap.sdc.toscaparser.api.RequirementAssignment; +import org.onap.sdc.toscaparser.api.RequirementAssignments; import org.onap.sdc.toscaparser.api.elements.Metadata; +import org.onap.sdc.toscaparser.api.functions.GetInput; +import org.onap.sdc.toscaparser.api.parameters.Input; import org.onap.sdc.utils.DistributionStatusEnum; import org.onap.so.asdc.client.ASDCConfiguration; import org.onap.so.asdc.client.exceptions.ArtifactInstallerException; @@ -118,6 +127,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + @Component public class ToscaResourceInstaller { @@ -137,6 +149,7 @@ public class ToscaResourceInstaller { protected static final String MSO = "SO"; + @Autowired protected ServiceRepository serviceRepo; @@ -145,7 +158,7 @@ public class ToscaResourceInstaller { @Autowired protected ServiceProxyResourceCustomizationRepository serviceProxyCustomizationRepo; - + @Autowired protected CollectionResourceRepository collectionRepo; @@ -267,9 +280,9 @@ public class ToscaResourceInstaller { @Transactional(rollbackFor = { ArtifactInstallerException.class }) public void installTheResource(ToscaResourceStructure toscaResourceStruct, VfResourceStructure vfResourceStruct) - throws ArtifactInstallerException { + throws ArtifactInstallerException { VfResourceStructure vfResourceStructure = vfResourceStruct; - extractHeatInformation(toscaResourceStruct, vfResourceStructure); + extractHeatInformation(toscaResourceStruct, vfResourceStructure); // PCLO: in case of deployment failure, use a string that will represent // the type of artifact that failed... @@ -278,9 +291,23 @@ public class ToscaResourceInstaller { createToscaCsar(toscaResourceStruct); createService(toscaResourceStruct, vfResourceStruct); Service service = toscaResourceStruct.getCatalogService(); - + List<NodeTemplate> vfNodeTemplatesList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList(); + + + for (NodeTemplate nodeTemplate : vfNodeTemplatesList) { + + Metadata metadata = nodeTemplate.getMetaData(); + String serviceType = toscaResourceStruct.getCatalogService().getServiceType(); + String vfCustomizationCategory = toscaResourceStruct.getSdcCsarHelper() + .getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CATEGORY); + processVfModules(toscaResourceStruct, vfResourceStructure, service, nodeTemplate, metadata, + vfCustomizationCategory); + } + + processResourceSequence(toscaResourceStruct, service); processVFResources(toscaResourceStruct, service, vfResourceStructure); - processAllottedResources(toscaResourceStruct, service); + List<NodeTemplate> allottedResourceList = toscaResourceStruct.getSdcCsarHelper().getAllottedResources(); + processAllottedResources(toscaResourceStruct, service, allottedResourceList); processNetworks(toscaResourceStruct, service); // process Network Collections processNetworkCollections(toscaResourceStruct, service); @@ -327,12 +354,136 @@ public class ToscaResourceInstaller { } } + + List<NodeTemplate> getRequirementList(List<NodeTemplate> resultList, List<NodeTemplate> nodeTemplates, + ISdcCsarHelper iSdcCsarHelper) { + + List<NodeTemplate> nodes = new ArrayList<NodeTemplate>(); + nodes.addAll(nodeTemplates); + + for (NodeTemplate nodeTemplate : nodeTemplates) { + RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); + List<RequirementAssignment> reqAs = requirement.getAll(); + for (RequirementAssignment ra : reqAs) { + String reqNode = ra.getNodeTemplateName(); + for (NodeTemplate rNode : resultList) { + if (rNode.getName().equals(reqNode)) { + if(!resultList.contains(nodeTemplate)) { + resultList.add(nodeTemplate); + } + if(nodes.contains(nodeTemplate)) { + nodes.remove(nodeTemplate); + } + break; + } + } + } + } + + if (!nodes.isEmpty()) { + getRequirementList(resultList, nodes, iSdcCsarHelper); + } + + return resultList; + } + + // This method retrieve resource sequence from csar file + void processResourceSequence(ToscaResourceStructure toscaResourceStructure, Service service) { + List<String> resouceSequence = new ArrayList<String>(); + List<NodeTemplate> resultList = new ArrayList<NodeTemplate>(); + + ISdcCsarHelper iSdcCsarHelper = toscaResourceStructure.getSdcCsarHelper(); + List<NodeTemplate> nodeTemplates = iSdcCsarHelper.getServiceNodeTemplates(); + List<NodeTemplate> nodes = new ArrayList<NodeTemplate>(); + nodes.addAll(nodeTemplates); + + for (NodeTemplate nodeTemplate : nodeTemplates) { + RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); + + if (requirement == null || requirement.getAll() == null || requirement.getAll().isEmpty()) { + resultList.add(nodeTemplate); + nodes.remove(nodeTemplate); + } + } + + resultList = getRequirementList(resultList, nodes, iSdcCsarHelper); + + for (NodeTemplate node : resultList) { + String templateName = node.getMetaData().getValue("name"); + if (!resouceSequence.contains(templateName)) { + resouceSequence.add(templateName); + } + } + + String resourceSeqStr = resouceSequence.stream().collect(Collectors.joining(",")); + service.setResourceOrder(resourceSeqStr); + logger.debug(" resourceSeq for service uuid(" + service.getModelUUID() + ") : " + resourceSeqStr); + } + + private static String CUSTOMIZATION_UUID = "customizationUUID"; + + private static String getValue(Object value, List<Input> servInputs) { + String output = null; + if(value instanceof Map) { + // currently this logic handles only one level of nesting. + return ((LinkedHashMap) value).values().toArray()[0].toString(); + } else if(value instanceof GetInput) { + String inputName = ((GetInput)value).getInputName(); + + for(Input input : servInputs) { + if(input.getName().equals(inputName)) { + // keep both input name and default value + // if service input does not supplies value the use default value + String defaultValue = input.getDefault() != null ? (String) input.getDefault().toString() : ""; + output = inputName + "|" + defaultValue;// return default value + } + } + + } else { + output = value != null ? value.toString() : ""; + } + return output; // return property value + } + + String getResourceInput(ToscaResourceStructure toscaResourceStructure, String resourceCustomizationUuid) throws ArtifactInstallerException { + Map<String, String> resouceRequest = new HashMap<>(); + ISdcCsarHelper iSdcCsarHelper = toscaResourceStructure.getSdcCsarHelper(); + + List<Input> serInput = iSdcCsarHelper.getServiceInputs(); + Optional<NodeTemplate> nodeTemplateOpt = iSdcCsarHelper.getServiceNodeTemplates().stream() + .filter(e -> e.getMetaData().getValue(CUSTOMIZATION_UUID).equals(resourceCustomizationUuid)).findFirst(); + if(nodeTemplateOpt.isPresent()) { + NodeTemplate nodeTemplate = nodeTemplateOpt.get(); + LinkedHashMap<String, Property> resourceProperties = nodeTemplate.getProperties(); + + for(String key : resourceProperties.keySet()) { + Property property = resourceProperties.get(key); + + String value = getValue(property.getValue(), serInput); + resouceRequest.put(key, value); + } + } + + try { + ObjectMapper objectMapper = new ObjectMapper(); + String jsonStr = objectMapper.writeValueAsString(resouceRequest); + + jsonStr = jsonStr.replace("\"", "\\\""); + logger.debug("resource request for resource customization id (" + resourceCustomizationUuid + ") : " + jsonStr); + return jsonStr; + } catch (JsonProcessingException e) { + logger.error("resource input could not be deserialized for resource customization id (" + + resourceCustomizationUuid + ")"); + throw new ArtifactInstallerException("resource input could not be parsed", e); + } + } + protected void processNetworks (ToscaResourceStructure toscaResourceStruct, Service service) throws ArtifactInstallerException { List <NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper ().getServiceVlList (); - if (nodeTemplatesVLList != null) { - for (NodeTemplate vlNode : nodeTemplatesVLList) { + if (nodeTemplatesVLList != null) { + for (NodeTemplate vlNode : nodeTemplatesVLList) { String networkResourceModelName = vlNode.getMetaData ().getValue (SdcPropertyNames.PROPERTY_NAME_NAME); TempNetworkHeatTemplateLookup tempNetworkLookUp = @@ -353,8 +504,8 @@ public class ToscaResourceInstaller { } else { throw new ArtifactInstallerException ("No HeatTemplate found for artifactUUID: " + tempNetworkLookUp.getHeatTemplateArtifactUuid ()); - } - } else { + } + } else { NetworkResourceCustomization networkCustomization = createNetwork (vlNode, toscaResourceStruct, null, @@ -363,16 +514,15 @@ public class ToscaResourceInstaller { service); service.getNetworkCustomizations().add (networkCustomization); logger.debug ("No NetworkResourceName found in TempNetworkHeatTemplateLookup for " - + networkResourceModelName); - } - - } - } + + networkResourceModelName); + } + + } + } } - protected void processAllottedResources(ToscaResourceStructure toscaResourceStruct, Service service) { - List<NodeTemplate> allottedResourceList = toscaResourceStruct.getSdcCsarHelper().getAllottedResources(); - + protected void processAllottedResources(ToscaResourceStructure toscaResourceStruct, Service service, + List<NodeTemplate> allottedResourceList) { if (allottedResourceList != null) { for (NodeTemplate allottedNode : allottedResourceList) { service.getAllottedCustomizations() @@ -478,9 +628,9 @@ public class ToscaResourceInstaller { logger.debug("vfCustomizationUUID: " + vfCustomizationUUID + " matches vfNotificationResource CustomizationUUID"); - processVfModules(toscaResourceStruct, vfResourceStructure, service, nodeTemplate, vfCustomizationUUID); - } - else { + processVfModules(toscaResourceStruct, vfResourceStructure, service, nodeTemplate, metadata, + vfCustomizationCategory); + } else { logger.debug("Notification VF ResourceCustomizationUUID: " + vfNotificationResource.getResourceCustomizationUUID() + " doesn't match " + "Tosca VF Customization UUID: " + vfCustomizationUUID); @@ -490,40 +640,59 @@ public class ToscaResourceInstaller { protected void processVfModules(ToscaResourceStructure toscaResourceStruct, VfResourceStructure vfResourceStructure, - Service service, NodeTemplate nodeTemplate, String vfCustomizationUUID) - throws Exception { - logger.debug("processVfModules for vfCustomizationUUID: " + vfCustomizationUUID); + Service service, NodeTemplate nodeTemplate, Metadata metadata, String vfCustomizationCategory) throws Exception { - VnfResourceCustomization vnfResource = createVnfResource(nodeTemplate, toscaResourceStruct, service); + logger.debug("VF Category is : " + vfCustomizationCategory); - if (vfResourceStructure.getVfModuleStructure() != null && !vfResourceStructure.getVfModuleStructure().isEmpty()) { - Set<CvnfcCustomization> existingCvnfcSet = new HashSet<CvnfcCustomization>(); - Set<VnfcCustomization> existingVnfcSet = new HashSet<VnfcCustomization>(); - - for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) { - - logger.debug("vfModuleStructure:" + vfModuleStructure.toString()); - List<org.onap.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct.getSdcCsarHelper() - .getVfModulesByVf(vfCustomizationUUID); - IVfModuleData vfMetadata = vfModuleStructure.getVfModuleMetadata(); - - logger.debug("Comparing Vf_Modules_Metadata CustomizationUUID : " + vfMetadata.getVfModuleModelCustomizationUUID()); + if(vfResourceStructure.getVfModuleStructure() != null && !vfResourceStructure.getVfModuleStructure().isEmpty()) + { - Optional<org.onap.sdc.toscaparser.api.Group> matchingObject = vfGroups.stream() - .peek(group -> logger.debug("To Csar Group VFModuleModelCustomizationUUID " + group.getMetadata().getValue("vfModuleModelCustomizationUUID"))) - .filter(group -> group.getMetadata().getValue("vfModuleModelCustomizationUUID").equals(vfMetadata.getVfModuleModelCustomizationUUID())) - .findFirst(); - if (matchingObject.isPresent()) { - VfModuleCustomization vfModuleCustomization = createVFModuleResource(matchingObject.get(), nodeTemplate, toscaResourceStruct, - vfResourceStructure, vfMetadata, vnfResource,service, existingCvnfcSet, existingVnfcSet); - vfModuleCustomization.getVfModule().setVnfResources(vnfResource.getVnfResources()); - } else { - throw new Exception("Cannot find matching VFModule Customization in Csar for Vf_Modules_Metadata: " + vfMetadata.getVfModuleModelCustomizationUUID()); + String vfCustomizationUUID = toscaResourceStruct.getSdcCsarHelper() + .getMetadataPropertyValue(metadata, SdcPropertyNames.PROPERTY_NAME_CUSTOMIZATIONUUID); + logger.debug("VFCustomizationUUID=" + vfCustomizationUUID); + + IResourceInstance vfNotificationResource = vfResourceStructure.getResourceInstance(); + + // Make sure the VF ResourceCustomizationUUID from the notification and tosca customizations match before comparing their VF Modules UUID's + logger.debug("Checking if Notification VF ResourceCustomizationUUID: " + vfNotificationResource.getResourceCustomizationUUID() + + " matches Tosca VF Customization UUID: " + vfCustomizationUUID); + + if(vfCustomizationUUID.equals(vfNotificationResource.getResourceCustomizationUUID())){ + + logger.debug("vfCustomizationUUID: " + vfCustomizationUUID + " matches vfNotificationResource CustomizationUUID"); + + VnfResourceCustomization vnfResource = createVnfResource(nodeTemplate, toscaResourceStruct, service); + + Set<CvnfcCustomization> existingCvnfcSet = new HashSet<CvnfcCustomization>(); + Set<VnfcCustomization> existingVnfcSet = new HashSet<VnfcCustomization>(); + + for (VfModuleStructure vfModuleStructure : vfResourceStructure.getVfModuleStructure()) { + + logger.debug("vfModuleStructure:" + vfModuleStructure.toString()); + List<org.onap.sdc.toscaparser.api.Group> vfGroups = toscaResourceStruct + .getSdcCsarHelper().getVfModulesByVf(vfCustomizationUUID); + IVfModuleData vfMetadata = vfModuleStructure.getVfModuleMetadata(); + + logger.debug("Comparing Vf_Modules_Metadata CustomizationUUID : " + vfMetadata.getVfModuleModelCustomizationUUID()); + + Optional<org.onap.sdc.toscaparser.api.Group> matchingObject = vfGroups.stream() + .peek(group -> logger.debug("To Csar Group VFModuleModelCustomizationUUID " + group.getMetadata().getValue("vfModuleModelCustomizationUUID"))) + .filter(group -> group.getMetadata().getValue("vfModuleModelCustomizationUUID").equals(vfMetadata.getVfModuleModelCustomizationUUID())) + .findFirst(); + if(matchingObject.isPresent()){ + VfModuleCustomization vfModuleCustomization = createVFModuleResource(matchingObject.get(), nodeTemplate, toscaResourceStruct, + vfResourceStructure,vfMetadata, vnfResource, service, existingCvnfcSet, existingVnfcSet); + vfModuleCustomization.getVfModule().setVnfResources(vnfResource.getVnfResources()); + }else + throw new Exception("Cannot find matching VFModule Customization in Csar for Vf_Modules_Metadata: " + vfMetadata.getVfModuleModelCustomizationUUID()); + } + service.getVnfCustomizations().add(vnfResource); + } else{ + logger.debug("Notification VF ResourceCustomizationUUID: " + vfNotificationResource.getResourceCustomizationUUID() + " doesn't match " + + "Tosca VF Customization UUID: " + vfCustomizationUUID); } } - - service.getVnfCustomizations().add(vnfResource); } public void processWatchdog(String distributionId, String servideUUID) { @@ -762,6 +931,7 @@ public class ToscaResourceInstaller { spCustomizationResource.setSourceService(service); spCustomizationResource.setToscaNodeType(nodeTemplate.getType()); serviceProxyCustomizationSet.add(spCustomizationResource); + toscaResourceStructure.setCatalogServiceProxyResourceCustomization(spCustomizationResource); diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java new file mode 100644 index 0000000000..bc9275bb51 --- /dev/null +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInputTest.java @@ -0,0 +1,185 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2019 Huawei Intellectual Property. All rights reserved. + * ================================================================================ + * 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.so.asdc.installer.heat; + +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.onap.sdc.tosca.parser.api.ISdcCsarHelper; +import org.onap.sdc.toscaparser.api.NodeTemplate; +import org.onap.sdc.toscaparser.api.Property; +import org.onap.sdc.toscaparser.api.elements.Metadata; +import org.onap.sdc.toscaparser.api.functions.GetInput; +import org.onap.sdc.toscaparser.api.parameters.Input; +import org.onap.so.asdc.client.exceptions.ArtifactInstallerException; +import org.onap.so.asdc.installer.ToscaResourceStructure; +import org.onap.so.db.catalog.beans.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.LinkedHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; + +public class ToscaResourceInputTest { + @Rule + public MockitoRule rule = MockitoJUnit.rule(); + + @Mock + ISdcCsarHelper sdcCsarHelper; + + @Mock + NodeTemplate nodeTemplate; + + @Mock + Property property; + + @Mock + GetInput getInput; + + @Mock + Input input; + + @Test + public void processResourceSequenceTest() { + ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller(); + ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure(); + toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper); + ArrayList<Input> inputs = new ArrayList<>(); + Service service = new Service(); + + HashMap<String, Object> hashMap = new HashMap(); + hashMap.put("name", "node1"); + + Metadata metadata = new Metadata(hashMap); + when(nodeTemplate.getMetaData()).thenReturn(metadata); + when(sdcCsarHelper.getServiceInputs()).thenReturn(inputs); + when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(sdcCsarHelper.getRequirementsOf(any())).thenReturn(null); + + + toscaResourceInstaller.processResourceSequence(toscaResourceStructure, service); + assertEquals(service.getResourceOrder(), "node1"); + } + + @Test + public void resouceInputTest() throws ArtifactInstallerException { + ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller(); + ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure(); + + toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper); + + HashMap hashMap = new HashMap(); + hashMap.put("customizationUUID", "id1"); + Metadata metadata = new Metadata(hashMap); + + LinkedHashMap propertyMap = new LinkedHashMap(); + propertyMap.put("prop1", property); + + when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(nodeTemplate.getMetaData()).thenReturn(metadata); + when(nodeTemplate.getProperties()).thenReturn(propertyMap); + when(property.getValue()).thenReturn("value1"); + + String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); + assertEquals("{\\\"prop1\\\":\\\"value1\\\"}", resourceInput); + } + + @Test + public void resouceInputGetInputTest() throws ArtifactInstallerException { + ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller(); + ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure(); + + toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper); + + HashMap hashMap = new HashMap(); + hashMap.put("customizationUUID", "id1"); + Metadata metadata = new Metadata(hashMap); + + LinkedHashMap propertyMap = new LinkedHashMap(); + propertyMap.put("prop1", property); + + when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input)); + when(nodeTemplate.getMetaData()).thenReturn(metadata); + when(nodeTemplate.getProperties()).thenReturn(propertyMap); + when(property.getValue()).thenReturn(getInput); + when(getInput.getInputName()).thenReturn("res_key"); + when(input.getName()).thenReturn("res_key"); + when(input.getDefault()).thenReturn("default_value"); + + String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); + assertEquals("{\\\"prop1\\\":\\\"res_key|default_value\\\"}", resourceInput); + } + + @Test + public void resouceInputGetInputDefaultIntegerTest() throws ArtifactInstallerException { + ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller(); + ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure(); + + toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper); + + HashMap hashMap = new HashMap(); + hashMap.put("customizationUUID", "id1"); + Metadata metadata = new Metadata(hashMap); + + LinkedHashMap propertyMap = new LinkedHashMap(); + propertyMap.put("prop1", property); + + when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input)); + when(nodeTemplate.getMetaData()).thenReturn(metadata); + when(nodeTemplate.getProperties()).thenReturn(propertyMap); + when(property.getValue()).thenReturn(getInput); + when(getInput.getInputName()).thenReturn("res_key"); + when(input.getName()).thenReturn("res_key"); + when(input.getDefault()).thenReturn(new Integer(10)); + + String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); + assertEquals("{\\\"prop1\\\":\\\"res_key|10\\\"}", resourceInput); + } + + @Test + public void resouceInputGetInputNoPropertyTest() throws ArtifactInstallerException { + ToscaResourceInstaller toscaResourceInstaller = new ToscaResourceInstaller(); + ToscaResourceStructure toscaResourceStructure = new ToscaResourceStructure(); + + toscaResourceStructure.setSdcCsarHelper(sdcCsarHelper); + + HashMap hashMap = new HashMap(); + hashMap.put("customizationUUID", "id1"); + Metadata metadata = new Metadata(hashMap); + + LinkedHashMap propertyMap = new LinkedHashMap(); + + when(sdcCsarHelper.getServiceNodeTemplates()).thenReturn(Arrays.asList(nodeTemplate)); + when(sdcCsarHelper.getServiceInputs()).thenReturn(Arrays.asList(input)); + when(nodeTemplate.getMetaData()).thenReturn(metadata); + when(nodeTemplate.getProperties()).thenReturn(propertyMap); + + String resourceInput = toscaResourceInstaller.getResourceInput(toscaResourceStructure, "id1"); + assertEquals("{}", resourceInput); + } +} diff --git a/asdc-controller/src/test/resources/schema.sql b/asdc-controller/src/test/resources/schema.sql index b17fb5d47c..17423f8434 100644 --- a/asdc-controller/src/test/resources/schema.sql +++ b/asdc-controller/src/test/resources/schema.sql @@ -31,6 +31,7 @@ create table `allotted_resource_customization` ( `min_instances` int(11) default null, `max_instances` int(11) default null, `ar_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, `creation_timestamp` datetime not null default current_timestamp, primary key (`model_customization_uuid`), key `fk_allotted_resource_customization__allotted_resource1_idx` (`ar_model_uuid`), @@ -141,11 +142,11 @@ create table `network_resource` ( `model_name` varchar(200) not null, `model_invariant_uuid` varchar(200) default null, `description` varchar(1200) default null, - `heat_template_artifact_uuid` varchar(200) not null, + `heat_template_artifact_uuid` varchar(200) null, `neutron_network_type` varchar(20) default null, `model_version` varchar(20) default null, `tosca_node_type` varchar(200) default null, - `aic_version_min` varchar(20) not null, + `aic_version_min` varchar(20) null, `aic_version_max` varchar(20) default null, `orchestration_mode` varchar(20) default 'heat', `resource_category` varchar(20) default null, @@ -154,8 +155,7 @@ create table `network_resource` ( primary key (`model_uuid`), key `fk_network_resource__temp_network_heat_template_lookup1_idx` (`model_name`), key `fk_network_resource__heat_template1_idx` (`heat_template_artifact_uuid`), - constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade, - constraint `fk_network_resource__temp_network_heat_template_lookup__mod_nm1` foreign key (`model_name`) references `temp_network_heat_template_lookup` (`network_resource_model_name`) on delete no action on update no action + constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade ) engine=innodb default charset=latin1; @@ -171,6 +171,7 @@ create table `network_resource_customization` ( `network_scope` varchar(45) default null, `creation_timestamp` datetime not null default current_timestamp, `network_resource_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_network_resource_customization__network_resource1_idx` (`network_resource_model_uuid`), constraint `fk_network_resource_customization__network_resource1` foreign key (`network_resource_model_uuid`) references `network_resource` (`model_uuid`) on delete cascade on update cascade @@ -207,6 +208,7 @@ create table `service` ( `environment_context` varchar(200) default null, `workload_context` varchar(200) default null, `service_category` varchar(200) default null, + `resource_order` varchar(200) default null, primary key (`model_uuid`), key `fk_service__tosca_csar1_idx` (`tosca_csar_artifact_uuid`), constraint `fk_service__tosca_csar1` foreign key (`tosca_csar_artifact_uuid`) references `tosca_csar` (`artifact_uuid`) on delete cascade on update cascade @@ -396,6 +398,7 @@ create table `vnf_resource_customization` ( `creation_timestamp` datetime not null default current_timestamp, `vnf_resource_model_uuid` varchar(200) not null, `multi_stage_design` varchar(20) default null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_vnf_resource_customization__vnf_resource1_idx` (`vnf_resource_model_uuid`), constraint `fk_vnf_resource_customization__vnf_resource1` foreign key (`vnf_resource_model_uuid`) references `vnf_resource` (`model_uuid`) on delete cascade on update cascade diff --git a/bpmn/MSOCommonBPMN/pom.xml b/bpmn/MSOCommonBPMN/pom.xml index abf53f96f5..b115d36a0a 100644 --- a/bpmn/MSOCommonBPMN/pom.xml +++ b/bpmn/MSOCommonBPMN/pom.xml @@ -363,12 +363,12 @@ <dependency> <groupId>org.onap.sdc.sdc-tosca</groupId> <artifactId>sdc-tosca</artifactId> - <version>1.4.1</version> + <version>1.4.4</version> </dependency> <dependency> <groupId>org.onap.sdc.jtosca</groupId> <artifactId>jtosca</artifactId> - <version>1.4.1</version> + <version>1.4.4</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/MsoUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/MsoUtils.groovy index 2f240fb70d..4f0b530a3b 100644 --- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/MsoUtils.groovy +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/MsoUtils.groovy @@ -931,7 +931,8 @@ class MsoUtils { if (moduleIndexList == null || moduleIndexList.size() == 0) { return "0" } - def sortedModuleIndexList = moduleIndexList.sort { a, b -> a.compareTo b } + + def sortedModuleIndexList = moduleIndexList.sort{ a, b -> a as Integer <=> b as Integer} for (i in 0..sortedModuleIndexList.size()-1) { if (Integer.parseInt(sortedModuleIndexList[i]) != i) { diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy index 5659c7affa..5e949fd8d2 100644 --- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofHoming.groovy @@ -35,7 +35,7 @@ import org.onap.so.client.HttpClientFactory import org.onap.so.logger.MsoLogger import org.onap.so.db.catalog.beans.CloudIdentity import org.onap.so.db.catalog.beans.CloudSite - +import org.onap.so.db.catalog.beans.HomingInstance import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor import org.onap.so.utils.TargetEntity @@ -209,17 +209,12 @@ class OofHoming extends AbstractServiceTaskProcessor { for (int j = 0; j < arrSol.length(); j++) { JSONObject placement = arrSol.getJSONObject(j) utils.log("DEBUG", "****** Placement Solution is: " + placement + " *****", "true") - String jsonServiceResourceId = placement.getString("serviceResourceId") - String jsonResourceModuleName = placement.getString("resourceModuleName") + String jsonServiceResourceId = jsonUtil.getJsonValue( placement.toString(), "serviceResourceId") + utils.log("DEBUG", "****** homing serviceResourceId is: " + jsonServiceResourceId + " *****", "true") for (Resource resource : resourceList) { String serviceResourceId = resource.getResourceId() - String resourceModuleName = "" - if (resource.getResourceType() == ResourceType.ALLOTTED_RESOURCE || - resource.getResourceType() == ResourceType.VNF) { - resourceModuleName = resource.getNfFunction() - } - if (serviceResourceId.equalsIgnoreCase(jsonServiceResourceId) || - resourceModuleName.equalsIgnoreCase(jsonResourceModuleName)) { + utils.log("DEBUG", "****** decomp serviceResourceId is: " + serviceResourceId + " *****", "true") + if (serviceResourceId.equalsIgnoreCase(jsonServiceResourceId)) { JSONObject solution = placement.getJSONObject("solution") String solutionType = solution.getString("identifierType") String inventoryType = "" @@ -228,20 +223,26 @@ class OofHoming extends AbstractServiceTaskProcessor { } else { inventoryType = "cloud" } + utils.log("DEBUG", "****** homing inventoryType is: " + inventoryType + " *****", "true") resource.getHomingSolution().setInventoryType(InventoryType.valueOf(inventoryType)) JSONArray assignmentArr = placement.getJSONArray("assignmentInfo") + utils.log("DEBUG", "****** assignmentInfo is: " + assignmentArr.toString() + " *****", "true") + + Map<String, String> assignmentMap = jsonUtil.entryArrayToMap(execution, + assignmentArr.toString(), "key", "value") String oofDirectives = null - assignmentArr.each { element -> - JSONObject jsonObject = new JSONObject(element.toString()) - if (jsonUtil.getJsonRawValue(jsonObject.toString(), "key") == "oof_directives") { - oofDirectives = jsonUtil.getJsonRawValue(jsonObject.toString(), "value") + assignmentMap.each { key, value -> + utils.log("DEBUG", "****** element: " + key + " *****", "true") + if (key == "oof_directives") { + oofDirectives = value + utils.log("DEBUG", "****** homing oofDirectives: " + oofDirectives + " *****", "true") } } - Map<String, String> assignmentMap = jsonUtil.entryArrayToMap(execution, - assignmentArr.toString(), "key", "value") String cloudOwner = assignmentMap.get("cloudOwner") + utils.log("DEBUG", "****** homing cloudOwner: " + cloudOwner + " *****", "true") String cloudRegionId = assignmentMap.get("locationId") + utils.log("DEBUG", "****** homing cloudRegionId: " + cloudRegionId + " *****", "true") resource.getHomingSolution().setCloudOwner(cloudOwner) resource.getHomingSolution().setCloudRegionId(cloudRegionId) @@ -249,12 +250,26 @@ class OofHoming extends AbstractServiceTaskProcessor { cloudSite.setId(cloudRegionId) cloudSite.setRegionId(cloudRegionId) String orchestrator = execution.getVariable("orchestrator") - if ((orchestrator != null) || (orchestrator != "")) { + if ((orchestrator != null) && (orchestrator != "")) { cloudSite.setOrchestrator(orchestrator) + utils.log("DEBUG", "****** orchestrator: " + orchestrator + " *****", "true") + } else { + cloudSite.setOrchestrator("multicloud") } CloudIdentity cloudIdentity = new CloudIdentity() cloudIdentity.setId(cloudRegionId) + cloudIdentity.setIdentityServerType(ServerType."KEYSTONE") + cloudIdentity.setAdminTenant("service") + cloudIdentity.setIdentityAuthenticationType(AuthenticationType.USERNAME_PASSWORD) + String msoMulticloudUserName = UrnPropertiesReader + .getVariable("mso.multicloud.api.username", execution, + "apih") + String msoMulticloudPassword = UrnPropertiesReader + .getVariable("mso.multicloud.api.password", execution, + "abc123") + cloudIdentity.setMsoId(msoMulticloudUserName) + cloudIdentity.setMsoPass(msoMulticloudPassword) // Get MSB Url String msbHost = oofUtils.getMsbHost(execution) String multicloudApiEndpoint = UrnPropertiesReader @@ -263,19 +278,39 @@ class OofHoming extends AbstractServiceTaskProcessor { cloudIdentity.setIdentityUrl(msbHost + multicloudApiEndpoint + "/" + cloudOwner + "/" + cloudRegionId + "/infra_workload") - + utils.log("DEBUG", "****** Cloud IdentityUrl: " + msbHost + multicloudApiEndpoint + + "/" + cloudOwner + "/" + + cloudRegionId + "/infra_workload" + + " *****", "true") + utils.log("DEBUG", "****** CloudIdentity: " + cloudIdentity.toString() + + " *****", "true") cloudSite.setIdentityService(cloudIdentity) + utils.log("DEBUG", "****** CloudSite: " + cloudSite.toString() + + " *****", "true") // Set cloudsite in catalog DB here - oofUtils.createCloudSiteCatalogDb(cloudSite) + oofUtils.createCloudSite(cloudSite, execution) if (oofDirectives != null && oofDirectives != "") { resource.getHomingSolution().setOofDirectives(oofDirectives) execution.setVariable("oofDirectives", oofDirectives) - utils.log("DEBUG", "***** OofDirectives is: " + oofDirectives + + utils.log("DEBUG", "***** OofDirectives set to: " + oofDirectives + " *****", "true") } + // Set Homing Instance + String serviceInstanceId = decomposition.getServiceInstance().getInstanceId() + HomingInstance homingInstance = new HomingInstance() + homingInstance.setServiceInstanceId(serviceInstanceId) + homingInstance.setCloudOwner(cloudOwner) + homingInstance.setCloudRegionId(cloudRegionId) + if (oofDirectives != null && oofDirectives != "") { + homingInstance.setOofDirectives(oofDirectives)} + else { + homingInstance.setOofDirectives("{}") + } + oofUtils.createHomingInstance(homingInstance, execution) + if (inventoryType.equalsIgnoreCase("service")) { resource.getHomingSolution().setRehome(assignmentMap.get("isRehome").toBoolean()) VnfResource vnf = new VnfResource() @@ -283,6 +318,12 @@ class OofHoming extends AbstractServiceTaskProcessor { resource.getHomingSolution().setVnf(vnf) resource.getHomingSolution().setServiceInstanceId(solution.getJSONArray("identifiers")[0].toString()) } + } else { + utils.log("DEBUG", "ProcessHomingSolution Exception: no matching serviceResourceIds returned in " + + "homing solution", isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - " + + "Occurred in Homing ProcessHomingSolution: no matching serviceResourceIds returned") + } } } @@ -312,8 +353,10 @@ class OofHoming extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** Completed Homing Process Homing Solution ***", isDebugEnabled) } catch (BpmnError b) { + utils.log("DEBUG", "ProcessHomingSolution Error: " + b, isDebugEnabled) throw b } catch (Exception e) { + utils.log("DEBUG", "ProcessHomingSolution Exception: " + e, isDebugEnabled) msoLogger.error(e); exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occurred in Homing ProcessHomingSolution") } diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy index c0da8881fb..af33f38a64 100644 --- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy +++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/OofUtils.groovy @@ -36,6 +36,7 @@ import org.onap.so.bpmn.core.json.JsonUtils import org.onap.so.client.HttpClient import org.onap.so.client.HttpClientFactory import org.onap.so.db.catalog.beans.CloudSite +import org.onap.so.db.catalog.beans.HomingInstance import org.onap.so.utils.TargetEntity import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders @@ -495,6 +496,7 @@ class OofUtils { if (candidatesJson != "") {candidatesJson = candidatesJson.substring(0, candidatesJson.length() - 1)} return candidatesJson } + /** * This method creates a cloudsite in catalog database. * @@ -524,9 +526,19 @@ class OofUtils { exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from CatalogDB.") } } - + + /** + * This method creates a HomingInstance in catalog database. + * + * @param HomingInstance homingInstance + * + * @return void + */ + Void createHomingInstance(HomingInstance homingInstance, DelegateExecution execution) { + oofInfraUtils.createHomingInstance(homingInstance, execution) + } String getMsbHost(DelegateExecution execution) { - msbHost = UrnPropertiesReader.getVariable("mso.msb.host", execution, "msb-iag.onap") + String msbHost = UrnPropertiesReader.getVariable("mso.msb.host", execution, "msb-iag.onap") Integer msbPort = UrnPropertiesReader.getVariable("mso.msb.port", execution, "80").toInteger() diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java index 12a4b2a9c3..025b533dc0 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilder.java @@ -20,29 +20,18 @@ package org.onap.so.bpmn.common.resource; -import java.io.File; import java.io.IOException; -import java.nio.file.Paths; +import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; import org.camunda.bpm.engine.runtime.Execution; -import org.onap.sdc.tosca.parser.api.ISdcCsarHelper; -import org.onap.sdc.tosca.parser.exceptions.SdcToscaParserException; -import org.onap.sdc.tosca.parser.impl.SdcToscaParserFactory; -import org.onap.sdc.toscaparser.api.NodeTemplate; -import org.onap.sdc.toscaparser.api.Property; -import org.onap.sdc.toscaparser.api.RequirementAssignment; -import org.onap.sdc.toscaparser.api.RequirementAssignments; -import org.onap.sdc.toscaparser.api.functions.GetInput; -import org.onap.sdc.toscaparser.api.parameters.Input; import org.onap.so.bpmn.core.UrnPropertiesReader; import org.onap.so.bpmn.core.json.JsonUtils; import org.onap.so.client.HttpClient; @@ -58,86 +47,34 @@ import com.google.gson.reflect.TypeToken; public class ResourceRequestBuilder { - private static String CUSTOMIZATION_UUID = "customizationUUID"; + private static String CUSTOMIZATION_UUID = "cuserviceResourcesstomizationUUID"; - private static String SERVICE_URL_TOSCA_CSAR = "/v3/serviceToscaCsar"; + private static String SERVICE_URL_SERVICE_INSTANCE = "/v2/serviceResources"; private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA, ResourceRequestBuilder.class); static JsonUtils jsonUtil = new JsonUtils(); - public static List<String> getResourceSequence(Execution execution, String serviceUuid) { - List<String> resouceSequence = new ArrayList<String>(); - List<NodeTemplate> resultList = new ArrayList<NodeTemplate>(); - String csarpath = null; - try { - csarpath = getCsarFromUuid(serviceUuid); - - SdcToscaParserFactory toscaParser = SdcToscaParserFactory.getInstance(); - ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath, false); - List<NodeTemplate> nodeTemplates = iSdcCsarHelper.getServiceNodeTemplates(); - List<NodeTemplate> nodes = new ArrayList<NodeTemplate>(); - nodes.addAll(nodeTemplates); - - for (NodeTemplate nodeTemplate : nodeTemplates) { - RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); - - if (requirement == null || requirement.getAll() == null || requirement.getAll().isEmpty()) { - resultList.add(nodeTemplate); - nodes.remove(nodeTemplate); - } - } - - resultList = getRequirementList(resultList, nodes, iSdcCsarHelper); - - for (NodeTemplate node : resultList) { - String templateName = node.getMetaData().getValue("name"); - if (!resouceSequence.contains(templateName)) { - resouceSequence.add(templateName); - } - } - - } catch (SdcToscaParserException toscarParserE) { - LOGGER.debug("sdc tosca parser failed for csar: " + csarpath, toscarParserE); - return resouceSequence; - } catch (Exception e) { - LOGGER.debug("csar file is not available for service uuid:" + serviceUuid, e); - return resouceSequence; - } - - return resouceSequence; - } + public static List<String> getResourceSequence(String serviceUuid) { + + List<String> resourceSequence = new ArrayList(); + try { + Map<String, Object> serviceResponse = getServiceInstnace(serviceUuid); + + if (serviceResponse.containsKey("serviceResources")) { + Map<String, Object> serviceResources = (Map<String, Object>) serviceResponse.get("serviceResources"); - private static List<NodeTemplate> getRequirementList(List<NodeTemplate> resultList, List<NodeTemplate> nodeTemplates, - ISdcCsarHelper iSdcCsarHelper) { - - List<NodeTemplate> nodes = new ArrayList<NodeTemplate>(); - nodes.addAll(nodeTemplates); - - for (NodeTemplate nodeTemplate : nodeTemplates) { - RequirementAssignments requirement = iSdcCsarHelper.getRequirementsOf(nodeTemplate); - List<RequirementAssignment> reqAs = requirement.getAll(); - for (RequirementAssignment ra : reqAs) { - String reqNode = ra.getNodeTemplateName(); - for (NodeTemplate rNode : resultList) { - if (rNode.getName().equals(reqNode)) { - if(!resultList.contains(nodeTemplate)) { - resultList.add(nodeTemplate); - } - if(nodes.contains(nodeTemplate)) { - nodes.remove(nodeTemplate); - } - break; - } - } - } - } - - if (!nodes.isEmpty()) { - getRequirementList(resultList, nodes, iSdcCsarHelper); - } - - return resultList; + if (serviceResources.containsKey("resourceOrder")) { + String resourceOrder = (String) serviceResources.get("resourceOrder"); + if (resourceOrder!= null) { + resourceSequence.addAll(Arrays.asList(resourceOrder.split(","))); + } + } + } + } catch (Exception e) { + LOGGER.error("not able to retrieve service order."); + } + return resourceSequence; } /* build the resource Parameters detail. @@ -184,12 +121,8 @@ public class ResourceRequestBuilder { resourceInputsFromUuiMap = new HashMap(); } - try { - Map<String, Object> resourceInputsFromServiceDeclaredLevel = buildResouceRequest(serviceUuid, resourceCustomizationUuid, serviceInput); - resourceInputsFromUuiMap.putAll(resourceInputsFromServiceDeclaredLevel); - } catch(SdcToscaParserException e) { - LOGGER.error("SdcToscaParserException", e); - } + Map<String, Object> resourceInputsFromServiceDeclaredLevel = buildResouceRequest(serviceUuid, resourceCustomizationUuid, serviceInput); + resourceInputsFromUuiMap.putAll(resourceInputsFromServiceDeclaredLevel); String resourceInputsStr = getJsonString(resourceInputsFromUuiMap); String result = "{\n" + "\"locationConstraints\":" + locationConstraints +",\n" @@ -198,91 +131,95 @@ public class ResourceRequestBuilder { return result; } - public static Map<String, Object> buildResouceRequest(String serviceUuid, String resourceCustomizationUuid, Map<String, Object> serviceInputs) - throws SdcToscaParserException { - - Map<String, Object> resouceRequest = new HashMap<>(); - - String csarpath = null; + @SuppressWarnings("unchecked") + public static Map<String, Object> buildResouceRequest(String serviceUuid, String resourceCustomizationUuid, Map<String, Object> serviceInputs) { try { - csarpath = getCsarFromUuid(serviceUuid); - } catch(Exception e) { - LOGGER.debug("csar file is not available for service uuid:" + serviceUuid, e); - return resouceRequest; - } + Map<String, Object> serviceInstnace = getServiceInstnace(serviceUuid); - SdcToscaParserFactory toscaParser = SdcToscaParserFactory.getInstance(); - ISdcCsarHelper iSdcCsarHelper = toscaParser.getSdcCsarHelper(csarpath, false); + // find match of customization uuid in vnf + Map<String, Map<String, Object>> serviceResources = (Map<String, Map<String, Object>>) serviceInstnace.get("serviceResources"); - List<Input> serInput = iSdcCsarHelper.getServiceInputs(); - Optional<NodeTemplate> nodeTemplateOpt = iSdcCsarHelper.getServiceNodeTemplates().stream() - .filter(e -> e.getMetaData().getValue(CUSTOMIZATION_UUID).equals(resourceCustomizationUuid)).findFirst(); + List<Map<String, Object>> serviceVnfCust = (List<Map<String, Object>>) serviceResources.get("serviceVnfs"); + String resourceInputStr = getResourceInputStr(serviceVnfCust, resourceCustomizationUuid); - if(nodeTemplateOpt.isPresent()) { - NodeTemplate nodeTemplate = nodeTemplateOpt.get(); - LinkedHashMap<String, Property> resourceProperties = nodeTemplate.getProperties(); + // find match in network resource + if (resourceInputStr == null) { + List<Map<String, Object>> serviceNetworkCust = (List<Map<String, Object>>) serviceResources.get("serviceNetworks"); + resourceInputStr = getResourceInputStr(serviceNetworkCust, resourceCustomizationUuid); - for(String key : resourceProperties.keySet()) { - Property property = resourceProperties.get(key); - - Object value = getValue(property.getValue(), serviceInputs, serInput); - resouceRequest.put(key, value); + // find match in AR resource + if (resourceInputStr == null) { + List<Map<String, Object>> serviceArCust = (List<Map<String, Object>>) serviceResources.get("serviceAllottedResources"); + resourceInputStr = getResourceInputStr(serviceArCust, resourceCustomizationUuid); + } } + + if (resourceInputStr != null || !resourceInputStr.equals("")) { + return getResourceInput(resourceInputStr, serviceInputs); + } + + } catch (Exception e) { + LOGGER.error("not able to retrieve service instance"); } - return resouceRequest; + return new HashMap(); } - private static Object getValue(Object value, Map<String, Object> serviceInputs, List<Input> servInputs) { - if(value instanceof Map) { - Map<String, Object> valueMap = new HashMap<>(); + private static String getResourceInputStr(List<Map<String, Object>> resources, String resCustomizationUuid) { - Map<String, Object> propertyMap = (Map<String, Object>)value; + for (Map<String, Object> resource : resources) { + Map<String, String> modelInfo = (Map<String, String>) resource.get("modelInfo"); - for(String key : propertyMap.keySet()) { - valueMap.put(key, getValue(propertyMap.get(key), serviceInputs, servInputs)); + if (modelInfo.get("modelCustomizationUuid").equalsIgnoreCase(resCustomizationUuid)) { + return (String) resource.get("resourceInput"); } - return valueMap; // return if the value is nested hashmap - } else if(value instanceof GetInput) { - String inputName = ((GetInput)value).getInputName(); - - if(serviceInputs.get(inputName) != null) { - value = serviceInputs.get(inputName); - } else { - for(Input input : servInputs) { - if(input.getName().equals(inputName)) { - return input.getDefault(); // return default value - } + } + return null; + } + + // this method combines resource input with service input + private static Map<String, Object> getResourceInput(String resourceInputStr, Map<String, Object> serviceInputs) { + Gson gson = new Gson(); + Type type = new TypeToken<Map<String, String>>(){}.getType(); + Map<String, Object> resourceInput = gson.fromJson(resourceInputStr, type); + + // replace value if key is available in service input + for (String key: resourceInput.keySet()) { + String value = (String) resourceInput.get(key); + + if (value.contains("|")) { + // node it type of getinput + String[] split = value.split("\\|"); + String tmpKey = split[0]; + if (serviceInputs.containsKey(tmpKey)) { + value = (String) serviceInputs.get(tmpKey); + } else { + value = split[1]; } } + resourceInput.put(key,value); } - return value; // return property value + return resourceInput; } - private static String getCsarFromUuid(String uuid) throws Exception { - String catalogEndPoint = UrnPropertiesReader.getVariable("mso.catalog.db.endpoint"); - HttpClient client = new HttpClientFactory().newJsonClient( - UriBuilder.fromUri(catalogEndPoint).path(SERVICE_URL_TOSCA_CSAR).queryParam("serviceModelUuid", uuid).build().toURL(), - TargetEntity.CATALOG_DB); - - client.addAdditionalHeader("Accept", "application/json"); -// client.addBasicAuthHeader (UrnPropertiesReader.getVariable("mso.adapters.db.auth"), UrnPropertiesReader.getVariable("mso.msoKey")); - client.addAdditionalHeader("Authorization", UrnPropertiesReader.getVariable("mso.db.auth")); - Response response = client.get(); - String value = response.readEntity(String.class); + public static Map<String, Object> getServiceInstnace(String uuid) throws Exception { + String catalogEndPoint = UrnPropertiesReader.getVariable("mso.catalog.db.endpoint"); - HashMap<String, String> map = new Gson().fromJson(value, new TypeToken<HashMap<String, String>>() {}.getType()); + HttpClient client = new HttpClientFactory().newJsonClient( + UriBuilder.fromUri(catalogEndPoint).path(SERVICE_URL_SERVICE_INSTANCE).queryParam("serviceModelUuid", uuid).build().toURL(), + TargetEntity.CATALOG_DB); - String filePath = Paths.get(System.getProperty("mso.config.path"), "ASDC", map.get("version"), map.get("name")).normalize().toString(); + client.addAdditionalHeader("Accept", "application/json"); + client.addAdditionalHeader("Authorization", UrnPropertiesReader.getVariable("mso.db.auth")); - File csarFile = new File(filePath); + Response apiResponse = client.get(); - if(!csarFile.exists()) { - throw new Exception("csar file does not exist in filePath:" + csarFile.getAbsolutePath()); - } + String value = apiResponse.readEntity(String.class); - return csarFile.getAbsolutePath(); + ObjectMapper objectMapper = new ObjectMapper(); + HashMap<String, Object> map = objectMapper.readValue(value, HashMap.class); + return map; } - + public static <T> T getJsonObject(String jsonstr, Class<T> type) { ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true); diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java new file mode 100644 index 0000000000..df7b57f3a3 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/util/OofInfraUtils.java @@ -0,0 +1,112 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018. Intel Corp. All rights reserved. + * ================================================================================ + * 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.so.bpmn.common.util; + +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.onap.so.bpmn.core.UrnPropertiesReader; +import org.onap.so.db.catalog.beans.CloudSite; +import org.onap.so.db.catalog.beans.HomingInstance; +import org.onap.so.db.catalog.client.CatalogDbClient; +import org.onap.so.logger.MsoLogger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.Optional; + +public class OofInfraUtils { + + private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, OofInfraUtils.class); + + /** + * This method creates a cloudsite in catalog database. + * + * @param cloudSite + * + * @return void + */ + public void createCloudSite(CloudSite cloudSite, DelegateExecution execution) { + String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); + String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); + try { + CloudSite getCloudsite; + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + + getCloudsite = Optional.ofNullable(client.getCloudSite(cloudSite.getId(), endpoint + "/cloudSite/")).orElse(new CloudSite()); + if (!cloudSite.getId().equals(getCloudsite.getId())) { + client.postCloudSite(cloudSite); + LOGGER.debug("Did not findd cloudsite : " + cloudSite.getId()); + LOGGER.debug("Will create cloudSite: " + cloudSite.toString()); + } + else { + LOGGER.debug("Found cloudsite : " + cloudSite.getId()); + LOGGER.debug("Will not create cloudSite: " + cloudSite.toString()); + } + } catch (Exception e) { + LOGGER.debug("Error looking up or creating cloudsite : " + cloudSite.getId()); + LOGGER.debug("CloudSite Lookup/Creation Error: " + e); + } + + + } + + /** + * This method creates a HomingInstance in catalog database. + * + * @param homingInstance + * + * @return void + */ + public void createHomingInstance(HomingInstance homingInstance, DelegateExecution execution) { + String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); + String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + try { + client.postHomingInstance(homingInstance); + } catch (Exception exception) { + LOGGER.debug("Could not create HomingInstance : " + homingInstance.getServiceInstanceId()); + LOGGER.debug("HomingInstance Creation Error: " + exception); + } + + } + + /** + * This method gets a HomingInstance in catalog database. + * + * @param serviceInstanceId + * + * @return HomingInstance + */ + public HomingInstance getHomingInstance(String serviceInstanceId, DelegateExecution execution) { + String endpoint = UrnPropertiesReader.getVariable("mso.catalog.db.spring.endpoint", execution); + String auth = UrnPropertiesReader.getVariable("mso.db.auth", execution); + + CatalogDbClient client = new CatalogDbClient(endpoint, auth); + try { + return client.getHomingInstance(serviceInstanceId, endpoint + "/homingInstance/"); + } catch (Exception exception) { + LOGGER.debug("Could not get HomingInstance for serviceInstanceId : " + serviceInstanceId); + LOGGER.debug("Get HomingInstance Error: " + exception); + } + return null; + } +} diff --git a/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/MsoUtilsTest.groovy b/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/MsoUtilsTest.groovy index dfaf5d2140..c6a68c0e7a 100644 --- a/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/MsoUtilsTest.groovy +++ b/bpmn/MSOCommonBPMN/src/test/groovy/org/onap/so/bpmn/common/scripts/MsoUtilsTest.groovy @@ -277,5 +277,13 @@ class MsoUtilsTest { } } - + @Test + public void testGetLowestUnusedIndex() { + def responseAsString = getFile("vfModuleCount.xml") + def index = utils.getLowestUnusedIndex(responseAsString) + println " lowest module count test: " + println " actual - " + index + println " expected - " + "14" + assertEquals("expected vs actual", "14", index) + } }
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java index 5598e3d2e4..e5e13268b2 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/bpmn/common/resource/ResourceRequestBuilderTest.java @@ -19,24 +19,390 @@ */ package org.onap.so.bpmn.common.resource; -import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.onap.so.BaseTest; +import org.onap.so.bpmn.core.UrnPropertiesReader; +import org.springframework.core.env.Environment; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; + -public class ResourceRequestBuilderTest { +public class ResourceRequestBuilderTest extends BaseTest { @Test - public void buildResouceRequestTest() throws Exception { + public void getResourceInputTest() throws Exception { - ResourceRequestBuilder.buildResouceRequest("xxxxxx", - "a1074969-944f-4ddc-b687-9550b0c8cd57", new HashMap<>()); + + + stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5")) + .willReturn(ok("{ \"serviceResources\" : {\n" + + "\t\"modelInfo\" : {\n" + + "\t\t\"modelName\" : \"demoVFWCL\",\n" + + "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" + + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" + + "\t\t\"modelVersion\" : \"1.0\"\n" + + "\t},\n" + + "\t\"serviceType\" : \"\",\n" + + "\t\"serviceRole\" : \"\",\n" + + "\t\"environmentContext\" : null,\n" + + "\t\"resourceOrder\" : \"res1,res2\",\n" + + "\t\"workloadContext\" : \"Production\",\n" + + "\t\"serviceVnfs\": [\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" + + "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" + + "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t},\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" + + "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" + + "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t}\n" + + "\t],\n" + + "\t\"serviceNetworks\": [],\n" + + "\t\"serviceAllottedResources\": []\n" + + "\t}}"))); + +// when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080"); + HashMap serviceInput = new HashMap(); + serviceInput.put("key", "value"); + Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5", + "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput); + assertEquals(stringObjectMap.get("a"), "value"); } @Test - public void buildResouceRequestParametersTest() throws Exception { + public void getResourceInputDefaultValueTest() throws Exception { + + stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5")) + .willReturn(ok("{ \"serviceResources\" : {\n" + + "\t\"modelInfo\" : {\n" + + "\t\t\"modelName\" : \"demoVFWCL\",\n" + + "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" + + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" + + "\t\t\"modelVersion\" : \"1.0\"\n" + + "\t},\n" + + "\t\"serviceType\" : \"\",\n" + + "\t\"serviceRole\" : \"\",\n" + + "\t\"environmentContext\" : null,\n" + + "\t\"workloadContext\" : \"Production\",\n" + + "\t\"serviceVnfs\": [\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" + + "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" + + "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t},\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" + + "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" + + "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t}\n" + + "\t],\n" + + "\t\"serviceNetworks\": [],\n" + + "\t\"serviceAllottedResources\": []\n" + + "\t}}"))); + +// when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080"); + HashMap serviceInput = new HashMap(); + serviceInput.put("key1", "value"); + Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5", + "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput); + assertEquals(stringObjectMap.get("a"), "default_value"); + } + + @Test + public void getResourceInputValueNoDefaultTest() throws Exception { + + stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5")) + .willReturn(ok("{ \"serviceResources\" : {\n" + + "\t\"modelInfo\" : {\n" + + "\t\t\"modelName\" : \"demoVFWCL\",\n" + + "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" + + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" + + "\t\t\"modelVersion\" : \"1.0\"\n" + + "\t},\n" + + "\t\"serviceType\" : \"\",\n" + + "\t\"serviceRole\" : \"\",\n" + + "\t\"environmentContext\" : null,\n" + + "\t\"workloadContext\" : \"Production\",\n" + + "\t\"serviceVnfs\": [\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" + + "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" + + "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t},\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" + + "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" + + "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"value\\\"}\"," + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t}\n" + + "\t],\n" + + "\t\"serviceNetworks\": [],\n" + + "\t\"serviceAllottedResources\": []\n" + + "\t}}"))); + +// when(UrnPropertiesReader.getVariable(anyString())).thenReturn("http://localhost:8080"); + HashMap serviceInput = new HashMap(); + serviceInput.put("key1", "value"); + Map<String, Object> stringObjectMap = ResourceRequestBuilder.buildResouceRequest("c3954379-4efe-431c-8258-f84905b158e5", + "e776449e-2b10-45c5-9217-2775c88ca1a0", serviceInput); + assertEquals(stringObjectMap.get("a"), "value"); + } + + @Test + public void getResourceSequenceTest() throws Exception { + + stubFor(get(urlEqualTo("/ecomp/mso/catalog/v2/serviceResources?serviceModelUuid=c3954379-4efe-431c-8258-f84905b158e5")) + .willReturn(ok("{ \"serviceResources\" : {\n" + + "\t\"modelInfo\" : {\n" + + "\t\t\"modelName\" : \"demoVFWCL\",\n" + + "\t\t\"modelUuid\" : \"c3954379-4efe-431c-8258-f84905b158e5\",\n" + + "\t\t\"modelInvariantUuid\" : \"0cbff61e-3b0a-4eed-97ce-b1b4faa03493\",\n" + + "\t\t\"modelVersion\" : \"1.0\"\n" + + "\t},\n" + + "\t\"serviceType\" : \"\",\n" + + "\t\"serviceRole\" : \"\",\n" + + "\t\"environmentContext\" : null,\n" + + "\t\"resourceOrder\" : \"res1,res2\",\n" + + "\t\"workloadContext\" : \"Production\",\n" + + "\t\"serviceVnfs\": [\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"15968a6e-2fe5-41bf-a481\",\n" + + "\t\t\t\"modelUuid\" : \"808abda3-2023-4105-92d2-e62644b61d53\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"6e4ffc7c-497e-4a77-970d-af966e642d31\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"a00404d5-d7eb-4c46-b6b6-9cf2d087e545\",\n" + + "\t\t\t\"modelInstanceName\" : \"15968a6e-2fe5-41bf-a481 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.15968a6e2fe541bfA481\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"b\\\"}\"," + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"15968a6e2fe541bfA481..base_vfw..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"ec7fadde-1e5a-42f7-8255-cb19e475ff45\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"61ab8b64-a014-4cf3-8a5a-b5ef388f8819\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"123aff6b-854f-4026-ae1e-cc74a3924576\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vfw\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t},\n" + + "\t\n" + + "\t\t{ \"modelInfo\" : {\n" + + "\t\t\t\"modelName\" : \"f971106a-248f-4202-9d1f\",\n" + + "\t\t\t\"modelUuid\" : \"4fbc08a4-35ed-4a59-9e47-79975e4add7e\",\n" + + "\t\t\t\"modelInvariantUuid\" : \"c669799e-adf1-46ae-8c70-48b326fe89f3\",\n" + + "\t\t\t\"modelVersion\" : \"1.0\",\n" + + "\t\t\t\"modelCustomizationUuid\" : \"e776449e-2b10-45c5-9217-2775c88ca1a0\",\n" + + "\t\t\t\"modelInstanceName\" : \"f971106a-248f-4202-9d1f 0\"\n" + + "\t\t\t},\n" + + "\t\t\"toscaNodeType\" : \"org.openecomp.resource.vf.F971106a248f42029d1f\",\n" + + "\t\t\"nfFunction\" \t: null,\n" + + "\t\t\"nfType\" \t\t: null,\n" + + "\t\t\"nfRole\" \t\t: null,\n" + + "\"resourceInput\":\"{\\\"a\\\":\\\"key|default_value\\\"}\"," + + "\t\t\"nfNamingCode\" \t: null,\n" + + "\t\t\"multiStageDesign\" : \"false\",\n" + + "\t\t\t\"vfModules\": [\n" + + "\t\t\t\t{\n" + + "\t\t\t\t\t\"modelInfo\" : { \n" + + "\t\t\t\t\t\t\"modelName\" : \"F971106a248f42029d1f..base_vpkg..module-0\",\n" + + "\t\t\t\t\t\t\"modelUuid\" : \"47d5273a-7456-4786-9035-b3911944cc35\",\n" + + "\t\t\t\t\t\t\"modelInvariantUuid\" : \"0ea3e57e-ac7a-425a-928b-b4aee8806c15\",\n" + + "\t\t\t\t\t\t\"modelVersion\" : \"1\",\n" + + "\t\t\t\t\t\t\"modelCustomizationUuid\" : \"9ed9fef6-d3f8-4433-9807-7e23393a16bc\"\n" + + "\t\t\t\t\t},\t\t\"isBase\" : true,\n" + + "\t\t\t\t\t\"vfModuleLabel\" : \"base_vpkg\",\n" + + "\t\t\t\t\t\"initialCount\" : 1,\n" + + "\t\t\t\t\t\"hasVolumeGroup\" : true\n" + + "\t\t\t\t}\n" + + "\t\t\t]\n" + + "\t\t}\n" + + "\t],\n" + + "\t\"serviceNetworks\": [],\n" + + "\t\"serviceAllottedResources\": []\n" + + "\t}}"))); - String parameters = - "{ \"locationConstraints\":[ ], \"resources\":[ { \"resourceName\":\"vEPC_ONAP01\", \"resourceInvariantUuid\":\"36ebe421-283a-4ee8-92f1-d09e7c44b911\", \"resourceUuid\":\"27a0e235-b67a-4ea4-a0cf-25761afed111\", \"resourceCustomizationUuid\":\"27a0e235-b67a-4ea4-a0cf-25761afed231\", \"parameters\":{ \"locationConstraints\":[ { \"vnfProfileId\":\"b244d433-8c9c-49ad-9c70-8e34b8dc8328\", \"locationConstraints\":{ \"vimId\":\"vmware_vio\" } }, { \"vnfProfileId\":\"8a9f7c48-21ce-41b7-95b8-a8ac61ccb1ff\", \"locationConstraints\":{ \"vimId\":\"core-dc_RegionOne\" } } ], \"resources\":[ ], \"requestInputs\":{ \"sdncontroller\":\"\" } } }, { \"resourceName\":\"VL OVERLAYTUNNEL\", \"resourceInvariantUuid\":\"184494cf-472f-436f-82e2-d83dddde21cb\", \"resourceUuid\":\"95bc3e59-c9c5-458f-ad6e-78874ab4b3cc\", \"resourceCustomizationUuid\":\"27a0e235-b67a-4ea4-a0cf-25761afed232\", \"parameters\":{ \"locationConstraints\":[ ], \"resources\":[ ], \"requestInputs\":{ } } } ], \"requestInputs\":{ \"vlunderlayvpn0_name\":\"l3connect\", \"vlunderlayvpn0_site1_id\":\"IP-WAN-Controller-1\", \"vlunderlayvpn0_site2_id\":\"SPTNController\", \"vlunderlayvpn0_site1_networkName\":\"network1,network2\", \"vlunderlayvpn0_site2_networkName\":\"network3,network4\", \"vlunderlayvpn0_site1_routerId\":\"a8098c1a-f86e-11da-bd1a-00112444be1a\", \"vlunderlayvpn0_site2_routerId\":\"a8098c1a-f86e-11da-bd1a-00112444be1e\", \"vlunderlayvpn0_site2_importRT1\":\"200:1,200:2\", \"vlunderlayvpn0_site1_exportRT1\":\"300:1,300:2\", \"vlunderlayvpn0_site2_exportRT1\":\"400:1,400:2\", \"vlunderlayvpn0_site1_vni\":\"2000\", \"vlunderlayvpn0_site2_vni\":\"3000\", \"vlunderlayvpn0_tunnelType\":\"L3-DCI\" } }"; - ResourceRequestBuilder.buildResourceRequestParameters(null, "1bd0eae6-2dcc-4461-9ae6-56d641f369d6", "27a0e235-b67a-4ea4-a0cf-25761afed231", parameters); + List<String> resourceSequence = ResourceRequestBuilder.getResourceSequence("c3954379-4efe-431c-8258-f84905b158e5"); + assertEquals(resourceSequence.size(), 2); + assertEquals(resourceSequence.get(0), "res1"); + assertEquals(resourceSequence.get(1), "res2"); } }
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/DmaapPropertiesClientTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/DmaapPropertiesClientTest.java index dbf2eb75fd..95b86524a3 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/DmaapPropertiesClientTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/DmaapPropertiesClientTest.java @@ -26,6 +26,7 @@ import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; @@ -46,6 +47,7 @@ public class DmaapPropertiesClientTest extends BaseTest{ @Autowired private DmaapPropertiesClient dmaapPropertiesClient; + private final String file = "src/test/resources/org/onap/so/client/avpn/dmaap/avpnDmaapAsyncRequestStatus.json"; private String requestId = "rq1234d1-5a33-55df-13ab-12abad84e331"; private String clientSource = "SPP"; diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java index 47e05831ad..4d7c85efdb 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/dmaapproperties/GlobalDmaapPublisherTest.java @@ -21,6 +21,7 @@ package org.onap.so.client.dmaapproperties; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import org.junit.Test; import org.onap.so.BaseTest; @@ -30,7 +31,8 @@ public class GlobalDmaapPublisherTest extends BaseTest{ @Autowired private GlobalDmaapPublisher globalDmaapPublisher; - + + @Test public void testGetters() { assertEquals("dmaapUsername", globalDmaapPublisher.getUserName()); diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/exception/ExceptionBuilderTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/exception/ExceptionBuilderTest.java index d1013e7541..2e25449937 100644 --- a/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/exception/ExceptionBuilderTest.java +++ b/bpmn/MSOCommonBPMN/src/test/java/org/onap/so/client/exception/ExceptionBuilderTest.java @@ -21,7 +21,7 @@ package org.onap.so.client.exception; import static org.junit.Assert.assertEquals; - +import static org.junit.Assert.assertTrue; import org.camunda.bpm.engine.delegate.BpmnError; import org.junit.Test; import org.onap.so.bpmn.mock.FileUtil; @@ -32,6 +32,7 @@ public class ExceptionBuilderTest extends BaseTest { private static final String RESOURCE_PATH = "__files/"; private static final String VALID_ERROR_MESSAGE = "{test error message}"; + @Test public void buildAndThrowWorkflowExceptionTest() { try { diff --git a/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml b/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml index 18f94f3b88..945972c9e2 100644 --- a/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml +++ b/bpmn/MSOCommonBPMN/src/test/resources/application-test.yaml @@ -84,7 +84,7 @@ mso: callbackRetryAttempts: '5' catalog: db: - endpoint: http://localhost:${wiremock.server.port}/ + endpoint: http://localhost:${wiremock.server.port}/ecomp/mso/catalog spring: endpoint: http://localhost:${wiremock.server.port} correlation: diff --git a/bpmn/MSOCommonBPMN/src/test/resources/vfModuleCount.xml b/bpmn/MSOCommonBPMN/src/test/resources/vfModuleCount.xml new file mode 100644 index 0000000000..b7dee68a77 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/test/resources/vfModuleCount.xml @@ -0,0 +1,44 @@ +<vfModules> + <vf-module> + <module-index>0</module-index> + </vf-module> + <vf-module> + <module-index>1</module-index> + </vf-module> + <vf-module> + <module-index>2</module-index> + </vf-module> + <vf-module> + <module-index>3</module-index> + </vf-module> + <vf-module> + <module-index>4</module-index> + </vf-module> + <vf-module> + <module-index>5</module-index> + </vf-module> + <vf-module> + <module-index>6</module-index> + </vf-module> + <vf-module> + <module-index>7</module-index> + </vf-module> + <vf-module> + <module-index>8</module-index> + </vf-module> + <vf-module> + <module-index>9</module-index> + </vf-module> + <vf-module> + <module-index>10</module-index> + </vf-module> + <vf-module> + <module-index>11</module-index> + </vf-module> + <vf-module> + <module-index>12</module-index> + </vf-module> + <vf-module> + <module-index>13</module-index> + </vf-module> +</vfModules>
\ No newline at end of file diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/RollbackData.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/RollbackData.java index 9c80548490..52207f2156 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/RollbackData.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/RollbackData.java @@ -25,24 +25,26 @@ import java.util.HashMap; import java.util.Map; import java.util.stream.Collectors; +import com.fasterxml.jackson.annotation.JsonProperty; + /** - * An object that stores data for rollbacks. Data is organized by type. A - * type is simply a string identifier. Multiple types of data may be stored - * in the same object for separate rollback operations. + * An object that stores data for rollbacks. Data is organized by type. A type is simply a string + * identifier. Multiple types of data may be stored in the same object for separate rollback + * operations. */ public class RollbackData implements Serializable { private static final long serialVersionUID = 1L; - private Map<String, Map<String, Serializable>> dictionary = - new HashMap<>(); + @JsonProperty + private final Map<String, Map<String, Serializable>> dictionary = new HashMap<>(); /** * Returns true if the specified type is stored in this object. * * @param type the data type */ - public boolean hasType(String type) { + public boolean hasType(final String type) { return dictionary.containsKey(type); } @@ -53,9 +55,8 @@ public class RollbackData implements Serializable { * @param key the key * @param value the value */ - public void put(String type, String key, String value) { - Map<String, Serializable> mapForType = dictionary - .computeIfAbsent(type, k -> new HashMap<>()); + public void put(final String type, final String key, final String value) { + final Map<String, Serializable> mapForType = dictionary.computeIfAbsent(type, k -> new HashMap<>()); mapForType.put(key, value); } @@ -67,8 +68,8 @@ public class RollbackData implements Serializable { * @param key the key * @return the item or null if there is no item for the specified type and key */ - public Serializable get(String type, String key) { - Map<String, Serializable> mapForType = dictionary.get(type); + public Serializable get(final String type, final String key) { + final Map<String, Serializable> mapForType = dictionary.get(type); if (mapForType == null) { return null; @@ -83,7 +84,7 @@ public class RollbackData implements Serializable { * @param type the data type * @return a map, or null if there are no items associated with the specified data type */ - public Map<String, Serializable> get(String type) { + public Map<String, Serializable> get(final String type) { return dictionary.get(type); } diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/AllottedResource.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/AllottedResource.java index f143346cae..c7c7bba20c 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/AllottedResource.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/AllottedResource.java @@ -22,6 +22,8 @@ package org.onap.so.bpmn.core.domain; import java.util.UUID; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonRootName; /** @@ -55,6 +57,9 @@ public class AllottedResource extends Resource { private String nfNamingCode; private String orchestrationStatus; + @JsonIgnore + private String resourceInput; + /* * GET and SET */ @@ -119,4 +124,13 @@ public class AllottedResource extends Resource { public void setOrchestrationStatus(String orchestrationStatus) { this.orchestrationStatus = orchestrationStatus; } + + + public String getResourceInput() { + return resourceInput; + } + + public void setResourceInput(String resourceInput) { + this.resourceInput = resourceInput; + } }
\ No newline at end of file diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/NetworkResource.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/NetworkResource.java index 20ab3ecc84..f0e97f15ef 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/NetworkResource.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/NetworkResource.java @@ -22,6 +22,8 @@ package org.onap.so.bpmn.core.domain; import java.util.UUID; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonRootName; @@ -47,7 +49,10 @@ public class NetworkResource extends Resource { private String networkRole; private String networkTechnology; private String networkScope; - + + @JsonIgnore + private String resourceInput; + /* * GET and SET */ @@ -75,4 +80,12 @@ public class NetworkResource extends Resource { public void setNetworkScope(String networkScope) { this.networkScope = networkScope; } + + public String getResourceInput() { + return resourceInput; + } + + public void setResourceInput(String resourceInput) { + this.resourceInput = resourceInput; + } }
\ No newline at end of file diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/ServiceInstance.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/ServiceInstance.java index 4295f50a3c..5cdbbcb7c9 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/ServiceInstance.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/ServiceInstance.java @@ -23,6 +23,8 @@ package org.onap.so.bpmn.core.domain; import java.io.Serializable; import java.util.Map; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonRootName; /** @@ -32,6 +34,7 @@ import com.fasterxml.jackson.annotation.JsonRootName; * @author cb645j * */ +@JsonIgnoreProperties(ignoreUnknown = true) public class ServiceInstance extends JsonWrapper implements Serializable { private static final long serialVersionUID = 1L; diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/VnfResource.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/VnfResource.java index dc76ab0bc7..a7e5389583 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/VnfResource.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/VnfResource.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.UUID; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; @@ -59,6 +60,9 @@ public class VnfResource extends Resource { private String multiStageDesign; private String orchestrationStatus; + @JsonIgnore + private String resourceInput; + /* * GET and SET */ @@ -123,6 +127,15 @@ public class VnfResource extends Resource { public void setOrchestrationStatus(String orchestrationStatus){ this.orchestrationStatus = orchestrationStatus; } + + public String getResourceInput() { + return resourceInput; + } + + public void setResourceInput(String resourceInput) { + this.resourceInput = resourceInput; + } + /** * Returns a list of all VfModule objects. * Base module is first entry in the list diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/json/JsonUtils.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/json/JsonUtils.java index ee53148e44..35f76908e3 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/json/JsonUtils.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/json/JsonUtils.java @@ -927,7 +927,7 @@ public class JsonUtils { for (int i = 0; i < arr.length(); i++){ JSONObject jo = arr.getJSONObject(i); String key = jo.getString(keyNode); - String value = jo.getString(valueNode); + String value = jo.get(valueNode).toString(); map.put(key, value); } msoLogger.debug("Completed Entry Array To Map Util Method"); @@ -954,7 +954,7 @@ public class JsonUtils { for(int i = 0; i < arr.length(); i++){ JSONObject jo = arr.getJSONObject(i); String key = jo.getString(keyNode); - String value = jo.getString(valueNode); + String value = jo.get(valueNode).toString(); map.put(key, value); } msoLogger.debug("Completed Entry Array To Map Util Method"); diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/AllottedResourceTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/AllottedResourceTest.java index b1dd8659cd..cca28d411f 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/AllottedResourceTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/AllottedResourceTest.java @@ -21,8 +21,11 @@ package org.onap.so.bpmn.core.domain; import static org.junit.Assert.*; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Test; +import java.io.IOException; + public class AllottedResourceTest { private AllottedResource ar = new AllottedResource(); @@ -51,4 +54,13 @@ public class AllottedResourceTest { } + @Test + public void allottedResourceMapperTest() throws IOException { + String jsonStr = "{\"allottedResourceType\": \"code123\", \"resourceInput\": \"sample\"}"; + ObjectMapper objectMapper = new ObjectMapper(); + AllottedResource vnfResource = objectMapper.readValue(jsonStr, AllottedResource.class); + + assertTrue(vnfResource != null); + } + } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/NetworkResourceTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/NetworkResourceTest.java index 6ca9cef8d2..ee23ebd438 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/NetworkResourceTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/NetworkResourceTest.java @@ -21,8 +21,11 @@ package org.onap.so.bpmn.core.domain; import static org.junit.Assert.*; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Test; +import java.io.IOException; + public class NetworkResourceTest { private NetworkResource nr = new NetworkResource(); @@ -39,4 +42,13 @@ public class NetworkResourceTest { } + @Test + public void networkResourceMapperTest() throws IOException { + String jsonStr = "{\"networkScope\": \"code123\", \"resourceInput\": \"sample\"}"; + ObjectMapper objectMapper = new ObjectMapper(); + NetworkResource networkResource = objectMapper.readValue(jsonStr, NetworkResource.class); + + assertTrue(networkResource != null); + } + } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/ServiceInstanceTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/ServiceInstanceTest.java index 7cacc9da88..c04dc9d601 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/ServiceInstanceTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/ServiceInstanceTest.java @@ -21,8 +21,10 @@ package org.onap.so.bpmn.core.domain; import static org.junit.Assert.*; +import java.io.IOException; import java.util.Map; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Test; public class ServiceInstanceTest { @@ -58,4 +60,12 @@ public class ServiceInstanceTest { } + @Test + public void serviceInstanceMapperTest() throws IOException { + String jsonStr = "{\"workloadContext\": \"code123\", \"resourceOrder\": \"sample\"}"; + ObjectMapper objectMapper = new ObjectMapper(); + ServiceInstance serviceInstance = objectMapper.readValue(jsonStr, ServiceInstance.class); + assertTrue(serviceInstance != null); + } + } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/VnfResourceTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/VnfResourceTest.java index 24947e9a8d..a83337fc5b 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/VnfResourceTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/domain/VnfResourceTest.java @@ -21,8 +21,10 @@ package org.onap.so.bpmn.core.domain; import static org.junit.Assert.*; +import java.io.IOException; import java.util.List; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.Test; public class VnfResourceTest { @@ -52,4 +54,13 @@ public class VnfResourceTest { } + @Test + public void vnfResourceMapperTest() throws IOException { + String jsonStr = "{\"vnfHostname\": \"home\", \"resourceInput\": \"sample\"}"; + ObjectMapper objectMapper = new ObjectMapper(); + VnfResource vnfResource = objectMapper.readValue(jsonStr, VnfResource.class); + + assertTrue(vnfResource != null); + } + } diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/json/JsonUtilsTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/json/JsonUtilsTest.java index 6748128f05..067ae9806d 100644 --- a/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/json/JsonUtilsTest.java +++ b/bpmn/MSOCoreBPMN/src/test/java/org/onap/so/bpmn/core/json/JsonUtilsTest.java @@ -81,7 +81,19 @@ public class JsonUtilsTest { JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo"); Map<String, String> map = utils.entryArrayToMap(assignmentInfo.toString(), "variableName", "variableValue"); assertEquals(map.get("cloudOwner"), "CloudOwner"); - } + } + @Test + public void entryArrayToMapStringTestOof() throws IOException { + JsonUtils utils = new JsonUtils(); + String response = this.getJson("OofExample.json"); + String entry = JsonUtils.getJsonValue(response, "solutions.placementSolutions"); + JSONArray arr = new JSONArray(entry); + JSONArray arr2 = arr.getJSONArray(0); + JSONObject homingDataJson = arr2.getJSONObject(0); + JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo"); + Map<String, String> map = utils.entryArrayToMap(assignmentInfo.toString(), "key", "value"); + assertEquals(map.get("cloudOwner"), "HPA-cloud"); + } @Test public void getJsonRootPropertyTest() throws IOException { String response = this.getJson("SDNCServiceResponseExample.json"); diff --git a/bpmn/MSOCoreBPMN/src/test/resources/json-examples/OofExample.json b/bpmn/MSOCoreBPMN/src/test/resources/json-examples/OofExample.json new file mode 100644 index 0000000000..127748a5e8 --- /dev/null +++ b/bpmn/MSOCoreBPMN/src/test/resources/json-examples/OofExample.json @@ -0,0 +1,110 @@ +{ + "requestStatus":"completed", + "statusMessage":"", + "solutions":{ + "placementSolutions":[ + [ + { + "serviceResourceId":"78976677-bca7-446a-8b31-52b83e9aa925", + "resourceModuleName":"7400fd06C75f4a44A68f", + "solution":{ + "identifierType":"cloudRegionId", + "cloudOwner":"HPA-cloud", + "identifiers":[ + "Cloud-region3" + ] + }, + "assignmentInfo":[ + { + "value":"false", + "key":"isRehome" + }, + { + "value":"att_aic", + "key":"locationType" + }, + { + "value":"Cloud-region3", + "key":"locationId" + }, + { + "value":{ + "directives":[ + { + "directives":[ + { + "attributes":[ + { + "attribute_value":"Flavor31", + "attribute_name":"label_1" + } + ], + "type":"flavor_directives" + }, + { + "attributes":[ + { + "attribute_value":"direct", + "attribute_name":"oof_returned_vnic_type_for_firewall_protected" + } + ], + "type":"sriovNICNetwork_directives" + } + ], + "type":"vnfc", + "id":"vfw_1" + }, + { + "directives":[ + { + "attributes":[ + { + "attribute_value":"Flavor32", + "attribute_name":"label_2" + } + ], + "type":"flavor_directives" + } + ], + "type":"vnfc", + "id":"vfw_2" + }, + { + "directives":[ + { + "attributes":[ + { + "attribute_value":"Flavor32", + "attribute_name":"label_3" + } + ], + "type":"flavor_directives" + } + ], + "type":"vnfc", + "id":"vfw_3" + } + ] + }, + "key":"oof_directives" + }, + { + "value":"DLLSTX233", + "key":"cloudClli" + }, + { + "value":"75919", + "key":"aic_version" + }, + { + "value":"HPA-cloud", + "key":"cloudOwner" + } + ] + } + ] + ] + }, + "transactionId":"", + "requestId":"05da4f90-15f7-4128-8ac4-e06dc3cc06f9" +}
\ No newline at end of file diff --git a/bpmn/mso-infrastructure-bpmn/pom.xml b/bpmn/mso-infrastructure-bpmn/pom.xml index fb5d0108ba..5d0d05df92 100644 --- a/bpmn/mso-infrastructure-bpmn/pom.xml +++ b/bpmn/mso-infrastructure-bpmn/pom.xml @@ -164,6 +164,11 @@ <version>${camunda.springboot.version}</version> </dependency> <dependency> + <groupId>org.camunda.bpm.springboot</groupId> + <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId> + <version>2.3.0</version> + </dependency> + <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn index a389e8077b..81d3226037 100644 --- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn +++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn @@ -562,4 +562,4 @@ </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> -</bpmn:definitions>
\ No newline at end of file +</bpmn:definitions> diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ActivateSDNCNetworkResource.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ActivateSDNCNetworkResource.groovy index b912b64145..a8da95aa7c 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ActivateSDNCNetworkResource.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/ActivateSDNCNetworkResource.groovy @@ -53,7 +53,6 @@ public class ActivateSDNCNetworkResource extends AbstractServiceTaskProcessor { MsoUtils msoUtils = new MsoUtils() public void preProcessRequest(DelegateExecution execution) { - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") msoLogger.info(" ***** Started preProcessRequest *****") try { @@ -64,7 +63,7 @@ public class ActivateSDNCNetworkResource extends AbstractServiceTaskProcessor { String resourceInput = execution.getVariable("resourceInput") //Get ResourceInput Object ResourceInput resourceInputObj = ResourceRequestBuilder.getJsonObject(resourceInput, ResourceInput.class) - execution.setVariable(Prefix + "resourceInput", resourceInputObj) + execution.setVariable(Prefix + "resourceInput", resourceInputObj.toString()) //Deal with recipeParams String recipeParamsFromWf = execution.getVariable("recipeParamXsd") @@ -125,8 +124,8 @@ public class ActivateSDNCNetworkResource extends AbstractServiceTaskProcessor { } catch (BpmnError e) { throw e; } catch (Exception ex){ - msg = "Exception in preProcessRequest " + ex.getMessage() - msoLogger.debug( msg) + String msg = "Exception in preProcessRequest " + ex.getMessage() + msoLogger.debug(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) } } @@ -398,7 +397,7 @@ public class ActivateSDNCNetworkResource extends AbstractServiceTaskProcessor { } catch (Exception ex) { String exceptionMessage = " Bpmn error encountered in CreateSDNCCNetworkResource flow. prepareSDNCRequest() - " + ex.getMessage() - msoLogger.debug( exceptionMessage) + msoLogger.debug(exceptionMessage) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) } @@ -415,21 +414,21 @@ public class ActivateSDNCNetworkResource extends AbstractServiceTaskProcessor { } public void sendSyncResponse(DelegateExecution execution) { - msoLogger.dubug(" *** sendSyncResponse *** ") + msoLogger.info("started sendsyncResp") try { String operationStatus = "finished" // RESTResponse for main flow String resourceOperationResp = """{"operationStatus":"${operationStatus}"}""".trim() - msoLogger.dubug(" sendSyncResponse to APIH:" + "\n" + resourceOperationResp) + msoLogger.debug(" sendSyncResponse to APIH:" + "\n" + resourceOperationResp) sendWorkflowResponse(execution, 202, resourceOperationResp) execution.setVariable("sentSyncResponse", true) } catch (Exception ex) { String msg = "Exception in sendSyncResponse:" + ex.getMessage() - msoLogger.debug( msg) + msoLogger.debug(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) } - msoLogger.dubug(" ***** Exit sendSyncResponse *****") + msoLogger.info("exited send sync Resp") } }
\ No newline at end of file diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy index 6ef446b490..02ae6a6f48 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy @@ -302,7 +302,7 @@ public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor xmlns:ns="http://org.onap.so/requestsdb"> <soapenv:Header/> <soapenv:Body> - <ns:updateServiceOperationStatus xmlns:ns="http://org.onap.so/requestsdb"> + <ns:initServiceOperationStatus xmlns:ns="http://org.onap.so/requestsdb"> <serviceId>${MsoUtils.xmlEscape(serviceId)}</serviceId> <operationId>${MsoUtils.xmlEscape(operationId)}</operationId> <operationType>${MsoUtils.xmlEscape(operationType)}</operationType> @@ -311,7 +311,7 @@ public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor <operationContent>${MsoUtils.xmlEscape(operationContent)}</operationContent> <progress>${MsoUtils.xmlEscape(progress)}</progress> <reason>${MsoUtils.xmlEscape(reason)}</reason> - </ns:updateServiceOperationStatus> + </ns:initServiceOperationStatus> </soapenv:Body> </soapenv:Envelope>""" diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy index 9763960bfd..848785e5f3 100755 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy @@ -165,6 +165,10 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro msoLogger.debug("User Input Parameter " + userParam.name + ": " + userParam.value.toString()) inputMap.put(userParam.name, userParam.value) } + if ("Orchestrator".equalsIgnoreCase(userParam?.name)) { + execution.setVariable("orchestrator", userParam.value) + inputMap.put("orchestrator", userParam.value) + } } } @@ -344,6 +348,10 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro msoLogger.debug("User Input Parameter " + userParam.name + ": " + userParam.value.toString()) inputMap.put(userParam.name, userParam.value) } + if ("Orchestrator".equalsIgnoreCase(userParam?.name)) { + execution.setVariable("orchestrator", userParam.value) + inputMap.put("orchestrator", userParam.value) + } } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy index b2c278b64c..9301f3d508 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy @@ -203,7 +203,7 @@ public class CreateSDNCNetworkResource extends AbstractServiceTaskProcessor { uResourceInput = jsonUtil.addJsonValue(uResourceInput, "requestInputs.access-ltp-id", inputParameters.get("local-access-ltp-id")) uResourceInput = jsonUtil.addJsonValue(uResourceInput, "requestInputs.access-node-id", inputParameters.get("local-access-node-id")) resourceInputObj.setResourceParameters(uResourceInput) - execution.setVariable(Prefix + "resourceInput", resourceInputObj) + execution.setVariable(Prefix + "resourceInput", resourceInputObj.toString()) } break @@ -539,10 +539,7 @@ public class CreateSDNCNetworkResource extends AbstractServiceTaskProcessor { private def getInstnaceId(DelegateExecution execution) { def response = new XmlSlurper().parseText(execution.getVariable("CRENWKI_createSDNCResponse")) - def data = response.toString() - data = data.substring(data.indexOf("<")) - def resp = new XmlSlurper().parseText(data) ResourceInput resourceInputObj = ResourceRequestBuilder.getJsonObject(execution.getVariable(Prefix + "resourceInput"), ResourceInput.class) String modelName = resourceInputObj.getResourceModelInfo().getModelName() def val = "" @@ -551,17 +548,17 @@ public class CreateSDNCNetworkResource extends AbstractServiceTaskProcessor { case ~/[\w\s\W]*deviceVF[\w\s\W]*/ : case ~/[\w\s\W]*SiteWANVF[\w\s\W]*/ : case ~/[\w\s\W]*Site[\w\s\W]*/: - val = resp."vnf-response-information"."instance-id" + val = response."response-data"."RequestData"."output"."vnf-response-information"."instance-id" break case ~/[\w\s\W]*sdwanvpnattachment[\w\s\W]*/ : case ~/[\w\s\W]*sotnvpnattachment[\w\s\W]*/: - val = resp."connection-attachment-response-information"."instance-id" + val = response."response-data"."RequestData"."output"."connection-attachment-response-information"."instance-id" break // for SDWANConnectivity and SOTNConnectivity and default: default: - val = resp."network-response-information"."instance-id" + val = response."response-data"."RequestData"."output"."network-response-information"."instance-id" break } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy index aa1eed95bb..6096f16b18 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy @@ -104,7 +104,7 @@ public class DoCreateResources extends AbstractServiceTaskProcessor{ // get Sequence from csar(model) if(resourceSequence == null) { - resourceSequence = ResourceRequestBuilder.getResourceSequence(execution, serviceModelUuid) + resourceSequence = ResourceRequestBuilder.getResourceSequence(serviceModelUuid) msoLogger.info("Get Sequence from csar : " + resourceSequence) } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModule.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModule.groovy index 1d3d3331ef..53e3525036 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModule.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVfModule.groovy @@ -41,10 +41,12 @@ import org.onap.so.bpmn.common.scripts.MsoUtils import org.onap.so.bpmn.common.scripts.NetworkUtils import org.onap.so.bpmn.common.scripts.SDNCAdapterUtils import org.onap.so.bpmn.common.scripts.VfModuleBase +import org.onap.so.bpmn.common.util.OofInfraUtils import org.onap.so.bpmn.core.RollbackData import org.onap.so.bpmn.core.UrnPropertiesReader import org.onap.so.bpmn.core.WorkflowException import org.onap.so.bpmn.core.domain.VnfResource +import org.onap.so.bpmn.core.json.DecomposeJsonUtil import org.onap.so.bpmn.core.json.JsonUtils import org.onap.so.client.HttpClient import org.onap.so.client.aai.AAIObjectPlurals @@ -56,6 +58,7 @@ import org.onap.so.client.aai.entities.uri.AAIUri import org.onap.so.client.aai.entities.uri.AAIUriFactory; import org.onap.so.client.graphinventory.entities.uri.Depth import org.onap.so.constants.Defaults +import org.onap.so.db.catalog.beans.HomingInstance import org.onap.so.logger.MessageEnum import org.onap.so.logger.MsoLogger @@ -78,7 +81,9 @@ public class DoCreateVfModule extends VfModuleBase { ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this) + OofInfraUtils oofInfraUtils = new OofInfraUtils() CatalogDbUtils catalogDbUtils = new CatalogDbUtilsFactory().create() + DecomposeJsonUtil decomposeJsonUtils = new DecomposeJsonUtil() private final HttpClientFactory httpClientFactory = new HttpClientFactory() /** @@ -235,12 +240,37 @@ public class DoCreateVfModule extends VfModuleBase { String globalSubscriberId = execution.getVariable("globalSubscriberId") execution.setVariable("DCVFM_globalSubscriberId", globalSubscriberId) msoLogger.debug("globalSubsrciberId: " + globalSubscriberId) - //OofDirectives - String oofDirectives = execution.getVariable("oofDirectives") + + // Set Homing Info + String oofDirectives = null + try { + HomingInstance homingInstance = oofInfraUtils.getHomingInstance(serviceInstanceId, execution) + if (homingInstance != null) { + execution.setVariable("DCVFM_cloudSiteId", homingInstance.getCloudRegionId()) + rollbackData.put("VFMODULE", "aiccloudregion", homingInstance.getCloudRegionId()) + msoLogger.debug("Overwriting cloudSiteId with homing cloudSiteId: " + + homingInstance.getCloudRegionId()) + execution.setVariable("DCVFM_cloudOwner", homingInstance.getCloudOwner()) + rollbackData.put("VFMODULE", "cloudOwner", homingInstance.getCloudOwner()) + msoLogger.debug("Overwriting cloudOwner with homing cloudOwner: " + + homingInstance.getCloudOwner()) + oofDirectives = homingInstance.getOofDirectives() + execution.setVariable("DCVFM_oofDirectives", oofDirectives) + } + } catch (Exception exception) { + msoLogger.debug("Could not find homing information for service instance: " + serviceInstanceId + + "... continuing") + msoLogger.debug("Could not find homing information for service instance error: " + exception) + } + //OofDirectives to Input Params Map<String,String> vfModuleInputParams = execution.getVariable("vfModuleInputParams") - if (oofDirectives != null) { - vfModuleInputParams.put("oofDirectives", oofDirectives) - logDebug("OofDirectives are: " + oofDirectives, isDebugLogEnabled) + if (oofDirectives != null && vfModuleInputParams != null) { + vfModuleInputParams.put("oof_directives", oofDirectives) + vfModuleInputParams.put("sdnc_directives", "{}") + msoLogger.debug("OofDirectives are: " + oofDirectives) + } else if (vfModuleInputParams != null) { + vfModuleInputParams.put("oof_directives", "{}") + vfModuleInputParams.put("sdnc_directives", "{}") } if (vfModuleInputParams != null) { execution.setVariable("DCVFM_vnfParamsMap", vfModuleInputParams) @@ -467,11 +497,30 @@ public class DoCreateVfModule extends VfModuleBase { } //OofDirectives - String oofDirectives = execution.getVariable("oofDirectives") + String oofDirectives = null + try { + HomingInstance homingInstance = oofInfraUtils.getHomingInstance(serviceInstanceId, execution) + if (homingInstance != null) { + execution.setVariable("DCVFM_cloudSiteId", homingInstance.getCloudRegionId()) + rollbackData.put("VFMODULE", "aiccloudregion", homingInstance.getCloudRegionId()) + msoLogger.debug("Overwriting cloudSiteId with homing cloudSiteId: " + + homingInstance.getCloudRegionId()) + execution.setVariable("DCVFM_cloudOwner", homingInstance.getCloudOwner()) + rollbackData.put("VFMODULE", "cloudOwner", homingInstance.getCloudOwner()) + msoLogger.debug("Overwriting cloudOwner with homing cloudOwner: " + + homingInstance.getCloudOwner()) + oofDirectives = homingInstance.getOofDirectives() + execution.setVariable("DCVFM_oofDirectives", oofDirectives) + } + } catch (Exception exception) { + msoLogger.debug("Could not find homing information for service instance: " + serviceInstanceId + + "... continuing") + msoLogger.debug("Could not find homing information for service instance error: " + exception) + } if (oofDirectives != null) { Map<String, String> paramsMap = execution.getVariable("DCVFM_vnfParamsMap") paramsMap.put("oofDirectives", oofDirectives) - logDebug("OofDirectives are: " + oofDirectives, isDebugLogEnabled) + msoLogger.debug("OofDirectives are: " + oofDirectives) execution.setVariable("DCVFM_vnfParamsMap", paramsMap) } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnf.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnf.groovy index b35aab1176..deb0bffaf9 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnf.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnf.groovy @@ -20,6 +20,8 @@ package org.onap.so.bpmn.infrastructure.scripts +import org.onap.so.db.catalog.beans.HomingInstance + import static org.apache.commons.lang3.StringUtils.* import org.camunda.bpm.engine.delegate.BpmnError @@ -31,6 +33,7 @@ import org.onap.so.bpmn.common.scripts.ExceptionUtil import org.onap.so.bpmn.common.scripts.MsoUtils import org.onap.so.bpmn.common.scripts.SDNCAdapterUtils import org.onap.so.bpmn.common.scripts.VidUtils +import org.onap.so.bpmn.common.util.OofInfraUtils import org.onap.so.bpmn.core.RollbackData import org.onap.so.bpmn.core.UrnPropertiesReader import org.onap.so.bpmn.core.WorkflowException @@ -61,6 +64,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { JsonUtils jsonUtil = new JsonUtils() VidUtils vidUtils = new VidUtils(this) SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this) + OofInfraUtils oofInfraUtils = new OofInfraUtils() /** * This method gets and validates the incoming @@ -238,6 +242,21 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { execution.setVariable("DoCVNF_nfFunction", nfFunction) msoLogger.debug("NF Function is: " + nfFunction) + // Set Homing Info + try { + HomingInstance homingInstance = oofInfraUtils.getHomingInstance(serviceInstanceId, execution) + if (homingInstance != null) { + execution.setVariable("DoCVNF_cloudSiteId", homingInstance.getCloudRegionId()) + rollbackData.put("VNF", "cloudSiteId", homingInstance.getCloudRegionId()) + msoLogger.debug("Overwriting cloudSiteId with homing cloudSiteId: " + + homingInstance.getCloudRegionId()) + } + } catch (Exception exception) { + msoLogger.debug("Could not find homing information for service instance: " + serviceInstanceId + + "... continuing") + msoLogger.debug("Could not find homing information for service instance error: " + exception) + } + rollbackData.put("VNF", "rollbackSDNCAssign", "false") rollbackData.put("VNF", "rollbackSDNCActivate", "false") rollbackData.put("VNF", "rollbackVnfCreate", "false") diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy index 232336b0ee..88e7b34dcd 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy @@ -118,7 +118,10 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { } } execution.setVariable("vnfId", vnfId) - + + Map<String,String> vfModuleNames = execution.getVariable("vfModuleNames") + msoLogger.debug("Incoming vfModuleNames: " + vfModuleNames) + // Set aLaCarte to false execution.setVariable("aLaCarte", false) @@ -137,9 +140,17 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { rollbackData.put("VNFANDMODULES", "numOfCreatedAddOnModules", "0") execution.setVariable("rollbackData", rollbackData) - sleep (20000) + String delayMS = execution.getVariable("delayMS") + long longDelayMS = 20000; + if (delayMS != null && !delayMS.isEmpty()) { + longDelayMS = Long.parseLong(delayMS); + } + if (longDelayMS > 0) { + msoLogger.debug("Delaying workflow " + longDelayMS + "ms"); + sleep(longDelayMS) + } }catch(BpmnError b){ msoLogger.debug("Rethrowing MSOWorkflowException") throw b @@ -151,7 +162,6 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { msoLogger.trace("COMPLETED DoCreateVnfAndModules PreProcessRequest Process") } - public void queryCatalogDB (DelegateExecution execution) { execution.setVariable("prefix",Prefix) @@ -159,8 +169,8 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { msoLogger.trace("STARTED DoCreateVnfAndModules QueryCatalogDB Process") try { VnfResource vnf = null - ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") // if serviceDecomposition is specified, get info from serviceDecomposition + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") if (serviceDecomposition != null) { msoLogger.debug("Getting Catalog DB data from ServiceDecomposition object: " + serviceDecomposition.toJsonString()) List<VnfResource> vnfs = serviceDecomposition.getVnfResources() @@ -208,6 +218,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { } ModuleResource baseVfModule = null + Map<String,String> vfModuleNames = execution.getVariable("vfModuleNames") for (int i = 0; i < vfModules.size; i++) { msoLogger.debug("handling VF Module ") @@ -222,6 +233,8 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { execution.setVariable("baseVfModuleLabel", baseVfModuleLabel) String basePersonaModelId = baseVfModuleModelInfoObject.getModelInvariantUuid() execution.setVariable("basePersonaModelId", basePersonaModelId) + String baseVfModuleName = getPredefinedVfModuleName(execution, basePersonaModelId) + execution.setVariable("baseVfModuleName", baseVfModuleName) baseVfModule = vfModule break } @@ -284,6 +297,8 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { execution.setVariable("addOnVfModuleLabel", addOnVfModuleLabel) String addOnPersonaModelId = addOnVfModuleModelInfoObject.getModelInvariantUuid() execution.setVariable("addOnPersonaModelId", addOnPersonaModelId) + String addOnVfModuleName = getPredefinedVfModuleName(execution, addOnPersonaModelId) + execution.setVariable("addOnVfModuleName", addOnVfModuleName) int addOnInitialCount = addOnModule.getInitialCount() execution.setVariable("initialCount", addOnInitialCount) @@ -460,5 +475,19 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { msoLogger.trace("Exit createLineOfBusiness") } + public String getPredefinedVfModuleName(DelegateExecution execution, String vfModuleModelInvariantUuid) { + Map<String,String> vfModuleNames = execution.getVariable("vfModuleNames") + + if (vfModuleNames == null) { + return null + } + + String vfModuleName = vfModuleNames.get(vfModuleModelInvariantUuid) -}
\ No newline at end of file + if (vfModuleName != null) { + msoLogger.debug("Using vfModuleName='" + vfModuleName + "' for vfModuleModelInvariantUuid=" + vfModuleModelInvariantUuid) + } + + return vfModuleName + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy index 6109d8631f..7c8a1d70e1 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy @@ -149,7 +149,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces } /** - * instantiate NS task + * terminate NS task */ public void terminateNetworkService(DelegateExecution execution) { @@ -247,19 +247,19 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces msoLogger.trace("Started Execute VFC adapter Delete Process ") msoLogger.info("url:"+url +"\nrequestBody:"+ requestBody) - Response r + Response r try{ - URL Url = new URL(url) + URL Url = new URL(url) // Get the Basic Auth credentials for the VFCAdapter, username is 'bpel', auth is '07a7159d3bf51a0e53be7a8f89699be7' // user 'bepl' authHeader is the same with mso.db.auth String basicAuthValuedb = UrnPropertiesReader.getVariable("mso.db.auth", execution) HttpClient httpClient = httpClientFactory.newJsonClient(url, TargetEntity.VNF_ADAPTER) httpClient.addAdditionalHeader("Accept", "application/json") httpClient.addAdditionalHeader("Authorization", basicAuthValuedb) - - r = httpClient.delete(requestBody) - + httpClient.addAdditionalHeader("Content-Type", "application/json") + r = httpClient.delete(requestBody) + msoLogger.trace("Completed Execute VF-C adapter Delete Process ") }catch(Exception e){ msoLogger.error("Exception occured while executing VF-C Post Call. Exception is: \n" + e.getMessage()); diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy index a8e3b2040b..13d5aad2b0 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy @@ -97,7 +97,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { InitializeProcessVariables(execution) //Config Inputs - String aaiDistDelay = UrnPropertiesReader.getVariable("aai.workflowAaiDistributionDelay") + String aaiDistDelay = UrnPropertiesReader.getVariable("aai.workflowAaiDistributionDelay", execution) if (isBlank(aaiDistDelay)) { String msg = "workflowAaiDistributionDelay is null" msoLogger.debug(msg) @@ -209,14 +209,13 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { def userParams = reqMap.requestDetails?.requestParameters?.userParams Map<String, String> inputMap = [:] - if (userParams) { + if (userParams) { userParams.each { - userParam -> + userParam -> if ("Customer_Location".equals(userParam?.name)) { Map<String, String> customerMap = [:] userParam.value.each { param -> - inputMap.put(param.key, param.value) customerMap.put(param.key, param.value) } @@ -238,7 +237,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { param.getClass() , isDebugEnabled) } execution.setVariable("homingModelIds", modelIdLst) - } + } if ("BRG_WAN_MAC_Address".equals(userParam?.name)) { execution.setVariable("brgWanMacAddress", userParam.value) inputMap.put("BRG_WAN_MAC_Address", userParam.value) @@ -247,7 +246,34 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { execution.setVariable("homingService", userParam.value) execution.setVariable("callHoming", true) inputMap.put("Homing_Solution", userParam.value) - } + } + if ("Orchestrator".equalsIgnoreCase(userParam?.name)) { + execution.setVariable("orchestrator", userParam.value) + inputMap.put("orchestrator", userParam.value) + } + if ("VfModuleNames".equals(userParam?.name)) { + utils.log("DEBUG", "VfModuleNames: " + userParam.value.toString(), isDebugEnabled) + def vfModuleNames = [:] + userParam.value.each { + entry -> + String vfModuleModelInvariantUuid = null; + String vfModuleName = null; + entry.each { + param -> + if ("VfModuleModelInvariantUuid".equals(param.key)) { + vfModuleModelInvariantUuid = param.value; + } else if ("VfModuleName".equals(param.key)) { + vfModuleName = param.value; + } + } + + if (vfModuleModelInvariantUuid != null && !vfModuleModelInvariantUuid.isEmpty() && vfModuleName != null && !vfModuleName.isEmpty()) { + vfModuleNames.put(vfModuleModelInvariantUuid, vfModuleName) + utils.log("DEBUG", "VfModuleModelInvariantUuid: " + vfModuleModelInvariantUuid + " VfModuleName: " + vfModuleName, isDebugEnabled) + } + } + execution.setVariable("vfModuleNames", vfModuleNames) + } } } @@ -257,7 +283,7 @@ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { } msoLogger.debug("User Input Parameters map: " + userParams.toString()) - execution.setVariable("serviceInputParams", inputMap) + execution.setVariable("serviceInputParams", inputMap) // DOES NOT SEEM TO BE USED msoLogger.debug("Incoming brgWanMacAddress is: " + execution.getVariable('brgWanMacAddress')) diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java index e9b0bc77b2..c1ddf2e04e 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java @@ -27,7 +27,6 @@ import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableName import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.TIMEOUT_FOR_NOTIFICATION; import com.google.common.base.Strings; -import java.util.regex.Pattern; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.delegate.JavaDelegate; import org.onap.so.bpmn.common.scripts.ExceptionUtil; @@ -39,8 +38,7 @@ import org.springframework.stereotype.Component; @Component public class PnfCheckInputs implements JavaDelegate { - private static final Pattern UUID_PATTERN = Pattern - .compile("(?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[89ab]{1}[0-9a-f]{3}-[0-9a-f]{12}$"); + public static final String UUID_REGEX = "(?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[89ab]{1}[0-9a-f]{3}-[0-9a-f]{12}$"; private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL, PnfCheckInputs.class); private String defaultTimeout; @@ -69,7 +67,7 @@ public class PnfCheckInputs implements JavaDelegate { if (Strings.isNullOrEmpty(pnfUuid)) { new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, "pnfUuid variable not defined"); } - if (!UUID_PATTERN.matcher(pnfUuid).matches()) { + if (!pnfUuid.matches(UUID_REGEX)) { new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, "pnfUuid is not a valid UUID"); } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/properties/BPMNProperties.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/properties/BPMNProperties.java index 60f109a81f..0d7c4abeee 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/properties/BPMNProperties.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/properties/BPMNProperties.java @@ -21,6 +21,7 @@ package org.onap.so.bpmn.infrastructure.properties; import java.util.Arrays; import java.util.List; +import org.onap.so.bpmn.core.UrnPropertiesReader; import org.onap.so.bpmn.core.UrnPropertiesReader; import org.onap.so.logger.MsoLogger; @@ -37,7 +38,7 @@ public class BPMNProperties { } public static List<String> getResourceSequenceProp(String input) { - String resourceSequence = getProperty("mso.workflow.custom." + input + ".resource.sequence", null); + String resourceSequence = UrnPropertiesReader.getVariable("mso.workflow.custom."+ input + ".resource.sequence"); if (resourceSequence != null) { return Arrays.asList(resourceSequence.split(",")); } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/service/ServicePluginFactory.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/service/ServicePluginFactory.java index ac341886ba..48c78632dd 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/service/ServicePluginFactory.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/service/ServicePluginFactory.java @@ -430,14 +430,19 @@ public class ServicePluginFactory { Map<String, String> keys = uri.getURIKeys(); String uriString = uri.build().toString(); - AAIResourceUri parent = AAIUriFactory.createResourceUri(AAIObjectType.PNF, keys.get("pnf-name")); - - AAIResultWrapper wrapper = client.get(parent); - Optional<Relationships> optRelationships = wrapper.getRelationships(); - if (optRelationships.isPresent()) { - Relationships relationships = optRelationships.get(); - - return !relationships.getRelatedAAIUris(AAIObjectType.EXT_AAI_NETWORK).isEmpty(); + + if (uriString != null) { + // get the pnfname + String[] token = uriString.split("/"); + AAIResourceUri parent = AAIUriFactory.createResourceUri(AAIObjectType.PNF, token[4]); + + AAIResultWrapper wrapper = client.get(parent); + Optional<Relationships> optRelationships = wrapper.getRelationships(); + if (optRelationships.isPresent()) { + Relationships relationships = optRelationships.get(); + + return !relationships.getRelatedAAIUris(AAIObjectType.EXT_AAI_NETWORK).isEmpty(); + } } return false; diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java index 3c4a35737b..3108adaa53 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/AbstractSdncOperationTask.java @@ -93,7 +93,7 @@ public abstract class AbstractSdncOperationTask extends BaseTask { logger.info("AbstractSdncOperationTask.updateResOperStatus begin!"); String requestsdbEndPoint = env.getProperty("mso.adapters.openecomp.db.endpoint"); HttpPost httpPost = new HttpPost(requestsdbEndPoint); - httpPost.addHeader("Authorization", "Basic QlBFTENsaWVudDpwYXNzd29yZDEk"); + httpPost.addHeader("Authorization", "Basic YnBlbDpwYXNzd29yZDEk"); httpPost.addHeader("Content-type", "application/soap+xml"); String postBody = getPostStringBody(resourceOperationStatus); httpPost.setEntity(new StringEntity(postBody, ContentType.APPLICATION_XML)); @@ -174,7 +174,7 @@ public abstract class AbstractSdncOperationTask extends BaseTask { logger.info("AbstractSdncOperationTask.getResourceOperationStatus begin!"); String requestsdbEndPoint = env.getProperty("mso.adapters.openecomp.db.endpoint"); HttpPost httpPost = new HttpPost(requestsdbEndPoint); - httpPost.addHeader("Authorization", "Basic QlBFTENsaWVudDpwYXNzd29yZDEk"); + httpPost.addHeader("Authorization", "Basic YnBlbDpwYXNzd29yZDEk"); httpPost.addHeader("Content-type", "application/soap+xml"); String getBody = getGetStringBody(serviceId, operationId, resourceTemplateUUID); httpPost.setEntity(new StringEntity(getBody, ContentType.APPLICATION_XML)); @@ -289,9 +289,8 @@ public abstract class AbstractSdncOperationTask extends BaseTask { protected boolean isSend2SdncDirectly() { logger.info("AbstractSdncOperationTask.isSend2SdncDirectly begin!"); - String sdncIp = UrnPropertiesReader.getVariable("sdnc-ip"); - String sdncPort = UrnPropertiesReader.getVariable("sdnc-port"); - if (!StringUtils.isBlank(sdncIp) && isIp(sdncIp) && !StringUtils.isBlank(sdncPort)) { + String sdncHost = UrnPropertiesReader.getVariable("sdnc.host"); + if (!StringUtils.isBlank(sdncHost)) { logger.info("AbstractSdncOperationTask.isSend2SdncDirectly = true."); return true; } @@ -317,6 +316,12 @@ public abstract class AbstractSdncOperationTask extends BaseTask { return returnPort; } + protected String getSdncHost() { + String sdncHost = UrnPropertiesReader.getVariable("sdnc.host"); + logger.info("AbstractSdncOperationTask.getSdncPort: returnPort = {}", sdncHost); + return sdncHost; + } + private GenericResourceApi getGenericResourceApiClient() { logger.info("AbstractSdncOperationTask.getGenericResourceApiClient begin!"); String msbIp = System.getenv().get(ONAP_IP); diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java index 8e41d0d88e..dc625d35c3 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java @@ -72,7 +72,7 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask private void send2SdncDirectly(String defaulAuth, RpcServiceTopologyOperationInputEntity inputEntity) throws RouteException { sdncLogger.info("SdncServiceTopologyOperationTask.send2SdncDirectly begin!"); - String url = "http://" + getSdncIp() + ":" + getSdncPort() + URL; + String url = getSdncHost() + URL; HttpPost httpPost = new HttpPost(url); httpPost.addHeader("Authorization", defaulAuth); httpPost.addHeader("Content-type", "application/json"); diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy index 820c14eb94..8dde45be81 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy @@ -129,10 +129,7 @@ class CreateSDNCNetworkResourceTest extends GroovyTestCase { private getInstanceId() { def response = new XmlSlurper().parseText(sdncAdapterWorkflowResponse) - def data = response.toString() - data = data.substring(data.indexOf("<")) - def resp = new XmlSlurper().parseText(data) - def instanceId = resp."network-response-information"."instance-id" + def instanceId = response."response-data"."RequestData"."output"."network-response-information"."instance-id" return instanceId } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy new file mode 100644 index 0000000000..47db6b3b7b --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateVnfAndModulesTest.groovy @@ -0,0 +1,452 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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.so.bpmn.infrastructure.scripts + +import com.github.tomakehurst.wiremock.junit.WireMockRule +import org.camunda.bpm.engine.ProcessEngineServices +import org.camunda.bpm.engine.RepositoryService +import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity +import org.camunda.bpm.engine.repository.ProcessDefinition +import org.junit.Assert +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.Captor +import org.mockito.Mockito +import org.mockito.MockitoAnnotations +import org.mockito.runners.MockitoJUnitRunner +import org.onap.so.bpmn.core.WorkflowException +import org.onap.so.bpmn.core.domain.AllottedResource +import org.onap.so.bpmn.core.domain.HomingSolution +import org.onap.so.bpmn.core.domain.InventoryType +import org.onap.so.bpmn.core.domain.License +import org.onap.so.bpmn.core.domain.ModelInfo +import org.onap.so.bpmn.core.domain.ModuleResource +import org.onap.so.bpmn.core.domain.NetworkResource +import org.onap.so.bpmn.core.domain.ResourceInstance +import org.onap.so.bpmn.core.domain.ResourceType +import org.onap.so.bpmn.core.domain.ServiceDecomposition +import org.onap.so.bpmn.core.domain.ServiceInstance +import org.onap.so.bpmn.core.domain.VnfResource + +import static org.mockito.Mockito.* + +@RunWith(MockitoJUnitRunner.class) +class DoCreateVnfAndModulesTest { + + @Rule + public WireMockRule wireMockRule = new WireMockRule(28090) + + @Captor + static ArgumentCaptor<ExecutionEntity> captor = ArgumentCaptor.forClass(ExecutionEntity.class) + + @Before + void init() throws IOException { + MockitoAnnotations.initMocks(this); + } + + @Test + void testPreProcessRequest() { + ExecutionEntity mockExecution = setupMock() + setupBasicProcessInputs(mockExecution) + + ServiceDecomposition serviceDecomposition = createServiceDecomposition() + when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition) + + Map<String,String> vfModuleNames = new HashMap<String,String>() + vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%") + vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%") + when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames) + + DoCreateVnfAndModules obj = new DoCreateVnfAndModules() + obj.preProcessRequest(mockExecution) + + Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture()) + + List list = captor.getAllValues() + for (int i = 0; i < list.size(); i+=2) { + System.out.println("captor[" + i/2 + "]: " + list.get(i) + + (i+1 < list.size() ? ("=" + list.get(i+1)) : "")) + } + + String someKey = list.get(18) + Assert.assertEquals("numOfCreatedAddOnModules", someKey) + Integer someValue = list.get(19) + Assert.assertEquals(0, someValue) + + String lastKey = list.get(20) + Assert.assertEquals("rollbackData", lastKey) + } + + @Test + void testQueryCatalogDB() { + ExecutionEntity mockExecution = setupMock() + setupBasicProcessInputs(mockExecution) + + ServiceDecomposition serviceDecomposition = createServiceDecomposition() + when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition) + + DoCreateVnfAndModules obj = new DoCreateVnfAndModules() + obj.queryCatalogDB(mockExecution) + + Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture()) + + List list = captor.getAllValues() + for (int i = 0; i < list.size(); i+=2) { + System.out.println("captor[" + i/2 + "]: " + list.get(i) + + (i+1 < list.size() ? ("=" + list.get(i+1)) : "")) + } + + String vfModuleNameKey = list.get(12) + Assert.assertEquals("baseVfModuleName", vfModuleNameKey) + String vfModuleNameValue = list.get(13) + Assert.assertEquals(null, vfModuleNameValue) + + String lastKey = list.get(20) + Assert.assertEquals("baseVfModuleId", lastKey) + } + + @Test + void testQueryCatalogDBWithVfModuleNames() { + ExecutionEntity mockExecution = setupMock() + setupBasicProcessInputs(mockExecution) + + ServiceDecomposition serviceDecomposition = createServiceDecomposition() + when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition) + + Map<String,String> vfModuleNames = new HashMap<String,String>() + vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%") + vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%") + when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames) + + DoCreateVnfAndModules obj = new DoCreateVnfAndModules() + obj.queryCatalogDB(mockExecution) + + Mockito.verify(mockExecution, times(11)).setVariable(captor.capture(), captor.capture()) + + List list = captor.getAllValues() + for (int i = 0; i < list.size(); i+=2) { + System.out.println("captor[" + i/2 + "]: " + list.get(i) + + (i+1 < list.size() ? ("=" + list.get(i+1)) : "")) + } + + String vfModuleNameKey = list.get(12) + Assert.assertEquals("baseVfModuleName", vfModuleNameKey) + String vfModuleNameValue = list.get(13) + Assert.assertEquals("VGWA:e2:25:25:25:%", vfModuleNameValue) + + String lastKey = list.get(20) + Assert.assertEquals("baseVfModuleId", lastKey) + } + + @Test + void testPreProcessAddonModule() { + ExecutionEntity mockExecution = setupMock() + setupBasicProcessInputs(mockExecution) + + ServiceDecomposition serviceDecomposition = createServiceDecomposition() + when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition) + + VnfResource vnf = serviceDecomposition.getVnfResources().get(0); + List<ModuleResource> vfModules = vnf.getAllVfModuleObjects() + + for (int i = vfModules.size()-1; i >= 0; i--) { + if (vfModules.get(i).getIsBase()) { + vfModules.remove(i); + } + } + + when(mockExecution.getVariable("addOnModules")).thenReturn(vfModules) + when(mockExecution.getVariable("addOnModulesDeployed")).thenReturn(0) + + DoCreateVnfAndModules obj = new DoCreateVnfAndModules() + obj.preProcessAddOnModule(mockExecution) + + Mockito.verify(mockExecution, times(9)).setVariable(captor.capture(), captor.capture()) + + List list = captor.getAllValues() + for (int i = 0; i < list.size(); i+=2) { + System.out.println("captor[" + i/2 + "]: " + list.get(i) + + (i+1 < list.size() ? ("=" + list.get(i+1)) : "")) + } + + String vfModuleNameKey = list.get(14) + Assert.assertEquals("addOnVfModuleName", vfModuleNameKey) + String vfModuleNameValue = list.get(15) + Assert.assertEquals(null, vfModuleNameValue) + + String lastKey = list.get(16) + Assert.assertEquals("initialCount", lastKey) + } + + @Test + void testPreProcessAddonModuleWithVfModuleNames() { + ExecutionEntity mockExecution = setupMock() + setupBasicProcessInputs(mockExecution) + + ServiceDecomposition serviceDecomposition = createServiceDecomposition() + when(mockExecution.getVariable("serviceDecomposition")).thenReturn(serviceDecomposition) + + Map<String,String> vfModuleNames = new HashMap<String,String>() + vfModuleNames.put("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45", "VGWA:e2:25:25:25:%") + vfModuleNames.put("cc250e7e-746b-4d84-8064-df20c74213a6", "VGWB:f9:32:32:32:%") + when(mockExecution.getVariable("vfModuleNames")).thenReturn(vfModuleNames) + + VnfResource vnf = serviceDecomposition.getVnfResources().get(0); + List<ModuleResource> vfModules = vnf.getAllVfModuleObjects() + + for (int i = vfModules.size()-1; i >= 0; i--) { + if (vfModules.get(i).getIsBase()) { + vfModules.remove(i); + } + } + + when(mockExecution.getVariable("addOnModules")).thenReturn(vfModules) + when(mockExecution.getVariable("addOnModulesDeployed")).thenReturn(0) + + DoCreateVnfAndModules obj = new DoCreateVnfAndModules() + obj.preProcessAddOnModule(mockExecution) + + Mockito.verify(mockExecution, times(9)).setVariable(captor.capture(), captor.capture()) + + List list = captor.getAllValues() + for (int i = 0; i < list.size(); i+=2) { + System.out.println("captor[" + i/2 + "]: " + list.get(i) + + (i+1 < list.size() ? ("=" + list.get(i+1)) : "")) + } + + String vfModuleNameKey = list.get(14) + Assert.assertEquals("addOnVfModuleName", vfModuleNameKey) + String vfModuleNameValue = list.get(15) + Assert.assertEquals("VGWB:f9:32:32:32:%", vfModuleNameValue) + + String lastKey = list.get(16) + Assert.assertEquals("initialCount", lastKey) + } + + private static setupBasicProcessInputs(ExecutionEntity mockExecution) { + when(mockExecution.getVariable("prefix")).thenReturn("DCVAM_") + when(mockExecution.getVariable("isDebugLogEnabled")).thenReturn("true") + when(mockExecution.getVariable("msoRequestId")).thenReturn("28a7f01e-a6aa-44fd-b25e-e06e14873cd7") + when(mockExecution.getVariable("serviceInstanceId")).thenReturn("7d34a7df-d6c3-4f1c-8710-576412134a5a") + when(mockExecution.getVariable("productFamilyId")).thenReturn("a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb") + when(mockExecution.getVariable("lcpCloudRegionId")).thenReturn("RegionOne") + when(mockExecution.getVariable("tenantId")).thenReturn("b8ad3842ab3642f7bf3fbe4e4d3b9f86") + when(mockExecution.getVariable("disableRollback")).thenReturn("true") + when(mockExecution.getVariable("delayMS")).thenReturn("0") + + } + + private static ExecutionEntity setupMock() { + ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class) + when(mockProcessDefinition.getKey()).thenReturn("DoCreateVnfAndModules") + RepositoryService mockRepositoryService = mock(RepositoryService.class) + when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition) + when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn("DoCreateVnfAndModules") + when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100") + ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class) + when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService) + + ExecutionEntity mockExecution = mock(ExecutionEntity.class) + // Initialize prerequisite variables + when(mockExecution.getId()).thenReturn("100") + when(mockExecution.getProcessDefinitionId()).thenReturn("DoCreateVnfAndModules") + when(mockExecution.getProcessInstanceId()).thenReturn("DoCreateVnfAndModules") + when(mockExecution.getProcessEngineServices()).thenReturn(mockProcessEngineServices) + when(mockExecution.getProcessEngineServices().getRepositoryService().getProcessDefinition(mockExecution.getProcessDefinitionId())).thenReturn(mockProcessDefinition) + + return mockExecution + } + + public static ServiceDecomposition createServiceDecomposition() { + ServiceDecomposition serviceDecomposition = new ServiceDecomposition() + + ServiceInstance serviceInstance = new ServiceInstance() + serviceInstance.setInstanceId("7d34a7df-d6c3-4f1c-8710-576412134a5a") + serviceDecomposition.setServiceInstance(serviceInstance) + serviceDecomposition.setServiceType("") + serviceDecomposition.setServiceRole("") + + ModelInfo serviceModelInfo = new ModelInfo() + serviceDecomposition.setModelInfo(serviceModelInfo) + serviceModelInfo.setModelName("vcpesvc_rescust_1111") + serviceModelInfo.setModelUuid("1dffd5f9-bb29-4a47-8073-9b9b07f4943a") + serviceModelInfo.setModelVersion("1.0") + serviceModelInfo.setModelCustomizationUuid("") + serviceModelInfo.setModelCustomizationName("") + serviceModelInfo.setModelInstanceName("") + serviceModelInfo.setModelType("") + + List<VnfResource> vnfResources = new ArrayList<VnfResource>() + serviceDecomposition.setVnfResources(vnfResources) + + VnfResource vnfResource = new VnfResource() + vnfResources.add(vnfResource) + vnfResource.setResourceId("9504b6b3-d346-4387-952c-8f9b7570b055") + vnfResource.setResourceType(ResourceType.VNF) + ModelInfo vnfModelInfo = new ModelInfo() + vnfResource.setModelInfo(vnfModelInfo) + vnfModelInfo.setModelName("vcpevsp_vgw_1111") + vnfModelInfo.setModelUuid("289e96fd-a679-4286-a8a2-d76f930d650b") + vnfModelInfo.setModelInvariantUuid("0327af89-f836-4086-aadb-17d5c9bd8a83"); + vnfModelInfo.setModelVersion("1.0"); + vnfModelInfo.setModelCustomizationUuid("cf151beb-9510-44a1-a165-c783e673baa1"); + vnfModelInfo.setModelCustomizationName(""); + vnfModelInfo.setModelInstanceName("vcpevsp_vgw_1111 0") + vnfModelInfo.setModelType("") + vnfResource.setResourceInstance(new ResourceInstance()) + vnfResource.setHomingSolution(new HomingSolution()) + vnfResource.setToscaNodeType("org.openecomp.resource.vf.VcpevspVgw1111") + vnfResource.setMultiStageDesign("false") + vnfResource.setMultiStageDesign("false") + + List<ModuleResource> moduleResources = new ArrayList<ModuleResource>() + vnfResource.setModules(moduleResources) + + ModuleResource moduleResource = new ModuleResource() + moduleResources.add(moduleResource) + moduleResource.setResourceType(ResourceType.MODULE) + ModelInfo moduleModelInfo = new ModelInfo() + moduleResource.setModelInfo(moduleModelInfo); + moduleModelInfo.setModelName("VcpevspVgw1111..base_vcpe_vgw..module-0") + moduleModelInfo.setModelUuid("cf35b6b8-1f31-4efc-87a7-d53f840b8fdf") + moduleModelInfo.setModelInvariantUuid("3ec98c7a-ac20-49a1-9e0d-09fea7e8db45") + moduleModelInfo.setModelVersion("1") + moduleModelInfo.setModelCustomizationUuid("281085b3-4598-4c94-811d-58cc685763e7") + moduleModelInfo.setModelCustomizationName("") + moduleModelInfo.setModelInstanceName("") + moduleModelInfo.setModelType("") + moduleResource.setResourceInstance(new ResourceInstance()) + moduleResource.setHomingSolution(new HomingSolution()) + moduleResource.setHasVolumeGroup(false) + moduleResource.setIsBase(true) + moduleResource.setVfModuleLabel("base_vcpe_vgw") + moduleResource.setInitialCount(1) + + // For testing an add-on module; not in the actual vCPE model + moduleResource = new ModuleResource() + moduleResources.add(moduleResource) + moduleResource.setResourceType(ResourceType.MODULE) + moduleModelInfo = new ModelInfo() + moduleResource.setModelInfo(moduleModelInfo); + moduleModelInfo.setModelName("VcpevspVgw1111..addon_vcpe_vgw..module-1") + moduleModelInfo.setModelUuid("8c8b41b2-8466-41b4-ae8d-5924830c40e8") + moduleModelInfo.setModelInvariantUuid("cc250e7e-746b-4d84-8064-df20c74213a6") + moduleModelInfo.setModelVersion("1") + moduleModelInfo.setModelCustomizationUuid("99424afc-1fb4-4598-a99b-3e0690b4cb03") + moduleModelInfo.setModelCustomizationName("") + moduleModelInfo.setModelInstanceName("") + moduleModelInfo.setModelType("") + moduleResource.setResourceInstance(new ResourceInstance()) + moduleResource.setHomingSolution(new HomingSolution()) + moduleResource.setHasVolumeGroup(false) + moduleResource.setIsBase(false) + moduleResource.setVfModuleLabel("addon_vcpe_vgw") + moduleResource.setInitialCount(1) + + serviceDecomposition.setNetworkResources(new ArrayList<NetworkResource>()) + + List<AllottedResource> allottedResources = new ArrayList<AllottedResource>() + serviceDecomposition.setAllottedResources(allottedResources) + + AllottedResource ar = new AllottedResource() + allottedResources.add(ar) + ar.setResourceId("ed4a3a9a-1411-4924-a9ee-61a41871a040") + ar.setResourceType(ResourceType.ALLOTTED_RESOURCE) + ModelInfo arModelInfo = new ModelInfo() + ar.setModelInfo(arModelInfo) + arModelInfo.setModelName("vcpear_tunnelxconn_1111") + arModelInfo.setModelUuid("d99e5442-c5e4-4197-ad8d-54f7ad43dd83") + arModelInfo.setModelInvariantUuid("61c17371-e824-4587-a9bb-21782aa28391") + arModelInfo.setModelVersion("1.0") + arModelInfo.setModelCustomizationUuid("506bb474-b8c2-41fd-aeec-4371c3ef58a4") + arModelInfo.setModelCustomizationName("") + arModelInfo.setModelInstanceName("vcpear_tunnelxconn_1111 0") + arModelInfo.setModelType("") + ar.setResourceInstance(new ResourceInstance()) + HomingSolution homingSolution = new HomingSolution() + ar.setHomingSolution(homingSolution) + homingSolution.setInventoryType(InventoryType.service) + homingSolution.setServiceInstanceId("d600c1c0-ff45-40e4-bf29-45a95fa64556") + homingSolution.setCloudOwner("CloudOwner") + homingSolution.setCloudRegionId("RegionOne") + VnfResource vnf = new VnfResource() + homingSolution.setVnf(vnf) + vnf.setResourceId("cea5e96e-9c67-437c-bf94-2329d277be09") + vnf.setResourceType(ResourceType.VNF) + vnf.setResourceInstance(new ResourceInstance()) + vnf.setHomingSolution(new HomingSolution()) + vnf.setVnfHostname("vnfHostName") + homingSolution.setLicense(new License()) + homingSolution.setRehome(false) + ar.setToscaNodeType("org.openecomp.resource.vf.VcpearTunnelxconn1111") + ar.setAllottedResourceType("TunnelXConnect") + ar.setAllottedResourceRole("TunnelXConn") + ar.setProvidingServiceModelName("org.openecomp.service.VcpesvcVgmux1111") + ar.setProvidingServiceModelInvariantUuid("d5751cb3-b9e9-470b-9c29-76a5e3ea12d0") + ar.setProvidingServiceModelUuid("61b6e96a-f0c6-4f34-a91c-dab3574dd025") + ar.setNfType("TunnelXConn") + ar.setNfRole("TunnelXConn") + + ar = new AllottedResource() + allottedResources.add(ar) + ar.setResourceId("3b1b3686-ccfe-4e7c-9d6b-76419db398f9") + ar.setResourceType(ResourceType.ALLOTTED_RESOURCE) + arModelInfo = new ModelInfo() + ar.setModelInfo(arModelInfo) + arModelInfo.setModelName("vcpear_brg_1111") + arModelInfo.setModelUuid("6b0a5aa5-98d8-455c-8cd1-618a3f1ac859") + arModelInfo.setModelInvariantUuid("531f9aa5-dea4-4958-89ad-ef03f77cbf07") + arModelInfo.setModelVersion("1.0") + arModelInfo.setModelCustomizationUuid("d23ac3fe-ea54-4060-a7c1-ec9178c79620") + arModelInfo.setModelCustomizationName("") + arModelInfo.setModelInstanceName("vcpear_brg_1111 0") + arModelInfo.setModelType("") + ar.setResourceInstance(new ResourceInstance()) + homingSolution = new HomingSolution() + ar.setHomingSolution(homingSolution) + homingSolution.setInventoryType(InventoryType.service) + homingSolution.setServiceInstanceId("bc28ebca-0cc3-4bf8-9ce9-d1524e4bec79") + homingSolution.setCloudOwner("CloudOwner") + homingSolution.setCloudRegionId("RegionOne") + vnf = new VnfResource() + homingSolution.setVnf(vnf) + vnf.setResourceId("65183e95-e6f1-46cb-9315-2da27a24c2b9") + vnf.setResourceType(ResourceType.VNF) + vnf.setResourceInstance(new ResourceInstance()) + vnf.setHomingSolution(new HomingSolution()) + vnf.setVnfHostname("vnfHostName") + homingSolution.setLicense(new License()) + homingSolution.setRehome(false) + ar.setToscaNodeType("org.openecomp.resource.vf.VcpearBrg1111") + ar.setAllottedResourceType("BRG") + ar.setAllottedResourceRole("BRG") + ar.setProvidingServiceModelName("org.openecomp.service.VcpesvcVbrg1111") + ar.setProvidingServiceModelInvariantUuid("6eff53bf-0045-41b0-bd48-b4e1284e5b7a") + ar.setProvidingServiceModelUuid("0e500bca-15ac-42eb-a2f1-4bfd3b2828ff") + ar.setNfType("BRG") + ar.setNfRole("BRG") + + return serviceDecomposition + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy index d0ded39146..160eee2337 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/vcpe/scripts/CreateVcpeResCustServiceTest.groovy @@ -85,10 +85,10 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { // ***** preProcessRequest ***** @Test - @Ignore // 1802 merge public void preProcessRequest() { ExecutionEntity mex = setupMock() def map = setupMap(mex) + initPreProcess(mex) CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() @@ -96,7 +96,6 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { verify(mex).getVariable(DBGFLAG) verify(mex).setVariable("prefix", Prefix) - verify(mex).setVariable("aaiDistDelay", "aaidelay") verify(mex).setVariable("createVcpeServiceRequest", request) verify(mex).setVariable("msoRequestId", "mri") assertEquals("sii", map.get("serviceInstanceId")) @@ -118,6 +117,8 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { def reqinfo = map.get(Prefix+"requestInfo") assertTrue(reqinfo.indexOf("<request-id>mri</") >= 0) assertTrue(reqinfo.indexOf("<source>VID</") >= 0) + + assertTrue(map.containsKey("vfModuleNames")) } @Test @@ -127,7 +128,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { def map = setupMap(mex) initPreProcess(mex) - when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(null) + when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn(null) CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() @@ -209,7 +210,6 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { .replace('"mdt1"', '"CloudOwner_CloudRegion1"') when(mex.getVariable("bpmnRequest")).thenReturn(req) - when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("PT5S") when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S") CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() @@ -230,8 +230,6 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { .replace('"mdt1"', '"CloudRegion1_"') when(mex.getVariable("bpmnRequest")).thenReturn(req) - when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn(60) - when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("PT5S") when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S") CreateVcpeResCustService CreateVcpeResCustService = new CreateVcpeResCustService() @@ -1122,7 +1120,7 @@ class CreateVcpeResCustServiceTest extends GroovyTestBase { private void initPreProcess(ExecutionEntity mex) { when(mex.getVariable(DBGFLAG)).thenReturn("true") when(mex.getVariable("bpmnRequest")).thenReturn(request) - when(mex.getVariable("URN_mso_workflow_aai_distribution_delay")).thenReturn("aaidelay") + when(mex.getVariable("aai.workflowAaiDistributionDelay")).thenReturn("PT5S") when(mex.getVariable("mso-request-id")).thenReturn("mri") when(mex.getVariable("serviceInstanceId")).thenReturn("sii") when(mex.getVariable("requestAction")).thenReturn("ra") diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegateTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegateTest.java index 6bfbac0791..c487125ea6 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegateTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegateTest.java @@ -53,4 +53,4 @@ public class CreatePnfEntryInAaiDelegateTest { assertThat(createdEntry.getPnfName()).isEqualTo("testCorrelationId"); assertThat(createdEntry.isInMaint()).isNull(); } -}
\ No newline at end of file +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java index 763a4546e8..8a1cdfa4c0 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java @@ -28,8 +28,6 @@ import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; import org.junit.Test; public class GeneratePnfUuidDelegateTest { - private static final String UUID_REGEX = "(?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[89ab]{1}[0-9a-f]{3}-[0-9a-f]{12}$"; - @Test public void execute_shouldSetValidUuidAsPnfUuid() { // given @@ -38,6 +36,6 @@ public class GeneratePnfUuidDelegateTest { // when delegate.execute(execution); // then - assertThat((String) execution.getVariable(PNF_UUID)).matches(UUID_REGEX); + assertThat((String) execution.getVariable(PNF_UUID)).matches(PnfCheckInputs.UUID_REGEX); } -}
\ No newline at end of file +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java index d670305a9a..1888831e2e 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java @@ -4,8 +4,6 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ - * Modifications Copyright 2018 Nokia - * ================================================================================ * 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 @@ -23,7 +21,7 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.TIMEOUT_FOR_NOTIFICATION; @@ -56,18 +54,6 @@ public class PnfCheckInputsTest { } @Test - public void shouldThrowException_whenCorrelationIdIsEmptyString() { - PnfCheckInputs testedObject = prepareExecutionForCorrelationId(""); - assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); - } - - @Test - public void shouldThrowException_whenTimeoutIsNotSetAndDefaultIsNotDefined() { - PnfCheckInputs testedObject = prepareExecutionForTimeout(null, null); - assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); - } - - @Test public void shouldThrowException_whenTimeoutIsEmptyStringAndDefaultIsNotDefined() { PnfCheckInputs testedObject = prepareExecutionForTimeout(null, ""); assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json index dc4669e8d9..766d27a26d 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json +++ b/bpmn/so-bpmn-infrastructure-common/src/test/resources/__files/VCPE/CreateVcpeResCustService/request.json @@ -23,6 +23,7 @@ }, "cloudConfiguration": { + "cloudOwner":"CloudOwner", "lcpCloudRegionId":"mdt1", "tenantId":"8b1df54faa3b49078e3416e21370a3ba" }, @@ -30,11 +31,37 @@ { "subscriptionServiceType":"123456789", "aLaCarte":"false", - "userParams": + "userParams":[ { - "BRG_WAN_MAC_Address" : "brgmac" + "name":"BRG_WAN_MAC_Address", + "value":"brgmac" + }, + { + "name":"Customer_Location", + "value":{ + "customerLatitude":"32.897480", + "customerLongitude":"-97.040443", + "customerName":"some_company" + } + }, + { + "name":"Homing_Solution", + "value":"sniro" + }, + { + "name":"VfModuleNames", + "value":[ + { + "VfModuleModelInvariantUuid":"c0e70c86-9813-4441-93c7-ad356a9a8d3b", + "VfModuleName":"VGWA:f4:56:56:56:%" + }, + { + "VfModuleModelInvariantUuid":"5366deab-be06-44c7-b4f7-77e657b78b25", + "VfModuleName":"VGWB:a9:18:18:18:%" + } + ] } + ] } - } } diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ActivateSDNCNetworkResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ActivateSDNCNetworkResource.bpmn index fe2c8928d8..8cde4f6c56 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ActivateSDNCNetworkResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/ActivateSDNCNetworkResource.bpmn @@ -38,7 +38,7 @@ dcsi.prepareUpdateAfterActivateSDNCResource(execution)</bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Create3rdONAPE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Create3rdONAPE2EServiceInstance.bpmn index 6a7cf8160a..6be6cc9899 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Create3rdONAPE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Create3rdONAPE2EServiceInstance.bpmn @@ -46,7 +46,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -82,7 +82,7 @@ dcsi.doCreateE2ESIin3rdONAP(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -199,7 +199,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -311,7 +311,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateActivateSDNCResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateActivateSDNCResource.bpmn index 29d7a11175..5f4f964008 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateActivateSDNCResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateActivateSDNCResource.bpmn @@ -79,7 +79,7 @@ dcsi.prepareUpdateAfterCreateSDNCResource(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -101,7 +101,7 @@ dcsi.prepareUpdateAfterCreateSDNCResource(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -147,7 +147,7 @@ dcsi.prepareUpdateAfterActivateSDNCResource(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn index 6f73b46e2e..04ff48d4ed 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0"> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.2"> <bpmn:process id="CreateCustomE2EServiceInstance" name="CreateCustomE2EServiceInstance" isExecutable="true"> <bpmn:startEvent id="StartEvent_00qj6ro" name="Create SI Start Flow"> <bpmn:outgoing>SequenceFlow_0s2spoq</bpmn:outgoing> @@ -8,9 +8,9 @@ <bpmn:scriptTask id="ScriptTask_0u3lw39" name="Handle Unexpected Error" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_1dsbjjb</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1yay321</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.common.scripts.* + <bpmn:script>import org.onap.so.bpmn.common.scripts.* ExceptionUtil ex = new ExceptionUtil() -ex.processJavaException(execution)]]></bpmn:script> +ex.processJavaException(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:startEvent id="StartEvent_0v1ffn4"> <bpmn:outgoing>SequenceFlow_1dsbjjb</bpmn:outgoing> @@ -54,16 +54,16 @@ ex.processJavaException(execution)]]></bpmn:script> <bpmn:scriptTask id="ScriptTask_1s09c7d" name="Pre Process Incoming Request" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_0s2spoq</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0z4faf9</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def csi= new CreateCustomE2EServiceInstance() -csi.preProcessRequest(execution)]]></bpmn:script> +csi.preProcessRequest(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:scriptTask id="ScriptTask_0ttvn8r" name="Prepare Completion Request" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_14zu6wr</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0je30si</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def csi = new CreateCustomE2EServiceInstance() -csi.prepareCompletionRequest(execution)]]></bpmn:script> +csi.prepareCompletionRequest(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:callActivity id="CallActivity_02fyxz0" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess"> <bpmn:extensionElements> @@ -88,9 +88,9 @@ csi.prepareCompletionRequest(execution)]]></bpmn:script> <bpmn:scriptTask id="ScriptTask_0u8o9p2" name="Prepare Fallout Request" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_0n9pexp</bpmn:incoming> <bpmn:outgoing>SequenceFlow_01umodj</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def csi = new CreateCustomE2EServiceInstance() -csi.prepareFalloutRequest(execution)]]></bpmn:script> +csi.prepareFalloutRequest(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:callActivity id="CallActivity_1ang7q8" name="Call FalloutHandler" calledElement="FalloutHandler"> <bpmn:extensionElements> @@ -107,9 +107,9 @@ csi.prepareFalloutRequest(execution)]]></bpmn:script> <bpmn:scriptTask id="ScriptTask_1rn6nqi" name="Send Error Response"> <bpmn:incoming>SequenceFlow_0e1r62n</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0n9pexp</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def csi = new CreateCustomE2EServiceInstance() -csi.sendSyncError(execution)]]></bpmn:script> +csi.sendSyncError(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:sequenceFlow id="SequenceFlow_0e1r62n" sourceRef="StartEvent_0dug28e" targetRef="ScriptTask_1rn6nqi" /> <bpmn:sequenceFlow id="SequenceFlow_1ysapam" sourceRef="CallActivity_1ang7q8" targetRef="EndEvent_03wysuk" /> @@ -119,9 +119,9 @@ csi.sendSyncError(execution)]]></bpmn:script> <bpmn:scriptTask id="ScriptTask_0xupxj9" name="Send Sync Ack Response" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_081z8l2</bpmn:incoming> <bpmn:outgoing>SequenceFlow_19eilro</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def csi = new CreateCustomE2EServiceInstance() -csi.sendSyncResponse(execution)]]></bpmn:script> +csi.sendSyncResponse(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:exclusiveGateway id="ExclusiveGateway_0aqn64l" name="Success?"> <bpmn:incoming>SequenceFlow_0klbpxx</bpmn:incoming> @@ -138,19 +138,19 @@ csi.sendSyncResponse(execution)]]></bpmn:script> <bpmn:sequenceFlow id="SequenceFlow_0yayvrf" sourceRef="CallActivity_02fyxz0" targetRef="EndEvent_0bpd6c0" /> <bpmn:sequenceFlow id="SequenceFlow_0z4faf9" sourceRef="ScriptTask_1s09c7d" targetRef="Task_1tqjch6" /> <bpmn:sequenceFlow id="SequenceFlow_14zu6wr" name="yes" sourceRef="ExclusiveGateway_0aqn64l" targetRef="ScriptTask_0ttvn8r"> - <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") == null}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{execution.getVariable("WorkflowException") == null}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="SequenceFlow_0je30si" sourceRef="ScriptTask_0ttvn8r" targetRef="CallActivity_02fyxz0" /> <bpmn:sequenceFlow id="SequenceFlow_1fueo69" name="no" sourceRef="ExclusiveGateway_0aqn64l" targetRef="EndEvent_07uk5iy"> - <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{execution.getVariable("WorkflowException") != null}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="SequenceFlow_1euqjsp" sourceRef="Task_1tqjch6" targetRef="Task_19mxcw3" /> <bpmn:scriptTask id="Task_1tqjch6" name="Init Service Operation Status" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_0z4faf9</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1euqjsp</bpmn:outgoing> - <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* def csi= new CreateCustomE2EServiceInstance() -csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> +csi.prepareInitServiceOperationStatus(execution)</bpmn:script> </bpmn:scriptTask> <bpmn:serviceTask id="Task_19mxcw3" name="Update Service Operation Status"> <bpmn:extensionElements> @@ -160,7 +160,7 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -225,61 +225,61 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0s2spoq_di" bpmnElement="SequenceFlow_0s2spoq"> - <di:waypoint xsi:type="dc:Point" x="30" y="198" /> - <di:waypoint xsi:type="dc:Point" x="115" y="198" /> + <di:waypoint x="30" y="198" /> + <di:waypoint x="115" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="27.5" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_19eilro_di" bpmnElement="SequenceFlow_19eilro"> - <di:waypoint xsi:type="dc:Point" x="710" y="198" /> - <di:waypoint xsi:type="dc:Point" x="751" y="198" /> + <di:waypoint x="710" y="198" /> + <di:waypoint x="751" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="685.5" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0klbpxx_di" bpmnElement="SequenceFlow_0klbpxx"> - <di:waypoint xsi:type="dc:Point" x="851" y="198" /> - <di:waypoint xsi:type="dc:Point" x="903" y="198" /> + <di:waypoint x="851" y="198" /> + <di:waypoint x="903" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="832" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0yayvrf_di" bpmnElement="SequenceFlow_0yayvrf"> - <di:waypoint xsi:type="dc:Point" x="1276" y="238" /> - <di:waypoint xsi:type="dc:Point" x="1276" y="286" /> + <di:waypoint x="1276" y="238" /> + <di:waypoint x="1276" y="286" /> <bpmndi:BPMNLabel> <dc:Bounds x="1246" y="262" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0z4faf9_di" bpmnElement="SequenceFlow_0z4faf9"> - <di:waypoint xsi:type="dc:Point" x="215" y="198" /> - <di:waypoint xsi:type="dc:Point" x="273" y="198" /> + <di:waypoint x="215" y="198" /> + <di:waypoint x="273" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="199" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_14zu6wr_di" bpmnElement="SequenceFlow_14zu6wr"> - <di:waypoint xsi:type="dc:Point" x="953" y="198" /> - <di:waypoint xsi:type="dc:Point" x="990" y="198" /> - <di:waypoint xsi:type="dc:Point" x="990" y="198" /> - <di:waypoint xsi:type="dc:Point" x="1038" y="198" /> + <di:waypoint x="953" y="198" /> + <di:waypoint x="990" y="198" /> + <di:waypoint x="990" y="198" /> + <di:waypoint x="1038" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="987" y="195" width="20" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0je30si_di" bpmnElement="SequenceFlow_0je30si"> - <di:waypoint xsi:type="dc:Point" x="1138" y="198" /> - <di:waypoint xsi:type="dc:Point" x="1226" y="198" /> + <di:waypoint x="1138" y="198" /> + <di:waypoint x="1226" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="1137" y="183" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1fueo69_di" bpmnElement="SequenceFlow_1fueo69"> - <di:waypoint xsi:type="dc:Point" x="928" y="223" /> - <di:waypoint xsi:type="dc:Point" x="928" y="250" /> - <di:waypoint xsi:type="dc:Point" x="928" y="250" /> - <di:waypoint xsi:type="dc:Point" x="928" y="286" /> + <di:waypoint x="928" y="223" /> + <di:waypoint x="928" y="250" /> + <di:waypoint x="928" y="250" /> + <di:waypoint x="928" y="286" /> <bpmndi:BPMNLabel> <dc:Bounds x="901" y="228" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -321,54 +321,54 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> <dc:Bounds x="443" y="434" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1dsbjjb_di" bpmnElement="SequenceFlow_1dsbjjb"> - <di:waypoint xsi:type="dc:Point" x="532" y="727" /> - <di:waypoint xsi:type="dc:Point" x="611" y="727" /> + <di:waypoint x="532" y="727" /> + <di:waypoint x="611" y="727" /> <bpmndi:BPMNLabel> <dc:Bounds x="529.5" y="727" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1yay321_di" bpmnElement="SequenceFlow_1yay321"> - <di:waypoint xsi:type="dc:Point" x="711" y="727" /> - <di:waypoint xsi:type="dc:Point" x="772" y="727" /> + <di:waypoint x="711" y="727" /> + <di:waypoint x="772" y="727" /> <bpmndi:BPMNLabel> <dc:Bounds x="701.5" y="727" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0e1r62n_di" bpmnElement="SequenceFlow_0e1r62n"> - <di:waypoint xsi:type="dc:Point" x="399" y="474" /> - <di:waypoint xsi:type="dc:Point" x="421" y="474" /> - <di:waypoint xsi:type="dc:Point" x="421" y="474" /> - <di:waypoint xsi:type="dc:Point" x="442" y="474" /> + <di:waypoint x="399" y="474" /> + <di:waypoint x="421" y="474" /> + <di:waypoint x="421" y="474" /> + <di:waypoint x="442" y="474" /> <bpmndi:BPMNLabel> <dc:Bounds x="391" y="474" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1ysapam_di" bpmnElement="SequenceFlow_1ysapam"> - <di:waypoint xsi:type="dc:Point" x="898" y="474" /> - <di:waypoint xsi:type="dc:Point" x="942" y="474" /> + <di:waypoint x="898" y="474" /> + <di:waypoint x="942" y="474" /> <bpmndi:BPMNLabel> <dc:Bounds x="875" y="459" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0n9pexp_di" bpmnElement="SequenceFlow_0n9pexp"> - <di:waypoint xsi:type="dc:Point" x="543" y="474" /> - <di:waypoint xsi:type="dc:Point" x="570" y="474" /> - <di:waypoint xsi:type="dc:Point" x="570" y="474" /> - <di:waypoint xsi:type="dc:Point" x="621" y="474" /> + <di:waypoint x="543" y="474" /> + <di:waypoint x="570" y="474" /> + <di:waypoint x="570" y="474" /> + <di:waypoint x="621" y="474" /> <bpmndi:BPMNLabel> <dc:Bounds x="540" y="474" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_01umodj_di" bpmnElement="SequenceFlow_01umodj"> - <di:waypoint xsi:type="dc:Point" x="721" y="474" /> - <di:waypoint xsi:type="dc:Point" x="798" y="474" /> + <di:waypoint x="721" y="474" /> + <di:waypoint x="798" y="474" /> <bpmndi:BPMNLabel> <dc:Bounds x="715.5" y="459" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1euqjsp_di" bpmnElement="SequenceFlow_1euqjsp"> - <di:waypoint xsi:type="dc:Point" x="373" y="198" /> - <di:waypoint xsi:type="dc:Point" x="446" y="198" /> + <di:waypoint x="373" y="198" /> + <di:waypoint x="446" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="364.5" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> @@ -380,8 +380,8 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> <dc:Bounds x="446" y="158" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_081z8l2_di" bpmnElement="SequenceFlow_081z8l2"> - <di:waypoint xsi:type="dc:Point" x="546" y="198" /> - <di:waypoint xsi:type="dc:Point" x="610" y="198" /> + <di:waypoint x="546" y="198" /> + <di:waypoint x="610" y="198" /> <bpmndi:BPMNLabel> <dc:Bounds x="533" y="177" width="90" height="12" /> </bpmndi:BPMNLabel> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateDeviceResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateDeviceResource.bpmn index 5fd2c69608..29cec8ed1e 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateDeviceResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateDeviceResource.bpmn @@ -93,7 +93,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSDNCNetworkResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSDNCNetworkResource.bpmn index a94569c29b..0bdc6dc0bd 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSDNCNetworkResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateSDNCNetworkResource.bpmn @@ -62,7 +62,7 @@ dcsi.prepareUpdateBeforeCreateSDNCResource(execution)</bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -84,7 +84,7 @@ dcsi.prepareUpdateBeforeCreateSDNCResource(execution)</bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService.bpmn index 7413e6df83..54f0947d29 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="CreateVcpeResCustService" name="CreateVcpeResCustService" isExecutable="true"> <bpmn2:scriptTask id="sendSyncAckResponse_ScriptTask" name="Send Sync Ack Response" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> @@ -518,6 +518,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceBRG(execution)]]></bpmn2:s <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> <camunda:in source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:in source="vfModuleNames" target="vfModuleNames" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_0ws7fjn</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1mkdhw9</bpmn2:outgoing> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn index bfbdc25f18..2dbf12717c 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustServiceV2.bpmn @@ -488,6 +488,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceTXC(execution)]]></bpmn2:s <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> <camunda:in source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:in source="vfModuleNames" target="vfModuleNames" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_0ws7fjn</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1mkdhw9</bpmn2:outgoing> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeActivateSDNCNetworkResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeActivateSDNCNetworkResource.bpmn index eaf37191d5..cfcd259d7c 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeActivateSDNCNetworkResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeActivateSDNCNetworkResource.bpmn @@ -62,7 +62,7 @@ csi.sendSyncResponse(execution)</bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn index 25fd6af574..f6dcff4435 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn @@ -46,7 +46,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -82,7 +82,7 @@ dcsi.doDeleteE2ESIin3rdONAP(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -192,7 +192,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -303,7 +303,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn index 2d68d650c5..7010442b5d 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn @@ -152,7 +152,7 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteDeviceResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteDeviceResource.bpmn index 73d38b383c..7d9a9e2b5d 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteDeviceResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteDeviceResource.bpmn @@ -92,7 +92,7 @@ dcsi.prepareUpdateProgress(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn index 80fcc1762e..c2d4de3973 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/DeleteSDNCNetworkResource.bpmn @@ -58,7 +58,7 @@ dcsi.prepareUpdateBeforeDeleteSDNCResource(execution)</bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> @@ -80,7 +80,7 @@ dcsi.prepareUpdateBeforeDeleteSDNCResource(execution)</bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn index 1be30d62e4..e2488fda6a 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/UpdateCustomE2EServiceInstance.bpmn @@ -136,7 +136,7 @@ csi.sendSyncError(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -246,7 +246,7 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -270,7 +270,7 @@ csi.prepareInitServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn index 01040ba914..eccb9486dd 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstance.bpmn @@ -123,7 +123,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstanceV2.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstanceV2.bpmn index c699f911d0..31174a0b3e 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstanceV2.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateE2EServiceInstanceV2.bpmn @@ -284,7 +284,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -317,7 +317,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -350,7 +350,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -381,7 +381,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> @@ -404,7 +404,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn index b5988538e3..016aaa20d2 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0"> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0"> <bpmn:process id="DoCreateVnfAndModules" name="DoCreateVnfAndModules" isExecutable="true"> <bpmn:startEvent id="StartEvent_1"> <bpmn:outgoing>SequenceFlow_0o4vuzt</bpmn:outgoing> @@ -42,7 +42,8 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script> <camunda:in source="false" target="usePreload" /> <camunda:in source="aLaCarte" target="aLaCarte" /> </bpmn:extensionElements> - <bpmn:incoming>SequenceFlow_1hf7k7q</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0tbhtk8</bpmn:incoming> + <bpmn:incoming>SequenceFlow_10nwzbe</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1ixcnb6</bpmn:outgoing> </bpmn:callActivity> <bpmn:sequenceFlow id="SequenceFlow_0o4vuzt" sourceRef="StartEvent_1" targetRef="PreProcessRequest" /> @@ -79,6 +80,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script> <camunda:in source="aLaCarte" target="aLaCarte" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_1lh21yl</bpmn:incoming> + <bpmn:incoming>SequenceFlow_12ffqm1</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1llbx0k</bpmn:outgoing> </bpmn:callActivity> <bpmn:scriptTask id="Task_1lfmdks" name="Validate Create Add-On VF Module Response" scriptFormat="groovy"> @@ -132,7 +134,7 @@ doCreateVnfAndModules.validateAddOnModule(execution)]]></bpmn:script> <camunda:in source="vnfResourceDecomposition" target="vnfResourceDecomposition" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_19ohb1a</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_07u8e3l</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0oxfrrr</bpmn:outgoing> </bpmn:callActivity> <bpmn:scriptTask id="PreProcessAddOnModule" name="PreProcess Add-On Module" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_0jz6bqn</bpmn:incoming> @@ -157,12 +159,11 @@ doCreateVnfAndModules.queryCatalogDB(execution)]]></bpmn:script> <bpmn:sequenceFlow id="SequenceFlow_0jz6bqn" name="yes" sourceRef="ExclusiveGateway_1vyqr5o" targetRef="PreProcessAddOnModule"> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("addOnModulesDeployed") < execution.getVariable("addOnModulesToDeploy")}]]></bpmn:conditionExpression> </bpmn:sequenceFlow> - <bpmn:sequenceFlow id="SequenceFlow_0kld3qt" name="yes" sourceRef="ExclusiveGateway_1hx9s0y" targetRef="GenerateAddOnModuleName"> + <bpmn:sequenceFlow id="SequenceFlow_0kld3qt" name="yes" sourceRef="ExclusiveGateway_1hx9s0y" targetRef="ExclusiveGateway_03anzqd"> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("instancesOfThisModuleDeployed") < execution.getVariable("initialCount")}]]></bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="SequenceFlow_1mguf2m" sourceRef="Task_1lfmdks" targetRef="ExclusiveGateway_1hx9s0y" /> <bpmn:sequenceFlow id="SequenceFlow_1vrogpr" name="no" sourceRef="ExclusiveGateway_1hx9s0y" targetRef="PostProcessAddOnModule" /> - <bpmn:sequenceFlow id="SequenceFlow_1hf7k7q" sourceRef="GenerateBaseModuleName" targetRef="CreateBaseVfModule" /> <bpmn:callActivity id="GenerateBaseModuleName" name="Generate Base Module Name" calledElement="GenerateVfModuleName"> <bpmn:extensionElements> <camunda:in source="vnfId" target="vnfId" /> @@ -173,8 +174,8 @@ doCreateVnfAndModules.queryCatalogDB(execution)]]></bpmn:script> <camunda:out source="WorkflowException" target="WorkflowException" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> </bpmn:extensionElements> - <bpmn:incoming>SequenceFlow_07u8e3l</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_1hf7k7q</bpmn:outgoing> + <bpmn:incoming>SequenceFlow_19ecf9p</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0tbhtk8</bpmn:outgoing> </bpmn:callActivity> <bpmn:callActivity id="GenerateAddOnModuleName" name="Generate Add-On Module Name" calledElement="GenerateVfModuleName"> <bpmn:extensionElements> @@ -186,7 +187,7 @@ doCreateVnfAndModules.queryCatalogDB(execution)]]></bpmn:script> <camunda:out source="WorkflowException" target="WorkflowException" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> </bpmn:extensionElements> - <bpmn:incoming>SequenceFlow_0kld3qt</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0ulldxo</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1lh21yl</bpmn:outgoing> </bpmn:callActivity> <bpmn:sequenceFlow id="SequenceFlow_1lh21yl" sourceRef="GenerateAddOnModuleName" targetRef="CreateAddOnVfModule" /> @@ -240,7 +241,6 @@ dcvam.postProcessRollback(execution)]]></bpmn:script> </bpmn:startEvent> </bpmn:subProcess> <bpmn:sequenceFlow id="SequenceFlow_19ohb1a" sourceRef="QueryCatalogDB" targetRef="CreateVNF" /> - <bpmn:sequenceFlow id="SequenceFlow_07u8e3l" sourceRef="CreateVNF" targetRef="GenerateBaseModuleName" /> <bpmn:sequenceFlow id="SequenceFlow_0j52dxv" sourceRef="PostProcessAddOnModule" targetRef="ExclusiveGateway_1vyqr5o" /> <bpmn:scriptTask id="PostProcessAddOnModule" name="PostProcess Add-On Module" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_1vrogpr</bpmn:incoming> @@ -250,9 +250,9 @@ def doCreateVnfAndModules = new DoCreateVnfAndModules() doCreateVnfAndModules.postProcessAddOnModule(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:sequenceFlow id="SequenceFlow_1t407j7" sourceRef="Task_1mrb29r" targetRef="Task_0qrf3e8" /> - <bpmn:sequenceFlow id="SequenceFlow_0baw1tl" sourceRef="Task_0qrf3e8" targetRef="GenerateBaseModuleName" /> + <bpmn:sequenceFlow id="SequenceFlow_0baw1tl" sourceRef="Task_0qrf3e8" targetRef="ExclusiveGateway_06ccv8x" /> <bpmn:scriptTask id="Task_1mrb29r" name="Create Platform" scriptFormat="groovy"> - <bpmn:incoming>SequenceFlow_07u8e3l</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0oxfrrr</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1t407j7</bpmn:outgoing> <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* def doCreateVnfAndModules = new DoCreateVnfAndModules() @@ -265,6 +265,26 @@ doCreateVnfAndModules.createPlatform(execution)]]></bpmn:script> def doCreateVnfAndModules = new DoCreateVnfAndModules() doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> </bpmn:scriptTask> + <bpmn:exclusiveGateway id="ExclusiveGateway_06ccv8x" name="Need to Generate Name?" default="SequenceFlow_10nwzbe"> + <bpmn:incoming>SequenceFlow_0baw1tl</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_19ecf9p</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_10nwzbe</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_19ecf9p" name="yes" sourceRef="ExclusiveGateway_06ccv8x" targetRef="GenerateBaseModuleName"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("baseVfModuleName") == null}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0tbhtk8" sourceRef="GenerateBaseModuleName" targetRef="CreateBaseVfModule" /> + <bpmn:sequenceFlow id="SequenceFlow_10nwzbe" name="no" sourceRef="ExclusiveGateway_06ccv8x" targetRef="CreateBaseVfModule" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_03anzqd" name="Need to Generate Name?" default="SequenceFlow_12ffqm1"> + <bpmn:incoming>SequenceFlow_0kld3qt</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0ulldxo</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_12ffqm1</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0ulldxo" name="yes" sourceRef="ExclusiveGateway_03anzqd" targetRef="GenerateAddOnModuleName"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("addOnVfModuleName") == null}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_12ffqm1" name="no" sourceRef="ExclusiveGateway_03anzqd" targetRef="CreateAddOnVfModule" /> + <bpmn:sequenceFlow id="SequenceFlow_0oxfrrr" sourceRef="CreateVNF" targetRef="Task_1mrb29r" /> </bpmn:process> <bpmn:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" /> <bpmn:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> @@ -303,16 +323,16 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> <dc:Bounds x="2239" y="57" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_1h41bs7_di" bpmnElement="EndEvent_0v6povc"> - <dc:Bounds x="2362" y="147" width="36" height="36" /> + <dc:Bounds x="1524" y="37" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2380" y="183" width="0" height="0" /> + <dc:Bounds x="1497" y="73" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1llbx0k_di" bpmnElement="SequenceFlow_1llbx0k"> <di:waypoint xsi:type="dc:Point" x="2200" y="97" /> <di:waypoint xsi:type="dc:Point" x="2239" y="97" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2220" y="82" width="0" height="0" /> + <dc:Bounds x="2175" y="82" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1vyqr5o_di" bpmnElement="ExclusiveGateway_1vyqr5o" isMarkerVisible="true"> @@ -323,11 +343,9 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_132bohl_di" bpmnElement="SequenceFlow_132bohl"> <di:waypoint xsi:type="dc:Point" x="1542" y="140" /> - <di:waypoint xsi:type="dc:Point" x="1542" y="36" /> - <di:waypoint xsi:type="dc:Point" x="2380" y="36" /> - <di:waypoint xsi:type="dc:Point" x="2380" y="147" /> + <di:waypoint xsi:type="dc:Point" x="1542" y="73" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1962" y="21" width="16" height="12" /> + <dc:Bounds x="1548" y="98.99999999999997" width="16" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_0zr4ioh_di" bpmnElement="CreateVNF"> @@ -356,10 +374,10 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0kld3qt_di" bpmnElement="SequenceFlow_0kld3qt"> <di:waypoint xsi:type="dc:Point" x="1869" y="140" /> - <di:waypoint xsi:type="dc:Point" x="1869" y="89" /> - <di:waypoint xsi:type="dc:Point" x="1952" y="89" /> + <di:waypoint xsi:type="dc:Point" x="1869" y="97" /> + <di:waypoint xsi:type="dc:Point" x="1974" y="97" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1886" y="96" width="16" height="12" /> + <dc:Bounds x="1890.6265060240964" y="103.99999999999983" width="20" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1mguf2m_di" bpmnElement="SequenceFlow_1mguf2m"> @@ -377,27 +395,21 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> <di:waypoint xsi:type="dc:Point" x="1869" y="301" /> <di:waypoint xsi:type="dc:Point" x="1751" y="301" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1878" y="247" width="14" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1hf7k7q_di" bpmnElement="SequenceFlow_1hf7k7q"> - <di:waypoint xsi:type="dc:Point" x="1191" y="165" /> - <di:waypoint xsi:type="dc:Point" x="1239" y="165" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1215" y="150" width="0" height="0" /> + <dc:Bounds x="1878" y="247" width="15" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_0rz8zl9_di" bpmnElement="GenerateBaseModuleName"> - <dc:Bounds x="1091" y="125" width="100" height="80" /> + <dc:Bounds x="1077" y="245" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_0otq8mo_di" bpmnElement="GenerateAddOnModuleName"> - <dc:Bounds x="1952" y="57" width="100" height="80" /> + <dc:Bounds x="1949" y="-53" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1lh21yl_di" bpmnElement="SequenceFlow_1lh21yl"> - <di:waypoint xsi:type="dc:Point" x="2052" y="97" /> - <di:waypoint xsi:type="dc:Point" x="2100" y="97" /> + <di:waypoint xsi:type="dc:Point" x="2049" y="-13" /> + <di:waypoint xsi:type="dc:Point" x="2150" y="-13" /> + <di:waypoint xsi:type="dc:Point" x="2150" y="57" /> <bpmndi:BPMNLabel> - <dc:Bounds x="2076" y="82" width="0" height="0" /> + <dc:Bounds x="2054.5" y="-28" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_12x4dvf_di" bpmnElement="SequenceFlow_12x4dvf"> @@ -485,13 +497,6 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> <dc:Bounds x="546" y="140" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_07u8e3l_di" bpmnElement="SequenceFlow_07u8e3l"> - <di:waypoint xsi:type="dc:Point" x="674" y="165" /> - <di:waypoint xsi:type="dc:Point" x="742" y="165" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="708" y="150" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0j52dxv_di" bpmnElement="SequenceFlow_0j52dxv"> <di:waypoint xsi:type="dc:Point" x="1651" y="301" /> <di:waypoint xsi:type="dc:Point" x="1543" y="301" /> @@ -512,9 +517,9 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0baw1tl_di" bpmnElement="SequenceFlow_0baw1tl"> <di:waypoint xsi:type="dc:Point" x="1016" y="165" /> - <di:waypoint xsi:type="dc:Point" x="1091" y="165" /> + <di:waypoint xsi:type="dc:Point" x="1100" y="165" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1054" y="150" width="0" height="0" /> + <dc:Bounds x="1013" y="150" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0i9vj5o_di" bpmnElement="Task_1mrb29r"> @@ -523,6 +528,63 @@ doCreateVnfAndModules.createLineOfBusiness(execution)]]></bpmn:script> <bpmndi:BPMNShape id="ScriptTask_0stghuy_di" bpmnElement="Task_0qrf3e8"> <dc:Bounds x="916" y="125" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_06ccv8x_di" bpmnElement="ExclusiveGateway_06ccv8x" isMarkerVisible="true"> + <dc:Bounds x="1102" y="140" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1083" y="102" width="87" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_19ecf9p_di" bpmnElement="SequenceFlow_19ecf9p"> + <di:waypoint xsi:type="dc:Point" x="1127" y="190" /> + <di:waypoint xsi:type="dc:Point" x="1127" y="215" /> + <di:waypoint xsi:type="dc:Point" x="1127" y="215" /> + <di:waypoint xsi:type="dc:Point" x="1127" y="245" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1132" y="209" width="20" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0tbhtk8_di" bpmnElement="SequenceFlow_0tbhtk8"> + <di:waypoint xsi:type="dc:Point" x="1177" y="285" /> + <di:waypoint xsi:type="dc:Point" x="1289" y="285" /> + <di:waypoint xsi:type="dc:Point" x="1289" y="205" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1233" y="264" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_10nwzbe_di" bpmnElement="SequenceFlow_10nwzbe"> + <di:waypoint xsi:type="dc:Point" x="1152" y="165" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="165" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1188" y="144" width="15" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_03anzqd_di" bpmnElement="ExclusiveGateway_03anzqd" isMarkerVisible="true"> + <dc:Bounds x="1973.884115884116" y="71.89710289710288" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1957" y="126" width="87" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0ulldxo_di" bpmnElement="SequenceFlow_0ulldxo"> + <di:waypoint xsi:type="dc:Point" x="1999" y="72" /> + <di:waypoint xsi:type="dc:Point" x="1999" y="27" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2004" y="44" width="20" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_12ffqm1_di" bpmnElement="SequenceFlow_12ffqm1"> + <di:waypoint xsi:type="dc:Point" x="2024" y="97" /> + <di:waypoint xsi:type="dc:Point" x="2100" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2055" y="76" width="15" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0oxfrrr_di" bpmnElement="SequenceFlow_0oxfrrr"> + <di:waypoint xsi:type="dc:Point" x="674" y="165" /> + <di:waypoint xsi:type="dc:Point" x="742" y="165" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="708" y="144" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn index 2e12dd3b96..1b02fd772d 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn @@ -99,7 +99,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstanceV2.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstanceV2.bpmn index 2df19abf68..cc927b240b 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstanceV2.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstanceV2.bpmn @@ -245,7 +245,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -278,7 +278,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -310,7 +310,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -349,7 +349,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> @@ -380,7 +380,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn index 6084f570ce..9f9d58fa19 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteE2EServiceInstance.bpmn @@ -66,7 +66,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> @@ -206,12 +206,12 @@ dcsi.postDecomposeService(execution)]]></bpmn:script> <bpmn:scriptTask id="ScriptTask_0f3tjbn" name="prepare update service operation status" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_0h5c1bd</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1ab3vex</bpmn:outgoing> - <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.* + <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.* execution.setVariable("progress", "100") execution.setVariable("result", "finished") execution.setVariable("operationContent", "No actual resoure in service instance") def csi= new DoDeleteE2EServiceInstance() -csi.prepareUpdateServiceOperationStatus(execution)</bpmn:script> +csi.prepareUpdateServiceOperationStatus(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:intermediateCatchEvent id="IntermediateCatchEvent_0hrkmxb" name="End Delete Process"> <bpmn:outgoing>SequenceFlow_0h5c1bd</bpmn:outgoing> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteResourcesV1.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteResourcesV1.bpmn index fe5e93cbec..16acb0d7e1 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteResourcesV1.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoDeleteResourcesV1.bpmn @@ -119,7 +119,7 @@ ddrs.preProcessRequest(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoScaleE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoScaleE2EServiceInstance.bpmn index fa8a2213b0..dddbe18ba5 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoScaleE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoScaleE2EServiceInstance.bpmn @@ -30,7 +30,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn index 8383ccbd1f..785db75fa1 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn @@ -67,7 +67,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + <camunda:entry key="Authorization">Basic YnBlbDpwYXNzd29yZDEk</camunda:entry> </camunda:map> </camunda:inputParameter> <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/activity/ExecuteActivity.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/activity/ExecuteActivity.java index 94eead2d05..acef0cb354 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/activity/ExecuteActivity.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/activity/ExecuteActivity.java @@ -84,6 +84,7 @@ public class ExecuteActivity implements JavaDelegate { variables.put("buildingBlock", executeBuildingBlock); variables.put("mso-request-id", requestId); variables.put("retryCount", 1); + variables.put("aLaCarte", true); ProcessInstanceWithVariables buildingBlockResult = runtimeService.createProcessInstanceByKey("ExecuteBuildingBlock").setVariables(variables).executeWithVariablesInReturn(); VariableMap variableMap = buildingBlockResult.getVariables(); diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheck.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheck.java index 2dae820e95..4f2e2c98d2 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheck.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheck.java @@ -21,7 +21,10 @@ package org.onap.so.bpmn.infrastructure.flowspecific.tasks; import java.util.HashMap; import java.util.Optional; - +import java.net.HttpURLConnection; +import java.net.SocketTimeoutException; +import org.apache.http.conn.ConnectTimeoutException; +import org.camunda.bpm.engine.delegate.BpmnError; import org.onap.appc.client.lcm.model.Action; import org.onap.so.bpmn.common.BuildingBlockExecution; import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf; @@ -105,10 +108,22 @@ public class GenericVnfHealthCheck { appCClient.runAppCCommand(action, msoRequestId, vnfId, payload, payloadInfo, controllerType); appcCode = appCClient.getErrorCode(); appcMessage = appCClient.getErrorMessage(); - + } catch (BpmnError ex) { + msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION_ARG, "Caught exception in GenericVnfHealthCheck", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "Exception is:\n" + ex); + appcMessage = ex.getMessage(); + exceptionUtil.buildAndThrowWorkflowException(execution, Integer.parseInt(appcCode), appcMessage); } catch (Exception e) { - msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION, "Caught exception in runAppcCommand in GenericVnfHealthCheck", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "APPC Error", e); - appcMessage = e.getMessage(); + if (e instanceof java.util.concurrent.TimeoutException ) + { + appcMessage = "Request to APPC timed out. "; + msoLogger.error(MessageEnum.RA_CONNECTION_EXCEPTION, "Caught timedOut exception in runAppcCommand in GenericVnfHealthCheck", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "APPC Error", e); + throw e; + } + else { + msoLogger.error(MessageEnum.BPMN_GENERAL_EXCEPTION, "Caught exception in runAppcCommand in GenericVnfHealthCheck", "BPMN", MsoLogger.getServiceName(), MsoLogger.ErrorCode.UnknownError, "APPC Error", e); + appcMessage = e.getMessage(); + exceptionUtil.buildAndThrowWorkflowException(execution, Integer.parseInt(appcCode), appcMessage); + } } msoLogger.error("Error Message: " + appcMessage); msoLogger.error("ERROR CODE: " + appcCode); diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java index b0063c1da1..2065dfb71e 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidator.java @@ -105,6 +105,10 @@ public class OrchestrationStatusValidator { org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration configuration = extractPojosForBB.extractByKey(execution, ResourceKey.CONFIGURATION_ID, execution.getLookupMap().get(ResourceKey.CONFIGURATION_ID)); orchestrationStatus = configuration.getOrchestrationStatus(); break; + case NO_VALIDATE: + //short circuit and exit method + execution.setVariable(ORCHESTRATION_STATUS_VALIDATION_RESULT, OrchestrationStatusValidationDirective.VALIDATION_SKIPPED); + return; default: // can't currently get here, so not tested. Added in case enum is expanded without a change to this code throw new OrchestrationStatusValidationException(String.format(UNKNOWN_RESOURCE_TYPE, buildingBlockFlowName, buildingBlockDetail.getResourceType(), buildingBlockDetail.getTargetAction())); diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java index 93e588f2e1..701817ab58 100644 --- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java +++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapper.java @@ -29,6 +29,7 @@ import java.util.UUID; import javax.annotation.PostConstruct; +import org.apache.commons.lang3.StringUtils; import org.onap.sdnc.northbound.client.model.GenericResourceApiParam; import org.onap.sdnc.northbound.client.model.GenericResourceApiParamParam; import org.onap.sdnc.northbound.client.model.GenericResourceApiVfModuleTopology; @@ -92,7 +93,12 @@ public class VnfAdapterObjectMapper { deleteVolumeGroupRequest.setCloudSiteId(cloudRegion.getLcpCloudRegionId()); deleteVolumeGroupRequest.setTenantId(cloudRegion.getTenantId()); deleteVolumeGroupRequest.setVolumeGroupId(volumeGroup.getVolumeGroupId()); - deleteVolumeGroupRequest.setVolumeGroupStackId(volumeGroup.getHeatStackId()); + if (!StringUtils.isEmpty(volumeGroup.getHeatStackId())){ + deleteVolumeGroupRequest.setVolumeGroupStackId(volumeGroup.getHeatStackId()); + } else + { + deleteVolumeGroupRequest.setVolumeGroupStackId(volumeGroup.getVolumeGroupName()); + } deleteVolumeGroupRequest.setSkipAAI(true); deleteVolumeGroupRequest.setMsoRequest(createMsoRequest(requestContext, serviceInstance)); diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheckTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheckTest.java index e17859969d..7fdf2535bf 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheckTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/GenericVnfHealthCheckTest.java @@ -35,6 +35,7 @@ import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentMatchers; import org.mockito.InjectMocks; @@ -142,4 +143,34 @@ public class GenericVnfHealthCheckTest extends BaseTaskTest { genericVnfHealthCheck.callAppcClient(execution); verify(appCClient, times(1)).runAppCCommand(action, msoRequestId, vnfId, Optional.of(payload), payloadInfo, controllerType); } + + @Test + @Ignore //The runAppCCommand method in not capable of throwing this exception + public void callAppcClientTimeOutExceptionTest() { + expectedException.expect(java.util.concurrent.TimeoutException.class); + Action action = Action.HealthCheck; + String vnfId = genericVnf.getVnfId(); + String payload = "{\"testName\":\"testValue\",}"; + String controllerType = "testType"; + HashMap<String, String> payloadInfo = new HashMap<String, String>(); + payloadInfo.put("vnfName", "testVnfName"); + payloadInfo.put("vfModuleId", "testVfModuleId"); + payloadInfo.put("oamIpAddress", "testOamIpAddress"); + payloadInfo.put("vnfHostIpAddress", "testOamIpAddress"); + execution.setVariable("action", Action.HealthCheck.toString()); + execution.setVariable("msoRequestId", msoRequestId); + execution.setVariable("controllerType", controllerType); + execution.setVariable("vnfId", "testVnfId1"); + execution.setVariable("vnfName", "testVnfName"); + execution.setVariable("vfModuleId", "testVfModuleId"); + execution.setVariable("oamIpAddress", "testOamIpAddress"); + execution.setVariable("vnfHostIpAddress", "testOamIpAddress"); + execution.setVariable("payload", payload); + + doThrow(java.util.concurrent.TimeoutException.class).when(appCClient).runAppCCommand(action, msoRequestId, vnfId, Optional.of(payload), payloadInfo, controllerType); + + + genericVnfHealthCheck.callAppcClient(execution); + verify(appCClient, times(1)).runAppCCommand(action, msoRequestId, vnfId, Optional.of(payload), payloadInfo, controllerType); + } } diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorUnitTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorUnitTest.java new file mode 100644 index 0000000000..4ace2727be --- /dev/null +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/OrchestrationStatusValidatorUnitTest.java @@ -0,0 +1,45 @@ +package org.onap.so.bpmn.infrastructure.workflow.tasks; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.when; + +import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; +import org.onap.so.bpmn.common.BuildingBlockExecution; +import org.onap.so.bpmn.common.DelegateExecutionImpl; +import org.onap.so.db.catalog.beans.BuildingBlockDetail; +import org.onap.so.db.catalog.beans.OrchestrationAction; +import org.onap.so.db.catalog.beans.OrchestrationStatusValidationDirective; +import org.onap.so.db.catalog.beans.ResourceType; +import org.onap.so.db.catalog.client.CatalogDbClient; + +@RunWith(MockitoJUnitRunner.class) +public class OrchestrationStatusValidatorUnitTest { + + @Mock + private CatalogDbClient catalogDbClient; + + @InjectMocks + private OrchestrationStatusValidator validator; + @Test + public void skipValidationTest() { + BuildingBlockDetail bbDetail = new BuildingBlockDetail(); + bbDetail.setBuildingBlockName("customBB"); + bbDetail.setResourceType(ResourceType.NO_VALIDATE); + bbDetail.setTargetAction(OrchestrationAction.CUSTOM); + when(catalogDbClient.getBuildingBlockDetail("customBB")).thenReturn(bbDetail); + BuildingBlockExecution execution = new DelegateExecutionImpl(new DelegateExecutionFake()); + execution.setVariable("flowToBeCalled", "customBB"); + execution.setVariable("aLaCarte", false); + validator.validateOrchestrationStatus(execution); + + + assertThat(execution.getVariable("orchestrationStatusValidationResult"), equalTo(OrchestrationStatusValidationDirective.VALIDATION_SKIPPED)); + } + +} diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java index 99e76450af..339e9cbf17 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterObjectMapperTest.java @@ -230,7 +230,16 @@ public class VnfAdapterObjectMapperTest { } @Test - public void test_deleteVolumeGroupRequestMapper() throws Exception { + public void test_deleteVolumeGroupHeatIdRequestMapper() throws Exception{ + this.test_deleteVolumeGroupRequestMapper("heatStackId"); + } + + @Test + public void test_deleteVolumeGroupNoHeatIdRequestMapper() throws Exception{ + this.test_deleteVolumeGroupRequestMapper(null); + } + + private void test_deleteVolumeGroupRequestMapper(String heatStackId) throws Exception { DeleteVolumeGroupRequest expectedDeleteVolumeGroupRequest = new DeleteVolumeGroupRequest(); CloudRegion cloudRegion = new CloudRegion(); @@ -244,8 +253,13 @@ public class VnfAdapterObjectMapperTest { volumeGroup.setVolumeGroupId("volumeGroupId"); expectedDeleteVolumeGroupRequest.setVolumeGroupId(volumeGroup.getVolumeGroupId()); - volumeGroup.setHeatStackId("heatStackId"); - expectedDeleteVolumeGroupRequest.setVolumeGroupStackId(volumeGroup.getHeatStackId()); + if (heatStackId != null){ + volumeGroup.setHeatStackId("heatStackId"); + expectedDeleteVolumeGroupRequest.setVolumeGroupStackId(volumeGroup.getHeatStackId()); + } else { + volumeGroup.setVolumeGroupName("volumeGroupName"); + expectedDeleteVolumeGroupRequest.setVolumeGroupStackId(volumeGroup.getVolumeGroupName()); + } expectedDeleteVolumeGroupRequest.setSkipAAI(true); @@ -269,7 +283,7 @@ public class VnfAdapterObjectMapperTest { assertThat(actualDeleteVolumeGroupRequest, sameBeanAs(expectedDeleteVolumeGroupRequest)); } - + @Test @Ignore public void test_createVolumeGroupParams() throws Exception { diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java index 32a495e094..a156c382d1 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperPayloadTest.java @@ -845,7 +845,7 @@ public class VnfAdapterVfModuleObjectMapperPayloadTest { jsonToCompare, DeleteVfModuleRequest.class); - assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl")); + assertThat(vfModuleVNFAdapterRequest, sameBeanAs(reqMapper1).ignoring("messageId").ignoring("notificationUrl").ignoring("vfModuleStackId")); } @Test diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java index 85750874dd..160feed426 100644 --- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java +++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/adapter/vnf/mapper/VnfAdapterVfModuleObjectMapperTest.java @@ -43,7 +43,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule; import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext; import org.onap.so.entity.MsoRequest; -public class VnfAdapterVfModuleObjectMapperTest{ +public class VnfAdapterVfModuleObjectMapperTest { @Spy private VnfAdapterVfModuleObjectMapper mapper = new VnfAdapterVfModuleObjectMapper(); diff --git a/docs/api/SO_Interface.rst b/docs/api/SO_Interface.rst deleted file mode 100644 index 4f3d9146e4..0000000000 --- a/docs/api/SO_Interface.rst +++ /dev/null @@ -1,4479 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2018 Huawei Technologies Co., Ltd. - -SO Interfaces -================================ - -.. image:: ../images/SO_1.png - -SO APIs ----------------- - -North Bound APIs ----------------- -Create service instance -++++++++++++++++++++++++ - -+--------------------+-------------------------------------+ -|Interface Definition|Description | -+====================+=====================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6 | -+--------------------+-------------------------------------+ -|Operation Type |POST | -+--------------------+-------------------------------------+ -|Content-Type |application/json | -+--------------------+-------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+-------------------+--------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+===================+==========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|subscriberInfo |subscriberInfo Object |Content of subscriberInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestParameters |requestParameters Object |Content of requestParameters object. | -+-------------------+--------------------------+-------------------------------------------------+ -|relatedInstanceList|relatedInstanceList Object|Content of relatedInstanceList object. | -+-------------------+--------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object |Content of cloudConfiguration object. | -+-------------------+--------------------------+-------------------------------------------------+ -|project |project Object |Content of project object. | -+-------------------+--------------------------+-------------------------------------------------+ -|owningEntity |owningEntity Object |Content of owningEntity object. | -+-------------------+--------------------------+-------------------------------------------------+ -|platform |platform Object |Content of platform object. | -+-------------------+--------------------------+-------------------------------------------------+ -|lineOfBusiness |lineOfBusiness Object |Content of lineOfBusiness object. | -+-------------------+--------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ -|modelCustomizationUuid |String |The Model Customization UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelVersionId |String |The Model version id | -+-------------------------+------------------+-------------------------------------------------+ -|modelUuid |String |The Model UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInvariantUuid |String |The Model Invariant UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInstanceName |String |The Model Instance name | -+-------------------------+------------------+-------------------------------------------------+ - - -SubscriberInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|GlobalSubscriberId |String |Global customer Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|SubscriberName |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ -|billingAccountNumber |String |billingAccountNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|callbackUrl |String |callbackUrl of the request | -+-------------------------+------------------+-------------------------------------------------+ -|correlator |String |correlator of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderNumber |String |orderNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|productFamilyId |String |productFamilyId of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderVersion |String |orderVersion of the request | -+-------------------------+------------------+-------------------------------------------------+ -|instanceName |String |instanceName of the request | -+-------------------------+------------------+-------------------------------------------------+ -|suppressRollback |String |suppressRollback of the request | -+-------------------------+------------------+-------------------------------------------------+ -|requestorId |String |requestorId of the request | -+-------------------------+------------------+-------------------------------------------------+ - -RequestParameters Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|SubscriptionServiceType |String |The service type of the Subscription | -+-------------------------+------------------+-------------------------------------------------+ -|UserParams |Array |The product family Id. | -+-------------------------+------------------+-------------------------------------------------+ -|aLaCarte |Boolean | aLaCarte | -+-------------------------+------------------+-------------------------------------------------+ -|autoBuildVfModules |Boolean |autoBuildVfModules | -+-------------------------+------------------+-------------------------------------------------+ -|cascadeDelete |Boolean |cascadeDelete | -+-------------------------+------------------+-------------------------------------------------+ -|usePreload |Boolean |usePreload | -+-------------------------+------------------+-------------------------------------------------+ -|rebuildVolumeGroups |Boolean |rebuildVolumeGroups | -+-------------------------+------------------+-------------------------------------------------+ -|payload |String |payload | -+-------------------------+------------------+-------------------------------------------------+ -|controllerType |String |controllerType | -+-------------------------+------------------+-------------------------------------------------+ - -UserParams Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|name |String |Tag name of attribute | -+-------------------------+------------------+-------------------------------------------------+ -|value |String |Value of the tag | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ -|aicNodeClli |String |aicNodeClli property | -+-------------------------+------------------+-------------------------------------------------+ - -Project Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|projectName |String |Name of the project | -+-------------------------+------------------+-------------------------------------------------+ - -OwningEntity Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|owningEntityId |String |owningEntityId of the owingEntity | -+-------------------------+------------------+-------------------------------------------------+ -|owningEntityName |String |owningEntityName of the owingEntity | -+-------------------------+------------------+-------------------------------------------------+ - -Platform Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|platformName |String |Platform Name | -+-------------------------+------------------+-------------------------------------------------+ - -LineOfBusiness Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lineOfBusinessName |String |Line Of Business Name | -+-------------------------+------------------+-------------------------------------------------+ - -Delete service instance -++++++++++++++++++++++++ - -+--------------------+---------------------------------------------------------+ -|Interface Definition|Description | -+====================+=========================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId} | -+--------------------+---------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+---------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+---------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+-------------------+-------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+===================+=========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+-------------------+-------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+-------------------+-------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ - -Create Volume Group -++++++++++++++++++++++++ - -+--------------------+-------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+===========================================================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups | -+--------------------+-------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+-------------------+--------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+===================+==========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|subscriberInfo |subscriberInfo Object |Content of subscriberInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestParameters |requestParameters Object |Content of requestParameters object. | -+-------------------+--------------------------+-------------------------------------------------+ -|relatedInstanceList|relatedInstanceList Object|Content of relatedInstanceList object. | -+-------------------+--------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object |Content of cloudConfiguration object. | -+-------------------+--------------------------+-------------------------------------------------+ -|project |project Object |Content of project object. | -+-------------------+--------------------------+-------------------------------------------------+ -|owningEntity |owningEntity Object |Content of owningEntity object. | -+-------------------+--------------------------+-------------------------------------------------+ -|platform |platform Object |Content of platform object. | -+-------------------+--------------------------+-------------------------------------------------+ -|lineOfBusiness |lineOfBusiness Object |Content of lineOfBusiness object. | -+-------------------+--------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ -|modelCustomizationUuid |String |The Model Customization UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelVersionId |String |The Model version id | -+-------------------------+------------------+-------------------------------------------------+ -|modelUuid |String |The Model UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInvariantUuid |String |The Model Invariant UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInstanceName |String |The Model Instance name | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ -|aicNodeClli |String |aicNodeClli property | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ -|billingAccountNumber |String |billingAccountNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|callbackUrl |String |callbackUrl of the request | -+-------------------------+------------------+-------------------------------------------------+ -|correlator |String |correlator of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderNumber |String |orderNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|productFamilyId |String |productFamilyId of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderVersion |String |orderVersion of the request | -+-------------------------+------------------+-------------------------------------------------+ -|instanceName |String |instanceName of the request | -+-------------------------+------------------+-------------------------------------------------+ -|suppressRollback |String |suppressRollback of the request | -+-------------------------+------------------+-------------------------------------------------+ -|requestorId |String |requestorId of the request | -+-------------------------+------------------+-------------------------------------------------+ - -relatedInstance List - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|relatedInstance |Object |relatedInstance Object | -+-------------------------+------------------+-------------------------------------------------+ - -relatedInstance List - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|instanceId |String |instanceId | -+-------------------------+------------------+-------------------------------------------------+ -|modelInfo |Object |Content of modelInfo object. | -+-------------------------+------------------+-------------------------------------------------+ - -Delete Volume Group -++++++++++++++++++++++++ - -+--------------------+---------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=====================================================================================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volume-groupinstance-id} | -+--------------------+---------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+---------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+---------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+---------------------+-------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=====================+=========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object|Content of cloudConfiguration object. | -+---------------------+-------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ - -Create VF Module -+++++++++++++++++ - -+--------------------+----------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+========================================================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules | -+--------------------+----------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+----------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+----------------------------------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+---------------------+-------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=====================+=========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object|Content of cloudConfiguration object. | -+---------------------+-------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ -|relatedInstanceList |List |Content of relatedInstanceList. | -+---------------------+-------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|InstanceName |String |The instance Name | -+-------------------------+------------------+-------------------------------------------------+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ -|SuppressRollback |Boolean |SuppressRollback | -+-------------------------+------------------+-------------------------------------------------+ - -relatedInstance List - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|relatedInstance |Object |relatedInstance Object | -+-------------------------+------------------+-------------------------------------------------+ - -relatedInstance List - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|instanceId |String |instanceId | -+-------------------------+------------------+-------------------------------------------------+ -|modelInfo |Object |Content of modelInfo object. | -+-------------------------+------------------+-------------------------------------------------+ -|instanceName |String |Name of the instance | -+-------------------------+------------------+-------------------------------------------------+ - -Delete VF Module -++++++++++++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleinstance-id} | -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+--------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+---------------------+-------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=====================+=========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object|Content of cloudConfiguration object. | -+---------------------+-------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ - -Create VNF -+++++++++++++++ - -+--------------------+--------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId}/vnfs | -+--------------------+--------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+--------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+--------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+-------------------+--------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+===================+==========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|subscriberInfo |subscriberInfo Object |Content of subscriberInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestParameters |requestParameters Object |Content of requestParameters object. | -+-------------------+--------------------------+-------------------------------------------------+ -|relatedInstanceList|relatedInstanceList Object|Content of relatedInstanceList object. | -+-------------------+--------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object |Content of cloudConfiguration object. | -+-------------------+--------------------------+-------------------------------------------------+ -|project |project Object |Content of project object. | -+-------------------+--------------------------+-------------------------------------------------+ -|owningEntity |owningEntity Object |Content of owningEntity object. | -+-------------------+--------------------------+-------------------------------------------------+ -|platform |platform Object |Content of platform object. | -+-------------------+--------------------------+-------------------------------------------------+ -|lineOfBusiness |lineOfBusiness Object |Content of lineOfBusiness object. | -+-------------------+--------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ -|modelCustomizationUuid |String |The Model Customization UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelVersionId |String |The Model version id | -+-------------------------+------------------+-------------------------------------------------+ -|modelUuid |String |The Model UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInvariantUuid |String |The Model Invariant UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInstanceName |String |The Model Instance name | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ -|billingAccountNumber |String |billingAccountNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|callbackUrl |String |callbackUrl of the request | -+-------------------------+------------------+-------------------------------------------------+ -|correlator |String |correlator of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderNumber |String |orderNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|productFamilyId |String |productFamilyId of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderVersion |String |orderVersion of the request | -+-------------------------+------------------+-------------------------------------------------+ -|instanceName |String |instanceName of the request | -+-------------------------+------------------+-------------------------------------------------+ -|suppressRollback |String |suppressRollback of the request | -+-------------------------+------------------+-------------------------------------------------+ -|requestorId |String |requestorId of the request | -+-------------------------+------------------+-------------------------------------------------+ - -relatedInstance List - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|relatedInstance |Object |relatedInstance Object | -+-------------------------+------------------+-------------------------------------------------+ - -relatedInstance List - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|instanceId |String |instanceId | -+-------------------------+------------------+-------------------------------------------------+ -|modelInfo |Object |Content of modelInfo object. | -+-------------------------+------------------+-------------------------------------------------+ - -RequestParameters Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|UserParams |Array |The product family Id. | -+-------------------------+------------------+-------------------------------------------------+ - -UserParams Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|name |String |Tag name of attribute | -+-------------------------+------------------+-------------------------------------------------+ -|value |String |Value of the tag | -+-------------------------+------------------+-------------------------------------------------+ - -Delete VNF -+++++++++++++++ - -+--------------------+------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================================+ -|URI |/onap/so/infra/serviceInstantiation/serviceInstances/v6/{serviceInstanceId}/vnfs/{vnfInstanceId} | -+--------------------+------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+------------------------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestDetails |M |1 |requestDetails Object |Content of requestDetails object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+---------------------+-------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=====================+=========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object|Content of cloudConfiguration object. | -+---------------------+-------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+---------------------+-------------------------+-------------------------------------------------+ -|requestParameters |requestParameters Object |Content of requestParameters object. | -+---------------------+-------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ - -CloudConfiguration Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|lcpCloudRegionId |String |CloudRegion Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|tenantId |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ - -RequestParameters Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|UserParams |Array |The product family Id. | -+-------------------------+------------------+-------------------------------------------------+ - -UserParams Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|name |String |Tag name of attribute | -+-------------------------+------------------+-------------------------------------------------+ -|value |String |Value of the tag | -+-------------------------+------------------+-------------------------------------------------+ - -GET Orchestration Request -++++++++++++++++++++++++++ - -+--------------------+--------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================+ -|URI |/onap/so/infra/serviceInstantiation/orchestrationRequests/v6/{request-id} | -+--------------------+--------------------------------------------------------------+ -|Operation Type |GET | -+--------------------+--------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+--------------------------------------------------------------+ - -Response Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|request |M |1 |request Object |Content of request object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -Request Object - -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+===================+=========+===========+==========================+===========================================+ -|requestId |M |1 |String |Request Id | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|startTime |M |1 |request Object |Start time. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestScope |M |1 |request Object |Scope of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestType |M |1 |request Object |Type of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestDetails |M |1 |requestDetails Object |Type of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestStatus |M |1 |requestStatus Object |Type of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+-------------------+--------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+===================+==========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|subscriberInfo |subscriberInfo Object |Content of subscriberInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestParameters |requestParameters Object |Content of requestParameters object. | -+-------------------+--------------------------+-------------------------------------------------+ -|relatedInstanceList|relatedInstanceList Object|Content of relatedInstanceList object. | -+-------------------+--------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object |Content of cloudConfiguration object. | -+-------------------+--------------------------+-------------------------------------------------+ -|project |project Object |Content of project object. | -+-------------------+--------------------------+-------------------------------------------------+ -|owningEntity |owningEntity Object |Content of owningEntity object. | -+-------------------+--------------------------+-------------------------------------------------+ -|platform |platform Object |Content of platform object. | -+-------------------+--------------------------+-------------------------------------------------+ -|lineOfBusiness |lineOfBusiness Object |Content of lineOfBusiness object. | -+-------------------+--------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ -|modelCustomizationUuid |String |The Model Customization UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelVersionId |String |The Model version id | -+-------------------------+------------------+-------------------------------------------------+ -|modelUuid |String |The Model UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInvariantUuid |String |The Model Invariant UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInstanceName |String |The Model Instance name | -+-------------------------+------------------+-------------------------------------------------+ - -SubscriberInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|GlobalSubscriberId |String |Global customer Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|SubscriberName |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ -|billingAccountNumber |String |billingAccountNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|callbackUrl |String |callbackUrl of the request | -+-------------------------+------------------+-------------------------------------------------+ -|correlator |String |correlator of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderNumber |String |orderNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|productFamilyId |String |productFamilyId of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderVersion |String |orderVersion of the request | -+-------------------------+------------------+-------------------------------------------------+ -|instanceName |String |instanceName of the request | -+-------------------------+------------------+-------------------------------------------------+ -|suppressRollback |String |suppressRollback of the request | -+-------------------------+------------------+-------------------------------------------------+ -|requestorId |String |requestorId of the request | -+-------------------------+------------------+-------------------------------------------------+ - -RequestParameters Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|SubscriptionServiceType |String |The service type of the Subscription | -+-------------------------+------------------+-------------------------------------------------+ - -RequestStatus Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|finishTime |String |Time | -+-------------------------+------------------+-------------------------------------------------+ -|requestState |String |state of the request | -+-------------------------+------------------+-------------------------------------------------+ -|statusMessage |String |statusMessage | -+-------------------------+------------------+-------------------------------------------------+ -|percentProgress |String |percentage of progress | -+-------------------------+------------------+-------------------------------------------------+ - -GET Orchestration Requests -++++++++++++++++++++++++++ - -+--------------------+--------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================+ -|URI |/onap/so/infra/serviceInstantiation/orchestrationRequests/v6 | -+--------------------+--------------------------------------------------------------+ -|Operation Type |GET | -+--------------------+--------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+--------------------------------------------------------------+ - -Response Body: - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|requestList |M |1 |Array |Content of request List. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestList : - -+----------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+===========================================+ -|request |M |1 |request Object |Content of request object. | -+----------------+---------+-----------+--------------------------+-------------------------------------------+ - -Request Object - -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+===================+=========+===========+==========================+===========================================+ -|requestId |M |1 |String |Request Id. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|startTime |M |1 |request Object |Start time. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestScope |M |1 |request Object |Scope of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestType |M |1 |request Object |Type of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestDetails |M |1 |requestDetails Object |Type of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ -|requestStatus |M |1 |requestStatus Object |Type of the request. | -+-------------------+---------+-----------+--------------------------+-------------------------------------------+ - -RequestDetails Object - -+-------------------+--------------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+===================+==========================+=================================================+ -|modelInfo |modelInfo Object |Content of modelInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|subscriberInfo |subscriberInfo Object |Content of subscriberInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestInfo |requestInfo Object |Content of requestInfo object. | -+-------------------+--------------------------+-------------------------------------------------+ -|requestParameters |requestParameters Object |Content of requestParameters object. | -+-------------------+--------------------------+-------------------------------------------------+ -|relatedInstanceList|relatedInstanceList Object|Content of relatedInstanceList object. | -+-------------------+--------------------------+-------------------------------------------------+ -|cloudConfiguration |cloudConfiguration Object |Content of cloudConfiguration object. | -+-------------------+--------------------------+-------------------------------------------------+ -|project |project Object |Content of project object. | -+-------------------+--------------------------+-------------------------------------------------+ -|owningEntity |owningEntity Object |Content of owningEntity object. | -+-------------------+--------------------------+-------------------------------------------------+ -|platform |platform Object |Content of platform object. | -+-------------------+--------------------------+-------------------------------------------------+ -|lineOfBusiness |lineOfBusiness Object |Content of lineOfBusiness object. | -+-------------------+--------------------------+-------------------------------------------------+ - -ModelInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|ModelType |String |Type of model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelInvariantId |String |The Model Invariant Id. | -+-------------------------+------------------+-------------------------------------------------+ -|ModelNameVersionId |String |The modelname Version Id | -+-------------------------+------------------+-------------------------------------------------+ -|ModelName |String |Name of the Model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelVersion |String |Version of the model | -+-------------------------+------------------+-------------------------------------------------+ -|ModelCustomization Name |String |The Model Customization name | -+-------------------------+------------------+-------------------------------------------------+ -|modelCustomizationUuid |String |The Model Customization UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelVersionId |String |The Model version id | -+-------------------------+------------------+-------------------------------------------------+ -|modelUuid |String |The Model UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInvariantUuid |String |The Model Invariant UUid | -+-------------------------+------------------+-------------------------------------------------+ -|modelInstanceName |String |The Model Instance name | -+-------------------------+------------------+-------------------------------------------------+ - -SubscriberInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|GlobalSubscriberId |String |Global customer Id (in A&AI) | -+-------------------------+------------------+-------------------------------------------------+ -|SubscriberName |String |Name of the Subscriber | -+-------------------------+------------------+-------------------------------------------------+ - -RequestInfo Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|Source |String |source of the request | -+-------------------------+------------------+-------------------------------------------------+ -|billingAccountNumber |String |billingAccountNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|callbackUrl |String |callbackUrl of the request | -+-------------------------+------------------+-------------------------------------------------+ -|correlator |String |correlator of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderNumber |String |orderNumber of the request | -+-------------------------+------------------+-------------------------------------------------+ -|productFamilyId |String |productFamilyId of the request | -+-------------------------+------------------+-------------------------------------------------+ -|orderVersion |String |orderVersion of the request | -+-------------------------+------------------+-------------------------------------------------+ -|instanceName |String |instanceName of the request | -+-------------------------+------------------+-------------------------------------------------+ -|suppressRollback |String |suppressRollback of the request | -+-------------------------+------------------+-------------------------------------------------+ -|requestorId |String |requestorId of the request | -+-------------------------+------------------+-------------------------------------------------+ - -RequestParameters Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|SubscriptionServiceType |String |The service type of the Subscription | -+-------------------------+------------------+-------------------------------------------------+ - -RequestStatus Object - -+-------------------------+------------------+-------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+=================================================+ -|finishTime |String |Time | -+-------------------------+------------------+-------------------------------------------------+ -|requestState |String |state of the request | -+-------------------------+------------------+-------------------------------------------------+ -|statusMessage |String |statusMessage | -+-------------------------+------------------+-------------------------------------------------+ -|percentProgress |String |percentage of progress | -+-------------------------+------------------+-------------------------------------------------+ - -SDC API --------- - -Get List of Existing Catalog Assets -+++++++++++++++++++++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |sdc/v1/catalog/{assetType}| -+--------------------+--------------------------+ -|Operation Type |GET | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services.| -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|service-instance-id|M |1 |String |Service Instance ID | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Response: - -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==================+=========+===========+=======+======================================================================================+ -|uuid |M |1 |String |Global Asset Version Identifier: UUID generated by SDC per each version of the asset. | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|invariantUUID |M |1 |String |UUID generated by SDC per each asset. | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|name |M |1 |String |The name of the asset | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|version |M |1 |String |The asset version in SDC catalog. | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|toscaModelURL |M |1 |String |Relative asset’s URL. Should be used in REST GET API to download the asset’s CSAR. | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|category |M |1 |String |Category of the asset. | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|subcategory |M |1 |String |Sub-category of the asset | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|resourceType |M |1 |String |The type of resource.resource types are VF, VL, CP, VFC, VFCMT, PNF. | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|lifecycleState |M |1 |String |The lifecycle state of the asset | -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ -|lastUpdaterUserId |M |1 |String |UserID of the SDC designer who was the last to update the asset for this major version| -+------------------+---------+-----------+-------+--------------------------------------------------------------------------------------+ - -Get Specific Asset Detailed Metadata -++++++++++++++++++++++++++++++++++++ - -+--------------------+-------------------------------------------+ -|Interface Definition|Description | -+====================+===========================================+ -|URI |/sdc/v1/catalog/{assetType}/{uuid}/metadata| -+--------------------+-------------------------------------------+ -|Operation Type |GET | -+--------------------+-------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=====================================================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services. | -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|uuid |M |1 |String |Global Asset Version Identifier: UUID generated by SDC per each version of the asset.| -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | -+====================+=========+=======+======================================================================================+ -|uuid |M |String |Global Asset Version Identifier: UUID generated by SDC per each version of the asset. | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|invariantUUID |M |String |UUID generated by SDC per each asset. | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|name |M |String |The name of the asset | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|version |M |String |The asset version in SDC catalog. | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|toscaModelURL |M |String |Relative asset’s URL. Should be used in REST GET API to download the asset’s CSAR. | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|description |M |String |Short description of the resource | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|lastUpdaterUserId |M |String |UserID of the SDC designer who was the last to update the asset for this major version| -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|lastUpdaterFullName |M |String |UserID of the SDC designer who was the last to update the asset for this major version| -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|category |M |String |Category of the asset | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|subCategory |M |String |Sub-category of the asset. | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|toscaResourceName |M |String |The full name of the asset | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|resourceType |M |String |The type of resource. | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|lifecycleState |M |String |The lifecycle state of the asset | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|resources |N |Object |Category of the asset | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ -|artifacts |M |Object |Category of the asset | -+--------------------+---------+-------+--------------------------------------------------------------------------------------+ - -Resource Object: - -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | | -+=====================+=========+=======+===================================================================================================================+ -|resourceInstanceName |M |String |Logical Resource Instance Name.Unique Identifier of the instance of the specific resource in the service context.| -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|resourceName |M |String |Resource Name | -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|resourceInvariantUUID|M |String |The invariant UUID of the resource | -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|resourceVersion |M |String |Resource Version | -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|resoucreType |M |String |Resource Type | -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|resourceUUID |M |String |Global UUID of the resource that specific artifact belongs to | -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ -|artifacts |M |Object |Array of resource instance deployment artifacts. | -+---------------------+---------+-------+-------------------------------------------------------------------------------------------------------------------+ - -Artifact Metadata Object: - -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content |Description | -+=====================+=========+========+===================================================================================================================+ -|artifactName |M |String |Artifact File name | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactLabel |M |String |Identifier of the artifact within the VF / Service. | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactType |M |String |Artifact Type | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactGroupType |M |String |Whether the artifact is informational or deployment. | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactURL |M |String |Relative artifact’s URL. | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactDescription |M |String |Artifact Description | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactTimeout |N |Integer |Artifact Description | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactChecksum |M |String |Base-64 encoded MD5 checksum of the artifact’s payload. | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactUUID |M |String |Global UUID generated by SDC each time when artifact payload is updated. | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|artifactVersion |M |String |Service Version | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ -|generatedFromUUID |N |String |This attribute will be sent only in the case of an artifact generated on basis of other artifact | -+---------------------+---------+--------+-------------------------------------------------------------------------------------------------------------------+ - -Download (CSAR of) Specific Asset -+++++++++++++++++++++++++++++++++ - -+--------------------+-----------------------------------------------------------+ -|Interface Definition|Description | -+====================+===========================================================+ -|URI |/sdc/v1/catalog/{assetType}/{uuid}/artifacts/{artifactUUID}| -+--------------------+-----------------------------------------------------------+ -|Operation Type |GET | -+--------------------+-----------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=====================================================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services. | -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Uuid |M |1 |String |The uuid of the asset as published in the metadata | -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactUUID |M |1 |String |The artifactUUID of the asset as published in the metadata | -+-------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+--------------------------------------------------------------------------------------------------------------------------+ -|Header name |Qualifier|Description | -+====================+=========+==========================================================================================================================+ -|Content-Type |M |Specifies the downloaded payload format as “ arbitrary data in binary format” .Valid value is : application/octet-stream | -+--------------------+---------+--------------------------------------------------------------------------------------------------------------------------+ -|Content-Length |M |Streamed artifact payload size | -+--------------------+---------+--------------------------------------------------------------------------------------------------------------------------+ -|Content-Disposition |M |Specifies the name of file to store the downloaded artifact’s payload ( RFC 2183) . | -+--------------------+---------+--------------------------------------------------------------------------------------------------------------------------+ - -Upload Artifact -+++++++++++++++ - -+--------------------+-----------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+===============================================================================================+ -|URI |/sdc/v1/catalog/{assetType}/{uuid}/resourceInstances/{resourceInstanceNormalizedName}/artifacts| -+--------------------+-----------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------+ - -Request Parameters: - -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============================+=========+===========+=======+=====================================================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Uuid |M |1 |String |The uuid of the asset as published in the metadata | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|resourceInstanceNormalizedName|M |1 |String |Normalized name of resource | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Request Body -++++++++++++ - -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============================+=========+===========+=======+=====================================================================================+ -|payloadData |M |1 |String |The data of the artifact after Base64 encoding | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactLabel |M |1 |String |Identifier of the artifact within the VF / Service. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactName |M |1 |String |The name of the artifact | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactType |M |1 |String |The type of the artifact | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactGroupType |M |1 |String |Whether the artifact is informational or deployment. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|description |M |1 |String |Description of the artifact | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|USER_ID |Y |The user ID of the DCAE Designer. This user must also have Designer role in SDC | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Content-Type |Y |Valid value is : application/json | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Content-MD5 |Y |The value for this header must be the MD5 checksum over the whole json body | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | -+====================+=========+=======+===================================================================================================+ -|artifactName |M |String |Artifact File name | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactType |M |String |Artifact Type | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactURL |M |String |Relative artifact’s URL. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactDescription |M |String |Artifact Description. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactTimeout |N |String |Will be populated only if its value is not 0. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactChecksum |Y |String |Base-64 encoded MD5 checksum of the artifact’s payload. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactUUID |Y |String |Global UUID generated by SDC each time when artifact payload is updated. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactVersion |Y |String |Service Version . | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|generatedFromUUID |N |String |This attribute will be sent only in the case of an artifact generated on basis of other artifact | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ - -Update Artifact -+++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================================================================+ -|URI |/sdc/v1/catalog/{assetType}/{uuid}/resourceInstances/{resourceInstanceNormalizedName}/artifacts/{artifactUUID}| -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+--------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============================+=========+===========+=======+=====================================================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Uuid |M |1 |String |The uuid of the asset as published in the metadata | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactUUID |M |1 |String |The uuid of the artifact as published in the response of the upload/update operation | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|resourceInstanceNormalizedName|M |1 |String |Normalized name of resource | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|USER_ID |Y |The user ID of the DCAE Designer. This user must also have Designer role in SDC | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Content-Type |Y |Valid value is : application/json | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Content-MD5 |Y |The value for this header must be the MD5 checksum over the whole json body | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Body: - -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============================+=========+===========+=======+=====================================================================================+ -|payloadData |M |1 |String |The data of the artifact after Base64 encoding | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactLabel |M |1 |String |Identifier of the artifact within the VF / Service. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactName |M |1 |String |The name of the artifact | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactType |M |1 |String |The type of the artifact | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactGroupType |M |1 |String |Whether the artifact is informational or deployment. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|description |M |1 |String |Description of the artifact | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | -+====================+=========+=======+===================================================================================================+ -|artifactName |M |String |Artifact File name | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactType |M |String |Artifact Type | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactURL |M |String |Relative artifact’s URL. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactDescription |M |String |Artifact Description. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactTimeout |N |String |Will be populated only if its value is not 0. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactChecksum |Y |String |Base-64 encoded MD5 checksum of the artifact’s payload. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactUUID |Y |String |Global UUID generated by SDC each time when artifact payload is updated. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|artifactVersion |Y |String |Service Version . | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|generatedFromUUID |N |String |This attribute will be sent only in the case of an artifact generated on basis of other artifact | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ - -Delete Artifact -+++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================================================================+ -|URI |/sdc/v1/catalog/{assetType}/{uuid}/resourceInstances/{resourceInstanceNormalizedName}/artifacts/{artifactUUID}| -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+--------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============================+=========+===========+=======+=====================================================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services. | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|Uuid |M |1 |String |The uuid of the asset as published in the metadata | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|artifactUUID |M |1 |String |The uuid of the artifact as published in the response of the upload/update operation | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ -|resourceInstanceNormalizedName|M |1 |String |Normalized name of resource | -+------------------------------+---------+-----------+-------+-------------------------------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|USER_ID |Y |The user ID of the DCAE Designer. This user must also have Designer role in SDC | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | -+====================+=========+=======+===================================================================================================+ -|artifactUUID |Y |String |Global UUID generated by SDC each time when artifact payload is updated. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ - -Update Lifecycle -++++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================================================================+ -|URI |/sdc/v1/catalog/{assetType}/{uuid}/lifecycleState/{lifecycleOperation} | -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+--------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+------------------------------+---------+-----------+-------+-----------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============================+=========+===========+=======+=====================================================================================================+ -|assetType |M |1 |String |The requested asset type.valid values are resources/services. | -+------------------------------+---------+-----------+-------+-----------------------------------------------------------------------------------------------------+ -|Uuid |M |1 |String |The uuid of the asset as published in the metadata | -+------------------------------+---------+-----------+-------+-----------------------------------------------------------------------------------------------------+ -|lifecycleOperation |M |1 |String |The lifecycle operation to be performed on the asset.Valid values are: Checkin / Checkout / Certify | -+------------------------------+---------+-----------+-------+-----------------------------------------------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|USER_ID |Y |The user ID of the DCAE Designer. This user must also have Designer role in SDC | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Description | -+===================+=========+=========================================================================================+ -|userRemarks |N |Short description (free text) about the asset version being changed | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | -+====================+=========+=======+===================================================================================================+ -|uuid |Y |String |UUID generated by SDC per each major version of the asset | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|invariantUUID |Y |String |UUID generated by SDC per each asset. This UUID stays constant for all the asset’s versions | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|name |Y |String |The name of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|version |Y |String |The asset version in SDC catalog | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|category |Y |String |Category of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|subcategory |Y |String |Sub-category of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|resourceType |Y |String |The type of resource. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|lifecycleState |Y |String |The lifecycle state of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|lastUpdaterUserId |Y |String |User ID of the SDC designer who was the last to update the asset for this major version. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ - -Create Resource -+++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+==============================================================================================================+ -|URI |/sdc/v1/catalog/resources | -+--------------------+--------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+--------------------------------------------------------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|X-ECOMP-RequestID |N |request ID.If it is not sent it will be automatically generated by SDC on request receipt| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-InstanceID |Y |Instance ID | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Accept |N |Determines the format of the body of the response. Valid values are : “application/json”| -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|USER_ID |Y |The user ID of the DCAE Designer. This user must also have Designer role in SDC | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Content-Type |Y |Valid value is : application/json | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Description | -+===================+=========+=========================================================================================+ -|name |Y |The name of the resource | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|description |Y |Short description of the resource | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|resourceType |Y |“VFCMT” / “VF” / “PNF” | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|category |Y |VFCMT category is “Template”. | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|subcategory |Y |VFCMT subcategory is “Monitoring Template”. | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|vendorName |Y |Vendor Name | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|vendorRelease |Y |Vendor Release | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|tags |Y |The tags are used for search options. | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|icon |Y |The icon should be pre-defined in SDC. | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|contactId |Y |The user ID of user responsible for this VFCMT. | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Response: - -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Content|Description | -+====================+=========+=======+===================================================================================================+ -|uuid |Y |String |UUID generated by SDC per each major version of the asset | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|invariantUUID |Y |String |UUID generated by SDC per each asset. This UUID stays constant for all the asset’s versions | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|name |Y |String |The name of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|version |Y |String |The asset version in SDC catalog | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|category |Y |String |Category of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|subcategory |Y |String |Sub-category of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|resourceType |Y |String |The type of resource. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|lifecycleState |Y |String |The lifecycle state of the asset. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ -|lastUpdaterUserId |Y |String |User ID of the SDC designer who was the last to update the asset for this major version. | -+--------------------+---------+-------+---------------------------------------------------------------------------------------------------+ - -UUI API ----------------- -Create E2E service instance -++++++++++++++++++++++++++++ - -+--------------------+-------------------------------------+ -|Interface Definition|Description | -+====================+=====================================+ -|URI |/onap/so/infra/serviceInstantiation/e2eServiceInstances/v3 | -+--------------------+-------------------------------------+ -|Operation Type |POST | -+--------------------+-------------------------------------+ -|Content-Type |application/json | -+--------------------+-------------------------------------+ - -Request Body: - -+---------+---------+-----------+--------------------------+-----------------------------+ -|Attribute|Qualifier|Cardinality|Content |Description | -+=========+=========+===========+==========================+=============================+ -|service |M |1 |Service Object |Content of service object. | -+---------+---------+-----------+--------------------------+-----------------------------+ - -Service Object - -+------------------------------+-----------------+------------------------------------+ -|Attribute |Content |Description | -+==============================+=================+====================================+ -|name |String |Service instance name. | -+------------------------------+-----------------+------------------------------------+ -|description |String |Service instance description | -+------------------------------+-----------------+------------------------------------+ -|serviceUuid |String |Model UUID | -+------------------------------+-----------------+------------------------------------+ -|serviceInvariantUuid |String |Model Invariant UUID | -+------------------------------+-----------------+------------------------------------+ -|gloabalSubscriberId |String |Customer Id | -+------------------------------+-----------------+------------------------------------+ -|serviceType |String |service Type | -+------------------------------+-----------------+------------------------------------+ -|parameters |Object |Parameter Object | -+------------------------------+-----------------+------------------------------------+ - -Parameter Object - -+------------------------------+-----------------+------------------------------------+ -|Attribute |Content |Description | -+==============================+=================+====================================+ -|locationConstraints |List of object |location infor for each vnf | -+------------------------------+-----------------+------------------------------------+ -|resource |List of Resource |resource of service/resource | -+------------------------------+-----------------+------------------------------------+ -|requestInputs |key-value map |input of service/resource -+------------------------------+-----------------+------------------------------------+ - -LocationConstraint Object - -+------------------------------+-----------------+------------------------------------+ -|Attribute |Content |Description | -+==============================+=================+====================================+ -|vnfProfileId |String |Customization id for VNF | -+------------------------------+-----------------+------------------------------------+ -|locationConstraints |Object |DC location info of VNF | -+------------------------------+-----------------+------------------------------------+ - -VnfLocationConstraint Object - -+------------------------------+-----------------+------------------------------------+ -|Attribute |Content |Description | -+==============================+=================+====================================+ -|vimId |String |VIM id from ESR definition | -+------------------------------+-----------------+------------------------------------+ - -Resource Object - -+------------------------------+-----------------+------------------------------------+ -|Attribute |Content |Description | -+==============================+=================+====================================+ -|resourceName |String |The resource name | -+------------------------------+-----------------+------------------------------------+ -|resourceInvariantUuid |String |The resource invariant UUID. | -+------------------------------+-----------------+------------------------------------+ -|resourceUuid |String |The resource UUID. | -+------------------------------+-----------------+------------------------------------+ -|resourceCustomizationUuid |String |The resource customization UUID. | -+------------------------------+-----------------+------------------------------------+ -|parameters |Object |Parameter of resource | -+------------------------------+-----------------+------------------------------------+ - -Response: - -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ -|serviceId |M |1 |String |Service instance ID. | -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operationId |M |1 |String |Service Operation ID. | -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ - -Delete E2E service instance -++++++++++++++++++++++++++++ - -+--------------------+-----------------------------------------------+ -|Interface Definition|Description | -+====================+===============================================+ -|URI |/onap/so/infra/serviceInstantiation/e2eServiceInstances/v3/{serviceId}| -+--------------------+-----------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+----------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+========================================+ -|globalSubscriberId |M |1 |String |The subscriber id. It is defined in AAI | -+-------------------+---------+-----------+-------+----------------------------------------+ -|serviceType |M |1 |String |The service type. It is defined in AAI | -+-------------------+---------+-----------+-------+----------------------------------------+ - -Response: - -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operationId |M |1 |String |The operation id. | -+-------------+---------+-----------+-------+------------------------------------------------------------------------+ - -Query E2E service operation result -++++++++++++++++++++++++++ - -+--------------------+------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+========================================================================+ -|URI |/onap/so/infra/serviceInstantiation/e2eServiceInstances/v3/{serviceId}/operations/{operationId}| -+--------------------+------------------------------------------------------------------------+ -|Operation Type |GET | -+--------------------+------------------------------------------------------------------------+ - -Request Parameters: - -+--------------+---------+-----------+-------+--------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============+=========+===========+=======+==============+ -|serviceId |M |1 |Service instance ID. | -+--------------+---------+-----------+-------+--------------+ -|operationId |M |1 |Service Operation ID. | -+--------------+---------+-----------+-------+--------------+ - -Response: - -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operation |M |1 |String |Operation object identify. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operationId |M |1 |String |Operation ID. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operation |M |1 |String |Operation type, create|delete. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|result |M |1 |String |Operation result: finished, error, processing. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|reason |M |1 |String |If failing, need to write fail reason. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|userId |M |1 |String |Operation user ID. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operationContent |M |1 |String |The status detail of current operation which is being executing. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|progress |M |1 |String |Current operation progress. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|operateAt |M |1 |String |Time that it starts to execute operation. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ -|finishedAt |M |1 |String |Time that it finished executing operation. | -+------------------+---------+-----------+-------+------------------------------------------------------------------------+ - -Inventory APIs ----------------- - -create or update an existing service-instance -+++++++++++++++++++++++++++++++++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+====================================================================================================================================================================+ -|URI |/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}| -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |PUT | -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|global-customer-id |M |1 |String |Global Customer ID | -+-------------------+---------+-----------+-------+-----------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-----------------------+ -|service-instance-id|M |1 |String |Service Instance ID | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+---------+---------+-----------+-------+-------------------+ -|Attribute|Qualifier|Cardinality|Content|Description | -+---------+---------+-----------+-------+-------------------+ -|HTTP code|M |1 |Integer|HTTP response code | -+---------+---------+-----------+-------+-------------------+ - -delete an existing service-instance -+++++++++++++++++++++++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+====================================================================================================================================================================+ -|URI |/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}| -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|global-customer-id |M |1 |String |Global Customer ID | -+-------------------+---------+-----------+-------+-----------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-----------------------+ -|service-instance-id|M |1 |String |Service Instance ID | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+---------+---------+-----------+-------+-------------------+ -|Attribute|Qualifier|Cardinality|Content|Description | -+---------+---------+-----------+-------+-------------------+ -|HTTP code|M |1 |Integer|HTTP response code | -+---------+---------+-----------+-------+-------------------+ - -get service-instances -+++++++++++++++++++++ - -+--------------------+-----------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=============================================================================================================================+ -|URI |/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances| -+--------------------+-----------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |GET | -+--------------------+-----------------------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|global-customer-id |M |1 |String |Global Customer ID | -+-------------------+---------+-----------+-------+-----------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-----------------------+ -|subscriber-name |O |1 |String |Subscriber name | -+-------------------+---------+-----------+-------+-----------------------+ -|subscriber-type |O |1 |String |Subscriber type | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+-----------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+-----------------+---------+-----------+----------------+-------------------+ -|service-instances|M |1 |ServiceInstances|Service Instances | -+-----------------+---------+-----------+----------------+-------------------+ - -get service-instance -++++++++++++++++++++ - -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+====================================================================================================================================================================+ -|URI |/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}| -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |GET | -+--------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|global-customer-id |M |1 |String |Global Customer ID | -+-------------------+---------+-----------+-------+-----------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-----------------------+ -|service-instance-id|M |1 |String |Service instance ID | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+-----------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+-----------------+---------+-----------+----------------+-------------------+ -|service-instance |M |1 |ServiceInstance |Service Instance | -+-----------------+---------+-----------+----------------+-------------------+ - -see node definition for valid relationships -+++++++++++++++++++++++++++++++++++++++++++ - -+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+===================================================================================================================================================================================================+ -|URI |/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/relationship-list/relationship| -+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |PUT | -+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|global-customer-id |M |1 |String |Global Customer ID | -+-------------------+---------+-----------+-------+-----------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-----------------------+ -|service-instance-id|M |1 |String |Service instance ID | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+---------+---------+-----------+-------+-------------------+ -|Attribute|Qualifier|Cardinality|Content|Description | -+---------+---------+-----------+-------+-------------------+ -|HTTP code|M |1 |Integer|HTTP response code | -+---------+---------+-----------+-------+-------------------+ - -delete an existing relationship -+++++++++++++++++++++++++++++++ - -+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+===================================================================================================================================================================================================+ -|URI |/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/relationship-list/relationship| -+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|global-customer-id |M |1 |String |Global Customer ID | -+-------------------+---------+-----------+-------+-----------------------+ -|service-type |M |1 |String |Service Type | -+-------------------+---------+-----------+-------+-----------------------+ -|service-instance-id|M |1 |String |Service instance ID | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+---------+---------+-----------+-------+-------------------+ -|Attribute|Qualifier|Cardinality|Content|Description | -+---------+---------+-----------+-------+-------------------+ -|HTTP code|M |1 |Integer|HTTP response code | -+---------+---------+-----------+-------+-------------------+ - - -VFC APIs ---------- - -Create NS -+++++++++++ - -+--------------------+-------------------+ -|Interface Definition|Description | -+====================+===================+ -|URI |/ns | -+--------------------+-------------------+ -|Operation Type |POST | -+--------------------+-------------------+ -|Content-Type |application/json | -+--------------------+-------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=======================+ -|context |M |1 |Object |Context | -+-------------------+---------+-----------+-------+-----------------------+ -|csarId |M |1 |String |csarId | -+-------------------+---------+-----------+-------+-----------------------+ -|nsName |M |1 |String |Name of the NS | -+-------------------+---------+-----------+-------+-----------------------+ -|description |M |1 |String |description | -+-------------------+---------+-----------+-------+-----------------------+ - -Response: - -+-----------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+-----------------+---------+-----------+----------------+-------------------+ -|nsInstanceId |M |1 |String |nsInstanceId | -+-----------------+---------+-----------+----------------+-------------------+ - -Get NS -+++++++ - -+--------------------+-------------------+ -|Interface Definition|Description | -+====================+===================+ -|URI |/ns | -+--------------------+-------------------+ -|Operation Type |GET | -+--------------------+-------------------+ -|Content-Type |application/json | -+--------------------+-------------------+ - -Response: - -+-----------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+-----------------+---------+-----------+----------------+-------------------+ -|nsInstanceId |M |1 |String |nsInstanceId | -+-----------------+---------+-----------+----------------+-------------------+ -|nsName |M |1 |String |The name of ns | -+-----------------+---------+-----------+----------------+-------------------+ -|description |M |1 |String |description | -+-----------------+---------+-----------+----------------+-------------------+ -|nsdId |M |1 |String |ID of ns | -+-----------------+---------+-----------+----------------+-------------------+ -|vnfInfo |M |1 |Array |Vnf information | -+-----------------+---------+-----------+----------------+-------------------+ -|vlInfo |M |1 |Array |vl information | -+-----------------+---------+-----------+----------------+-------------------+ -|vnffgInfo |M |1 |Array |vnffg information | -+-----------------+---------+-----------+----------------+-------------------+ -|nsState |M |1 |String |state of ns | -+-----------------+---------+-----------+----------------+-------------------+ - -vnfInfo Object: - -+-----------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+-----------------+---------+-----------+----------------+-------------------+ -|vnfInstanceId |M |1 |String |vnfInstanceId | -+-----------------+---------+-----------+----------------+-------------------+ -|vnfInstanceName |M |1 |String |vnfInstanceName | -+-----------------+---------+-----------+----------------+-------------------+ -|vnfdId |M |1 |String |vnfdId | -+-----------------+---------+-----------+----------------+-------------------+ - -vlInfo Object: - -+----------------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+----------------------+---------+-----------+----------------+-------------------+ -|vlInstanceId |M |1 |String |vlInstanceId | -+----------------------+---------+-----------+----------------+-------------------+ -|vlInstanceName |M |1 |String |vlInstanceName | -+----------------------+---------+-----------+----------------+-------------------+ -|vldId |M |1 |String |vldId | -+----------------------+---------+-----------+----------------+-------------------+ -|relatedCpInstanceId |M |1 |Array |relatedCpInstanceId| -+----------------------+---------+-----------+----------------+-------------------+ - -relatedCpInstanceId Array: - -+----------------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+----------------------+---------+-----------+----------------+-------------------+ -|cpInstanceId |M |1 |String |cpInstanceId | -+----------------------+---------+-----------+----------------+-------------------+ -|cpInstanceName |M |1 |String |cpInstanceName | -+----------------------+---------+-----------+----------------+-------------------+ -|cpdId |M |1 |String |cpdId | -+----------------------+---------+-----------+----------------+-------------------+ - -vnffgInfo Array: - -+----------------------+---------+-----------+----------------+-------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+----------------------+---------+-----------+----------------+-------------------+ -|vnffgInstanceId |M |1 |String |vnffgInstanceId | -+----------------------+---------+-----------+----------------+-------------------+ -|vnfId |M |1 |String |vnfId | -+----------------------+---------+-----------+----------------+-------------------+ -|pnfId |M |1 |String |pnfId | -+----------------------+---------+-----------+----------------+-------------------+ -|virtualLinkId |M |1 |Array |virtualLinkId | -+----------------------+---------+-----------+----------------+-------------------+ -|cpId |M |1 |Array |cpId | -+----------------------+---------+-----------+----------------+-------------------+ -|nfp |M |1 |Array |nfp | -+----------------------+---------+-----------+----------------+-------------------+ - -Instantiate NS -+++++++++++++++ - -+--------------------+-------------------------------------+ -|Interface Definition|Description | -+====================+=====================================+ -|URI |/ns/{nsInstanceId}/Instantiate | -+--------------------+-------------------------------------+ -|Operation Type |POST | -+--------------------+-------------------------------------+ -|Content-Type |application/json | -+--------------------+-------------------------------------+ - -Request Parameters: - -+----------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+======================+=========+===========+=======+=======================+ -|LocationConstraints |M |1 |Array |LocationConstraints | -+----------------------+---------+-----------+-------+-----------------------+ -|additionalParamForNs |M |1 |String |additionalParamForNs | -+----------------------+---------+-----------+-------+-----------------------+ -|nsInstanceId |M |1 |String |nsInstanceId | -+----------------------+---------+-----------+-------+-----------------------+ - -LocationConstraints Array: - -+----------------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+======================+=========+===========+=======+=======================+ -|vnfProfileId |M |1 |String |vnfProfileId | -+----------------------+---------+-----------+-------+-----------------------+ -|vimid |M |1 |String |vimid | -+----------------------+---------+-----------+-------+-----------------------+ - -Response: - -+--------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============+=========+===========+=======+=======================+ -|jobId |M |1 |String |jobId | -+--------------+---------+-----------+-------+-----------------------+ - -Terminate NS -+++++++++++++++ - -+--------------------+-------------------------------------+ -|Interface Definition|Description | -+====================+=====================================+ -|URI |/ns/{ns_instance_id}/terminate | -+--------------------+-------------------------------------+ -|Operation Type |POST | -+--------------------+-------------------------------------+ -|Content-Type |application/json | -+--------------------+-------------------------------------+ - -Request Parameters: - -+----------------------------+---------+-----------+-------+-----------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+============================+=========+===========+=======+=============================+ -|terminationType |M |1 |String |terminationType | -+----------------------------+---------+-----------+-------+-----------------------------+ -|gracefulTerminationTimeout |M |1 |String |gracefulTerminationTimeout | -+----------------------------+---------+-----------+-------+-----------------------------+ -|nsInstanceId |M |1 |String |nsInstanceId | -+----------------------------+---------+-----------+-------+-----------------------------+ - -Response: - -+--------------+---------+-----------+-------+-----------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+==============+=========+===========+=======+=======================+ -|jobId |M |1 |String |jobId | -+--------------+---------+-----------+-------+-----------------------+ - -Delete NS -+++++++++++++++ - -+--------------------+-------------------------------------+ -|Interface Definition|Description | -+====================+=====================================+ -|URI |/ns/{ns_instance_id} | -+--------------------+-------------------------------------+ -|Operation Type |DELETE | -+--------------------+-------------------------------------+ - -Request Parameters: - -+----------------------------+---------+-----------+-------+-----------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+============================+=========+===========+=======+=============================+ -|nsInstanceId |M |1 |String |nsInstanceId | -+----------------------------+---------+-----------+-------+-----------------------------+ - -MultiVIM API ----------------- -Get token -++++++++++ - -https://developer.openstack.org/api-ref/identity/v3/#password-authentication-with-unscoped-authorization - -+--------------------+-----------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+===============================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/identity/v3/auth/tokens | -+--------------------+-----------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================+=========+===========+==========================+================================================================================================================================================+ -|nocatalog |O |1 |string |The authentication response excludes the service catalog. By default, the response includes the service catalog. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|name |O |1 |string |The user name. Required if you do not specify the ID of the user. If you specify the user name, you must also specify the domain, by ID or name.| -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|auth |M |1 |object |An auth object. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|user |M |1 |object |A user object. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|scope |O |1 |string |The authorization scope, including either a project or a domain | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|password |M |1 |object |The password object, contains the authentication information. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|id |O |1 |string |The ID of the user. Required if you do not specify the user name. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|identity |M |1 |object |An identity object. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ -|methods |M |1 |array |The authentication method. For password authentication, specify password. | -+----------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ - -Response: - -+-------------------------+------------------+--------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+==========================================================================+ -|X-Subject-Token |String |The authentication token. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|domain |object |A domain object, containing: | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|region_id |String |The ID of the region that contains the service endpoint. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|methods |array |The authentication method. For password authentication, specify password. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|roles |array |A list of role objects, each containing: | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|url |String |The endpoint URL. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|region |String |The geographic location of the service endpoint. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|token |object |A token object. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|expires_at |String |The date and time when the token expires. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|project |object |A project object, containing: | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|issued_at |String |The date and time when the token was issued. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|catalog |array |A catalog object. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|extras |object |A set of metadata key and value pairs, if any. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|user |object |A user object. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|audit_ids |array |A list of one or two audit IDs. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|interface |String |The interface type, which describes the visibility of the endpoint. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|endpoints |array |A list of endpoint objects. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|type |String |The endpoint type. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|id |String |The ID of the user. Required if you do not specify the user name. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|name |String |The user name. | -+-------------------------+------------------+--------------------------------------------------------------------------+ - -Create stack -+++++++++++++ - -https://developer.openstack.org/api-ref/orchestration/v1/#create-stack - -+--------------------+-----------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+===============================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/heat/v1/{tenant-id}/stacks | -+--------------------+-----------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+==================+=========+===========+==========================+=================================================================================================+ -|tenant_id |M |1 |string |The UUID of the tenant. A tenant is also known as a project. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|disable_rollback |O |1 |boolean |Enables or disables deletion of all stack resources when stack creation fails. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|environment |O |1 |object |A JSON environment for the stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|files |O |1 |object |Supplies the contents of files referenced in the template or the environment. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|parameters |O |1 |object |Supplies arguments for parameters defined in the stack template. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|stack_name |M |1 |string |A name for the stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|tags |O |1 |string |One or more simple string tags to associate with the stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|template |O |1 |object |The stack template on which to perform the operation. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|template_url |O |1 |string |A URI to the location containing the stack template on which to perform the operation. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|timeout_mins |O |1 |integer |The timeout for stack creation in minutes. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-------------------------+------------------+--------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+==========================================================================+ -|location |String |For asynchronous resource operations. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|X-Openstack-Reqeuest-Id |object |A domain object, containing: | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|stack |String |The ID of the region that contains the service endpoint. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|id |String |The authentication method. For password authentication, specify password. | -+-------------------------+------------------+--------------------------------------------------------------------------+ -|links |String |The authentication method. For password authentication, specify password. | -+-------------------------+------------------+--------------------------------------------------------------------------+ - -Get stack -+++++++++++++ - -https://developer.openstack.org/api-ref/orchestration/v1/#show-stack-details - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/heat/v1/{tenant-id}/stacks/{stack-name}/{stack-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |GET | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+==================+=========+===========+==========================+=================================================================================================+ -|tenant_id |M |1 |string |The UUID of the tenant. A tenant is also known as a project. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|stack_name |M |1 |string |The name of a stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|stack_id |M |1 |string |The UUID of the stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|resolve_outputs |O |1 |boolean |A boolean indicating whether the outputs section of a stack should be resolved. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-------------------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+==============================================================================+ -|X-Openstack-Reqeuest-Id |String |A unique ID for tracking service request. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|stack |Object |The stack object. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|capabilities |array |List of stack capabilities for stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|creation_time |String |The date and time when the resource was created. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|deletion_time |String |The date and time when the resource was (soft-) deleted. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|description |String |The description of the stack resource. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|disable_rollback |boolean |Whether deletion of all stack resources when stack creation fails is enabled. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|id |String |The UUID of the stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|links |array |A list of URLs for the stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|notification_topics |array |List of notification topics for stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|outputs |array |A list of stack outputs. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|parameters |object | A group of key-value pairs | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|parent |String |The stack ID of the parent stack, if this is a nested stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|stack_name |String |A name for the stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|stack_owner |String |The owner of the stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|stack_status |String |The status of the stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|stack_status_reason |String |The reason for the current status of the stack. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|stack_user_project_id |String |The project UUID of the stack user. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|tags |array |The stack tags. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|template_description |String |The description of the stack template. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|timeout_mins |integer |The timeout for stack creation in minutes. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|updated_time |String |The date and time when the object was updated. | -+-------------------------+------------------+------------------------------------------------------------------------------+ - -Delete stack -+++++++++++++ - -https://developer.openstack.org/api-ref/orchestration/v1/#show-stack-details - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/heat/v1/{tenant-id}/stacks/{stack-name}/{stack-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+==================+=========+===========+==========================+=================================================================================================+ -|tenant_id |M |1 |string |The UUID of the tenant. A tenant is also known as a project. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|stack_name |M |1 |string |The name of a stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|stack_id |M |1 |string |The UUID of the stack. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Create server -+++++++++++++ - -https://developer.openstack.org/api-ref/compute/#create-server - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/nova/v2.37/{tenant_id}/servers | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+================================================+=========+===========+==========================+=================================================================================================+ -|server |M |1 |object |A server object. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|name |M |1 |string |The server name. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|flavorRef |M |1 |string |The flavor reference, as an ID (including a UUID) or full URL | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|imageRef |M |1 |string |The UUID of the image to use for your server instance | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|security_groups |O |1 |array |One or more security groups. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|metadata |O |1 |object |Metadata key and value pairs. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|accessIPv4 |O |1 |string |IPv4 address that should be used to access this server. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|accessIPv6 |O |1 |string |IPv6 address that should be used to access this server. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|adminPass |O |1 |string |The administrative password of the server. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|user_data |O |1 |string |Configuration information or scripts to use upon launch. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|availability_zone |O |1 |string |The availability zone from which to launch the server. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|networks |M |1 |object |A networks object. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|networks.uuid |O |1 |string |To provision the server instance with a NIC for a network | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|networks.port |O |1 |string |To provision the server instance with a NIC for an already existing port | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|networks.fixed_ip |O |1 |string |A fixed IPv4 address for the NIC | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|networks.tag |O |1 |string |A device role tag that can be applied to a network interface. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|personality |O |1 |array |The file path and contents, text only, to inject into the server at launch. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2 |O |1 |array |Enables fine grained control of the block device mapping for an instance. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.device_name |M |1 |string |A path to the device for the volume that you want to use to boot the server. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.source_type |M |1 |string |The source type of the volume. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.destination_type |O |1 |string |Defines where the volume comes from. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.delete_on_termination |O |1 |string |To delete the boot volume when the server is destroyed, specify true. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.guest_format |M |1 |string |Specifies the guest server disk file system format, such as ephemeral or swap. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.boot_index |M |1 |string |Defines the order in which a hypervisor tries devices | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.uuid |O |1 |string |This is the uuid of source resource. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.tag |O |1 |string |A device role tag that can be applied to a block device. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|block_device_mapping_v2.disk_bus |O |1 |string |Disk bus type, some hypervisors (currently only libvirt) support specify this parameter | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|config_drive |O |1 |boolean |Indicates whether a configuration drive enables metadata injection. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|key_name |O |1 |string |Key pair name. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|os:scheduler_hints |O |1 |object |The dictionary of data to send to the scheduler. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|OS-DCF:diskConfig |O |1 |string |Controls how the API partitions the disk when you create, rebuild, or resize servers. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|description |O |1 |string |A free form description of the server. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|tags |O |1 |array |A list of tags. | -+------------------------------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-------------------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=========================+==================+==============================================================================+ -|Location |String |The location URL of the server. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|server |object |A server object. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|id |String |The UUID of the server. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|links |array |Links to the resources in question. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|OS-DCF:diskConfig |String |Disk configuration. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|security_groups |array |One or more security groups objects. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|security_groups.name |String |The security group name. | -+-------------------------+------------------+------------------------------------------------------------------------------+ -|adminPass |String |The administrative password for the server. | -+-------------------------+------------------+------------------------------------------------------------------------------+ - -Delete server -+++++++++++++ - -https://developer.openstack.org/api-ref/compute/#delete-server - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/nova/v2.1/{tenant_id}/servers/{server_id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+==================+=========+===========+==========================+=================================================================================================+ -|server_id |M |1 |string |The UUID of the server. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Create Keypair -+++++++++++++++ - -https://developer.openstack.org/api-ref/compute/#create-or-import-keypair - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/nova/v2.1/{tenant_id}/os-keypairs | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+==================+=========+===========+==========================+=================================================================================================+ -|keypair |M |1 |Object |Keypair object | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|name |M |1 |string |A name for the keypair which will be used to reference it later. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|public_key |O |1 |string |The public ssh key to import. If you omit this value, a keypair is generated for you. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|type |O |1 |string |The type of the keypair. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|user_id |O |1 |string |The user_id for a keypair. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-----------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=================+==================+==============================================================================+ -|keypair |object |Keypair object | -+-----------------+------------------+------------------------------------------------------------------------------+ -|name |String |A name for the keypair which will be used to reference it later. | -+-----------------+------------------+------------------------------------------------------------------------------+ -|public_key |String |The keypair public key. | -+-----------------+------------------+------------------------------------------------------------------------------+ -|fingerprint |String |The fingerprint for the keypair. | -+-----------------+------------------+------------------------------------------------------------------------------+ -|user_id |String |The user_id for a keypair. | -+-----------------+------------------+------------------------------------------------------------------------------+ -|private_key |String |If you do not provide a public key on create | -+-----------------+------------------+------------------------------------------------------------------------------+ -|type |String |The type of the keypair. | -+-----------------+------------------+------------------------------------------------------------------------------+ - -Delete Keypair -+++++++++++++++ - -https://developer.openstack.org/api-ref/compute/#delete-keypair - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/nova/v2.1/{tenant_id}/os-keypairs/{keypair-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+==================+=========+===========+==========================+=================================================================================================+ -|keypair_name |M |1 |String |The keypair name. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|user_id |O |1 |String |This allows administrative users to operate key-pairs of specified user ID. | -+------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Create Network -+++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/?expanded=create-network-detail#create-network - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/networks | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+=================================================================================================+ -|network |M |1 |Object |A network object. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|admin_state_up |O |1 |boolean |The administrative state of the network, which is up (true) or down (false). | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|dns_domain |O |1 |string |A valid DNS domain. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|mtu |O |1 |integer |The maximum transmission unit (MTU) value to address fragmentation. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|name |O |1 |string |Human-readable name of the network. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|port_security_enabled |O |1 |boolean |The port security status of the network. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|project_id |O |1 |string |The ID of the project that owns the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|provider:network_type |O |1 |string |The type of physical network that this network should be mapped to. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|provider:physical_network |O |1 |string |The physical network where this network should be implemented. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|provider:segmentation_id |O |1 |integer |The ID of the isolated segment on the physical network. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|qos_policy_id |O |1 |string |The ID of the QoS policy. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|router:external |O |1 |boolean |Indicates whether this network can provide floating IPs via a router. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|segments |O |1 |array |A list of provider segment objects. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|shared |O |1 |boolean |Indicates whether this network is shared across all tenants. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|tenant_id |O |1 |string |The ID of the project that owns the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|vlan_transparent |O |1 |boolean |Indicates the VLAN transparency mode of the network, | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|description |O |1 |string |A human-readable description for the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|is_default |O |1 |boolean |The network is default or not. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|availability_zone_hints |O |1 |array |The availability zone candidate for the network. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=============================+==================+==============================================================================+ -|network |object |A network object. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|admin_state_up |boolean |The administrative state of the network, which is up (true) or down (false). | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|availability_zone_hints |array |The availability zone candidate for the network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|availability_zones |array |The availability zone for the network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|created_at |String |Time at which the resource has been created (in UTC ISO8601 format). | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|dns_domain |String |A valid DNS domain. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|id |String |The ID of the network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|ipv4_address_scope |String |The ID of the IPv4 address scope that the network is associated with. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|ipv6_address_scope |String |The ID of the IPv6 address scope that the network is associated with. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|mtu |integer |The maximum transmission unit (MTU) value to address fragmentation. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|name |String |Human-readable name of the network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|port_security_enabled |boolean |The port security status of the network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|project_id |String |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|provider:network_type |String |The type of physical network that this network is mapped to. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|provider:physical_network |String |The physical network where this network is implemented. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|provider:segmentation_id |integer |The ID of the isolated segment on the physical network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|qos_policy_id |String |The ID of the QoS policy. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|revision_number |integer |The revision number of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|router:external |boolean |Indicates whether this network can provide floating IPs via a router. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|segments |array |A list of provider segment objects. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|shared |boolean |Indicates whether this network is shared across all tenants. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|status |String |The network status. Values are ACTIVE, DOWN, BUILD or ERROR. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|subnets |array |The associated subnets. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|tenant_id |String |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|updated_at |String |Time at which the resource has been updated (in UTC ISO8601 format). | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|vlan_transparent |boolean |Indicates the VLAN transparency mode of the network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|description |String |A human-readable description for the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|is_default |boolean |The network is default pool or not. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ - -Delete Network -+++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/?expanded=create-network-detail#delete-network - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/networks/{network-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+==============================================================+ -|network_id |M |1 |String |The ID of the network. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ - -Create Subnet -+++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/?expanded=create-network-detail,create-subnet-detail#create-subnet - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/subnets | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+=================================================================================================+ -|subnet |M |1 |string |A subnet object. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|tenant_id |O |1 |string |The ID of the project that owns the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|project_id |O |1 |string |The ID of the project that owns the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|name |O |1 |string |Human-readable name of the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|enable_dhcp |O |1 |boolean |Indicates whether dhcp is enabled or disabled for the subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|network_id |M |1 |string |The ID of the network to which the subnet belongs. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|dns_nameservers |O |1 |array |List of dns name servers associated with the subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|allocation_pools |O |1 |array |Allocation pools with start and end IP addresses for this subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|host_routes |O |1 |array |Additional routes for the subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|ip_version |M |1 |integer |The IP protocol version. Value is 4 or 6. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|gateway_ip |O |1 |string |Gateway IP of this subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|cidr |M |1 |string |The CIDR of the subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|description |O |1 |string |A human-readable description for the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|ipv6_address_mode |O |1 |string |The IPv6 address modes specifies mechanisms for assigning IP addresses. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|ipv6_ra_mode |O |1 |string |The IPv6 router advertisement specifies whether the networking service | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|segment_id |O |1 |string |The ID of a network segment the subnet is associated with. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|subnetpool_id |O |1 |string |The ID of the subnet pool associated with the subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|use_default_subnetpool |O |1 |boolean |Whether to allocate this subnet from the default subnet pool. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|service_types |O |1 |array |The service types associated with the subnet. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=============================+==================+==============================================================================+ -|subnet |string |A subnet object. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|id |string |The ID of the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|tenant_id |string |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|project_id |string |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|name |String |Human-readable name of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|enable_dhcp |boolean |Indicates whether dhcp is enabled or disabled for the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|network_id |String |The ID of the network to which the subnet belongs. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|dns_nameservers |array |List of dns name servers associated with the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|allocation_pools |array |Allocation pools with start and end IP addresses for this subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|host_routes |array |Additional routes for the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|ip_version |integer |The IP protocol version. Value is 4 or 6. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|gateway_ip |string |Gateway IP of this subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|cidr |string |The CIDR of the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|created_at |string |Time at which the subnet has been created. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|description |string |A human-readable description for the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|ipv6_address_mode |string |The IPv6 address modes specifies mechanisms for assigning IP addresses. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|ipv6_ra_mode |string |The IPv6 router advertisement specifies whether the networking service | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|revision_number |integer |The revision number of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|service_types |string |The service types associated with the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|subnetpool_id |string |The ID of the subnet pool associated with the subnet. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|segment_id |string |The ID of a network segment the subnet is associated with. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|updated_at |string |Time at which the subnet has been updated. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ - -Delete Subnet -+++++++++++++++ - -https://developer.openstack.org/api-ref/networking/v2/?expanded=create-network-detail,delete-subnet-detail#delete-subnet - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/subnets/{subnet-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+==============================================================+ -|subnet_id |M |1 |String |The ID of the subnet. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ - -Create Port -+++++++++++++++ - -https://developer.openstack.org/api-ref/networking/v2/#create-port - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/ports | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+=================================================================================================+ -|port |M |1 |object |A port object. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|admin_state_up |O |1 |boolean |The administrative state of the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|allowed_address_pairs |O |1 |array |A set of zero or more allowed address pairs. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|binding:host_id |O |1 |string |The ID of the host where the port resides. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|binding:profile |O |1 |string |A dictionary that enables the application running on the specific host | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|binding:vnic_type |O |1 |string |The type of vNIC which this port should be attached to. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|description |O |1 |string |A human-readable description for the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|device_id |O |1 |string |The ID of the device that uses this port. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|device_owner |O |1 |string |The entity type that uses this port. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|dns_domain |O |1 |string |A valid DNS domain. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|dns_name |O |1 |string |A valid DNS name. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|extra_dhcp_opts |O |1 |array |A set of zero or more extra DHCP option pairs. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|fixed_ips |O |1 |array |The IP addresses for the port. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|mac_address |O |1 |string |The MAC address of the port. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|name |O |1 |string |Human-readable name of the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|network_id |M |1 |string |The ID of the attached network. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|port_security_enabled |O |1 |boolean |The port security status. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|project_id |O |1 |string |The ID of the project that owns the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|qos_policy_id |O |1 |string |QoS policy associated with the port. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|security_groups |O |1 |array |The IDs of security groups applied to the port. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ -|tenant_id |O |1 |string |The ID of the project that owns the resource. | -+----------------------------+---------+-----------+--------------------------+-------------------------------------------------------------------------------------------------+ - -Response: - -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=============================+==================+==============================================================================+ -|port |object |A port object. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|admin_state_up |boolean |The administrative state of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|allowed_address_pairs |array |A set of zero or more allowed address pairs. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|binding:host_id |string |The ID of the host where the port resides. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|binding:profile |String |A dictionary that enables the application running on the specific host | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|binding:vif_details |object |A dictionary which contains additional information on the port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|binding:vif_type |String |The type of which mechanism is used for the port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|binding:vnic_type |string |The type of vNIC which this port should be attached to. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|created_at |string |Time at which port has been created. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|data_plane_status |string |Status of the underlying data plane of a port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|description |string |A human-readable description for the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|device_id |string |The ID of the device that uses this port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|device_owner |string |The entity type that uses this port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|dns_assignment |object |Data assigned to a port by the Networking internal DNS | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|dns_domain |string |A valid DNS domain. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|dns_name |string |A valid DNS name. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|extra_dhcp_opts |array |A set of zero or more extra DHCP option pairs. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|fixed_ips |array |The IP addresses for the port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|id |string |The ID of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|ip_allocation |string |Indicates when ports use either deferred, immediate or no IP allocation (none)| -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|mac_address |string |The MAC address of the port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|name |string |Human-readable name of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|network_id |string |The ID of the attached network. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|port_security_enabled |boolean |The port security status. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|project_id |string |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|revision_number |integer |The revision number of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|qos_policy_id |string |The ID of the QoS policy associated with the port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|security_groups |array |The IDs of security groups applied to the port. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|status |string |The port status. Values are ACTIVE, DOWN, BUILD and ERROR. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|tenant_id |string |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|updated_at |string |Time at which port has been updated. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ - -Delete Port -+++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/#delete-port - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/ports/{port-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+==============================================================+ -|port_id |M |1 |String |The ID of the port. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ - -Create Security Group -++++++++++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/#create-security-group - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/security-groups | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+==============================================================+ -|security_group |M |1 |object |A security_group object. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|tenant_id |M |1 |string |The ID of the project. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|project_id |M |1 |string |The ID of the project. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|description |O |1 |string |A human-readable description for the resource. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|name |M |1 |string |Human-readable name of the resource. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ - -Response: - -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=============================+==================+==============================================================================+ -|security_group |object |A security_group object. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|id |string |The ID of the security group. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|tenant_id |string |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|project_id |string |The ID of the project. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|created_at |string |Time at which the resource has been created (in UTC ISO8601 format). | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|updated_at |string |Time at which the resource has been updated (in UTC ISO8601 format). | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|revision_number |integer |The revision number of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|name |string |Human-readable name of the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|description |string |A human-readable description for the resource. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ -|security_group_rules |array |A list of security_group_rule objects. | -+-----------------------------+------------------+------------------------------------------------------------------------------+ - -Delete security group -++++++++++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/#delete-security-group - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/security-groups/{security-group-id} | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+==============================================================+ -|security_group_id |M |1 |String |The ID of the security group. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ - -Create Security Group Rule -++++++++++++++++++++++++++ - -https://developer.openstack.org/api-ref/network/v2/#create-security-group-rule - -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=======================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/security-group-rules | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Operation Type |POST | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+-----------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+================================================================================================+ -|security_group_rule |M |1 |object |A security_group_rule object. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|remote_group_id |O |1 |string |The remote group UUID to associate with this security group rule. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|direction |M |1 |string |Ingress or egress, which is the direction in which the metering rule is applied. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|protocol |M |1 |string |The IP protocol can be represented by a string, an integer, or null. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|ethertype |O |1 |string |Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress or egress rules. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|port_range_max |O |1 |integer |The maximum port number in the range that is matched by the security group rule. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|security_group_id |M |1 |string |The security group ID to associate with this security group rule. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|port_range_min |O |1 |integer |The minimum port number in the range that is matched by the security group rule. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|remote_ip_prefix |M |1 |string |The remote IP prefix to associate with this metering rule packet. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ -|description |O |1 |string |A human-readable description for the resource. Default is an empty string. | -+----------------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------+ - -Response: - -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|Attribute |Content |Description | -+=============================+==================+=================================================================================================+ -|security_group_rule |object |A security_group_rule object. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|remote_group_id |string |The remote group UUID to associate with this security group rule. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|direction |string |Ingress or egress, which is the direction in which the metering rule is applied. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|protocol |string |The IP protocol can be represented by a string, an integer, or null. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|ethertype |string |Must be IPv4 or IPv6, and addresses represented in CIDR must match the ingress or egress rules. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|port_range_max |integer |The maximum port number in the range that is matched by the security group rule. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|security_group_id |string |The security group ID to associate with this security group rule. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|tenant_id |string |The ID of the project. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|project_id |string |The ID of the project. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|port_range_min |integer |The minimum port number in the range that is matched by the security group rule. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|remote_ip_prefix |string |The remote IP prefix to associate with this metering rule packet. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|revision_number |integer |The revision number of the resource. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|id |string |The ID of the security group rule. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ -|description |string |A human-readable description for the resource. | -+-----------------------------+------------------+-------------------------------------------------------------------------------------------------+ - -Delete security group -++++++++++++++++++++++ - -https://developer.openstack.org/api-ref/networking/v2/#delete-security-group-rule - -+--------------------+---------------------------------------------------------------------------------------------------------------------------------+ -|Interface Definition|Description | -+====================+=================================================================================================================================+ -|URI |http://msb.onap.org/api/multicloud/v0/{cloud-owner}_{cloud-region}/neutron/v2.0/security-group-rules/{security-group-rule-id} | -+--------------------+---------------------------------------------------------------------------------------------------------------------------------+ -|Operation Type |DELETE | -+--------------------+---------------------------------------------------------------------------------------------------------------------------------+ -|Content-Type |application/json | -+--------------------+---------------------------------------------------------------------------------------------------------------------------------+ - -Request Body: - -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content |Description | -+============================+=========+===========+==========================+==============================================================+ -|security_group_rule_id |M |1 |String |The ID of the security group rule. | -+----------------------------+---------+-----------+--------------------------+--------------------------------------------------------------+ - -Policy API ----------- - -Create a dictionary item -++++++++++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/createDictionaryItem | -+--------------------+--------------------------+ -|Operation Type |PUT | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|dictionory |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryJson |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryType |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestId |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Create Policy -+++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/createPolicy | -+--------------------+--------------------------+ -|Operation Type |PUT | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|attributes |M |1 |Object |set of attributes in key value pair | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configBody |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configBodyType |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|ecompName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyClass |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyConfigType |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyDescription |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |M |1 |String |request ID | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Delete Policy -+++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/deletePolicy | -+--------------------+--------------------------+ -|Operation Type |DELETE | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|deleteCondition |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|pdpGroup |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyComponent |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyType |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |M |1 |String |request ID | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Get Configuration -+++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/getConfig | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|configAttributes |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|ecompName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|unique |M |1 |Boolean| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |M |1 |String |request ID | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Get Decision -++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/getDecision | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|decisionAttributes |M |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|ecompComponentName |M |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |M |1 |String |request ID | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Response Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|decision |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|details |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Get Dictionary Items -++++++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/getDictionaryItems | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|dictionary |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryJson |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryType |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |M |1 |String |request ID | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Response Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|dictionaryData |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryJson |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|responseCode |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|responseMessage |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Get Metrics -+++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/getMetrics | -+--------------------+--------------------------+ -|Operation Type |GET | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Response Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|metricsTotal |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|papMetrics |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|pdpMetrics |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|responseCode |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|responseMessage |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -Get Notification -++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/getNotification | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Response Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|metricsTotal |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|papMetrics |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|pdpMetrics |N |1 |Integer| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|responseCode |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|responseMessage |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -List Configuration -++++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/listConfiguration | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|configAttributes |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|ecompName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|unique |N |1 |Boolean| | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Import policy -+++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/policyEngineImport | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|importParameterJson|Y |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|file |Y |1 |File | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Push Policy -+++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/pushPolicy | -+--------------------+--------------------------+ -|Operation Type |PUT | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|pdpGroup |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyType |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Send Event -++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/sendEvent | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|eventAttributes |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Send Heartbeat -++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/sendEvent | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|notificationTopic |Y |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Stop Notification -+++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/stopNotification | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|notificationTopic |Y |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Update Dictionary -+++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/updateDictionaryItem | -+--------------------+--------------------------+ -|Operation Type |PUT | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|dictionary |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryJson |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|dictionaryType |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - -Update Policy -+++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/updatePolicy | -+--------------------+--------------------------+ -|Operation Type |PUT | -+--------------------+--------------------------+ - -Request Headers: - -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Header Name |Qualifier|Description | -+===================+=========+=========================================================================================+ -|ClientAuth |Y |encoded client authentication details | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|X-ECOMP-RequestID |N |Request ID to track the requests | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Environment |Y |execution environments | -+-------------------+---------+-----------------------------------------------------------------------------------------+ -|Authorization |Y |Base64 encoded username:password | -+-------------------+---------+-----------------------------------------------------------------------------------------+ - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Qualifier|Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|attributes |N |1 |Object | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configBody |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configBodyType |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|configName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|ecompName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyClass |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyConfigType |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyDescription |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|policyName |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|requestID |N |1 |String | | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - -HTTP Response Code: - -+------------------+---------------------+ -|HTTP CODE |Description | -+==================+=====================+ -|200 |successful | -+------------------+---------------------+ -|400 |Invalid Request | -+------------------+---------------------+ -|401 |Unauthorized | -+------------------+---------------------+ -|500 |Error | -+------------------+---------------------+ - - -OOF/HAS create update API -+++++++++++++++++++++++++ - -+--------------------+--------------------------+ -|Interface Definition|Description | -+====================+==========================+ -|URI |/api/oof/v1/placement | -+--------------------+--------------------------+ -|Operation Type |POST | -+--------------------+--------------------------+ - - -Request Parameters: - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|requestInfo |Y |1 |Object |The content of the RequestInfo object. | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|placementInfo |Y |1 |Object |The Content of the PlacementInfo object. | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|licenseInfo |N |1 |Object |The Content of the LicenseInfo object. | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|serviceInfo |Y |1 |Object |The Content of the ServiceInfo object. | -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ - - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|transactionId |Y |1 |String |A unique ID to track an ONAP transaction. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|requestId |Y |1 |String |A unique ID to track multiple requests. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|callbackUrl |Y |1 |String |The end point of a callback service where recommendations are posted. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|callbackHeader |N |1 |String |The header information a client expecting in a async callback. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|sourceId |Y |1 |String |The unique ID of a client making an optimization call. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|requestType |Y |1 |String |The type of a request | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|numSolutions |N |1 |Integer|Expected number of solutions. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|optimizers |Y |1..N |List of Strings|A list of optimization services. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|timeout |N |1 |Integer|A tolerance window (in secs) for expecting solutions. Default is 600 secs.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - - -PlacementInfo Object - -+-------------------+---------+-----------+-------+-------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=============================================================+ -|requestParameters |C |1 |String |A JSON object conaining service and customer-specific data. A client or service designer is required to specify the parameters of interest for a given service and their location in the JSON blob through optimization query policies. This attribute is only required if a request contains service or customer-specific information.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|placementDemands |Y |1..N |List of PlacementDemand Object|The resource information for a placement service.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|subscriberInfo |N |1 |Object |The information of a service subscriber. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - -PlacementDemand Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|resourceModuleName |Y |1 |String |A resource name as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|serviceResourceId |Y |1 |String |A unique resource Id with a local scope between client and OOF. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|tenantId |N |1 |String |A tenant Id as defined in the ordering system. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|resourceModelInfo |Y |1 |Object |Resource model information as defined in SDC. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|existingCandidates |N |1..N |List of Candidates Objects | The existing placement information of a resource. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|excludedCandidates |N |1..N |List of Candidates Objects |Candidates that need to be excluded from solutions.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|requiredCandidates |N |1..N |List of Candidates Objects |Candidates that must be included in solutions. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - - -SubscriberInfo Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|globalSubscriberId |Y |1 |String |An ID of a subscriber. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|subscriberName |Y |1.N |String |The name of a subscriber. If the name is not known, the value must be 'unknown'.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|subscriberCommonSiteId |N |1 |String |Id representing a subscriber location. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - -ModelMetaData Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|modelInvariantId |Y |1 |String |A model invariant Id as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|modelVersionId |Y |1 |String |A unique model Id as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|modelName |N |1 |String |A model name as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|modelType |N |1 |String |A model type as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|modelVersion |N |1 |String |A model version as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|modelCustomizationName |N |1 |String |A model customization name as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - - -Candidates Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|identifierType |Y |1 |String |The type of a candidate. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|identifiers |Y |1..N |List |A list of identifiers. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|cloudOwner |C |1 |String |The name of a cloud owner. Only required if identifierType is cloud_region_id.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - - -ServiceInfo Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|serviceInstanceId |Y |1 |String |A service instance id associated with a request. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|modelInfo |Y |1 |ModelMetaData Object |A list of identifiers. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|serviceName |Y |1 |String |The name of a service | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - -LicenseInfo Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|licenseDemands |Y |1..N |List of LicenseDemands Object |A list of resources for license selection. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - -LicenseDemand Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|resourceModuleName |Y |1 |String |A resource name as defined in a service model. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|serviceResourceId |Y |1 |String |A unique resource Id with a local scope between client and OOF. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|resourceModelInfo |Y |1 |ModelMetaData Object |Resource model information as defined in a service model.| -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|existingLicenses |N |1 |LicenseModel Object |Existing license information assigned to a resource. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - -LicenseModel Object - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|entitlementPoolUUID|Y |1..N |List |Entitlement pool UUIDs associated with a resource. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|licenseKeyGroupUUID|Y |1..N |List |License key groups associated with a resource. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ - - -Response Body - -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|Attribute |Required |Cardinality|Content|Description | -+===================+=========+===========+=======+=======================================================================+ -|requestId |Y |1 |String |A unique Id for an ONAP transaction. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|transactionId |Y |1 |String |A unique ID to track multiple requests associated with a transaction. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|statusMessage |N |1 |String |Reasoning if a requestStatus is failed. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+ -|requestStatus |Y |1 |String |The status of a request. | -+-------------------+---------+-----------+-------+-----------------------------------------------------------------------+
\ No newline at end of file diff --git a/docs/api/swagger/swagger.html.html b/docs/api/swagger/swagger.html.html deleted file mode 100644 index dc6064bb80..0000000000 --- a/docs/api/swagger/swagger.html.html +++ /dev/null @@ -1,19377 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> - <title>SO Casablanca APIs</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <meta charset="UTF-8" /> - <script> -/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0, -r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K); -if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r}); -</script> - - <script> -!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a= -b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a<f;++a){var h=b[a];if(/\\[bdsw]/i.test(h))c.push(h);else{var h=d(h),l;a+2<f&&"-"===b[a+1]?(l=d(b[a+2]),a+=2):l=h;e.push([h,l]);l<65||h>122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;a<e.length;++a)h=e[a],h[0]<=f[1]+1?f[1]=Math.max(f[1],h[1]):b.push(f=h);for(a=0;a<b.length;++a)h=b[a],c.push(g(h[0])), -h[1]>h[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f<c;++f){var l=a[f];l==="("?++h:"\\"===l.charAt(0)&&(l=+l.substring(1))&&(l<=h?d[l]=-1:a[f]=g(l))}for(f=1;f<d.length;++f)-1===d[f]&&(d[f]=++x);for(h=f=0;f<c;++f)l=a[f],l==="("?(++h,d[h]||(a[f]="(?:")):"\\"===l.charAt(0)&&(l=+l.substring(1))&&l<=h&& -(a[f]="\\"+d[l]);for(f=0;f<c;++f)"^"===a[f]&&"^"!==a[f+1]&&(a[f]="");if(e.ignoreCase&&m)for(f=0;f<c;++f)l=a[f],e=l.charAt(0),l.length>=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k<c;++k){var i=a[k];if(i.ignoreCase)j=!0;else if(/[a-z]/i.test(i.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){m=!0;j=!1;break}}for(var r={b:8,t:9,n:10,v:11, -f:12,r:13},n=[],k=0,c=a.length;k<c;++k){i=a[k];if(i.global||i.multiline)throw Error(""+i);n.push("(?:"+s(i)+")")}return RegExp(n.join("|"),j?"gi":"g")}function T(a,d){function g(a){var c=a.nodeType;if(c==1){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)g(c);c=a.nodeName.toLowerCase();if("br"===c||"li"===c)s[j]="\n",m[j<<1]=x++,m[j++<<1|1]=a}}else if(c==3||c==4)c=a.nodeValue,c.length&&(c=d?c.replace(/\r\n?/g,"\n"):c.replace(/[\t\n\r ]+/g," "),s[j]=c,m[j<<1]=x,x+=c.length,m[j++<<1|1]= -a)}var b=/(?:^|\s)nocode(?:\s|$)/,s=[],x=0,m=[],j=0;g(a);return{a:s.join("").replace(/\n$/,""),d:m}}function H(a,d,g,b){d&&(a={a:d,e:a},g(a),b.push.apply(b,a.g))}function U(a){for(var d=void 0,g=a.firstChild;g;g=g.nextSibling)var b=g.nodeType,d=b===1?d?a:g:b===3?V.test(g.nodeValue)?a:d:d;return d===a?void 0:d}function C(a,d){function g(a){for(var j=a.e,k=[j,"pln"],c=0,i=a.a.match(s)||[],r={},n=0,e=i.length;n<e;++n){var z=i[n],w=r[z],t=void 0,f;if(typeof w==="string")f=!1;else{var h=b[z.charAt(0)]; -if(h)t=z.match(h[1]),w=h[0];else{for(f=0;f<x;++f)if(h=d[f],t=z.match(h[1])){w=h[0];break}t||(w="pln")}if((f=w.length>=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c<i;++c){var r= -g[c],n=r[3];if(n)for(var e=n.length;--e>=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com", -/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ -s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/, -q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d= -c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i<c.length;++i)b(c[i]);d===(d|0)&&c[0].setAttribute("value",d);var r=j.createElement("ol"); -r.className="linenums";for(var d=Math.max(0,d-1|0)||0,i=0,n=c.length;i<n;++i)k=c[i],k.className="L"+(i+d)%10,k.firstChild||k.appendChild(j.createTextNode("\u00a0")),r.appendChild(k);a.appendChild(r)}function p(a,d){for(var g=d.length;--g>=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*</.test(d)?"default-markup":"default-code";return F[a]}function K(a){var d=a.h;try{var g=T(a.c,a.i),b=g.a; -a.a=b;a.d=g.d;a.e=0;I(d,b)(a);var s=/\bMSIE\s(\d+)/.exec(navigator.userAgent),s=s&&+s[1]<=8,d=/\n/g,x=a.a,m=x.length,g=0,j=a.d,k=j.length,b=0,c=a.g,i=c.length,r=0;c[i]=m;var n,e;for(e=n=0;e<i;)c[e]!==c[e+2]?(c[n++]=c[e++],c[n++]=c[e++]):e+=2;i=n;for(e=n=0;e<i;){for(var p=c[e],w=c[e+1],t=e+2;t+2<=i&&c[t+1]===w;)t+=2;c[n++]=p;c[n++]=w;e=t}c.length=n;var f=a.c,h;if(f)h=f.style.display,f.style.display="none";try{for(;b<k;){var l=j[b+2]||m,B=c[r+2]||m,t=Math.min(l,B),A=j[b+1],G;if(A.nodeType!==1&&(G=x.substring(g, -t))){s&&(G=G.replace(d,"\r"));A.nodeValue=G;var L=A.ownerDocument,o=L.createElement("span");o.className=c[r+1];var v=A.parentNode;v.replaceChild(o,A);o.appendChild(A);g<l&&(j[b+1]=A=L.createTextNode(x.substring(t,l)),v.insertBefore(A,o.nextSibling))}g=t;g>=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"], -O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, -V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", -/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/], -["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}), -["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q, -hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]); -p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="<pre>"+a+"</pre>";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1}); -return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i<p.length&&c.now()<b;i++){for(var d=p[i],j=h,k=d;k=k.previousSibling;){var m=k.nodeType,o=(m===7||m===8)&&k.nodeValue;if(o?!/^\??prettify\b/.test(o):m!==3||/\S/.test(k.nodeValue))break;if(o){j={};o.replace(/\b(\w+)=([\w%+\-.:]+)/g,function(a,b,c){j[b]=c});break}}k=d.className;if((j!==h||e.test(k))&&!v.test(k)){m=!1;for(o=d.parentNode;o;o=o.parentNode)if(f.test(o.tagName)&& -o.className&&e.test(o.className)){m=!0;break}if(!m){d.className+=" prettyprinted";m=j.lang;if(!m){var m=k.match(n),y;if(!m&&(y=U(d))&&t.test(y.tagName))m=y.className.match(n);m&&(m=m[1])}if(w.test(d.tagName))o=1;else var o=d.currentStyle,u=s.defaultView,o=(o=o?o.whiteSpace:u&&u.getComputedStyle?u.getComputedStyle(d,q).getPropertyValue("white-space"):0)&&"pre"===o.substring(0,3);u=j.linenums;if(!(u=u==="true"||+u))u=(u=k.match(/\blinenums\b(?::(\d+))?/))?u[1]&&u[1].length?+u[1]:!0:!1;u&&J(d,u,o);r= -{h:m,c:d,j:u,i:o};K(r)}}}i<p.length?setTimeout(g,250):"function"===typeof a&&a()}for(var b=d||document.body,s=b.ownerDocument||document,b=[b.getElementsByTagName("pre"),b.getElementsByTagName("code"),b.getElementsByTagName("xmp")],p=[],m=0;m<b.length;++m)for(var j=0,k=b[m].length;j<k;++j)p.push(b[m][j]);var b=q,c=Date;c.now||(c={now:function(){return+new Date}});var i=0,r,n=/\blang(?:uage)?-([\w.]+)(?!\S)/,e=/\bprettyprint\b/,v=/\bprettyprinted\b/,w=/pre|xmp/i,t=/^code$/i,f=/^(?:pre|code|xmp)$/i, -h={};g()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return Y})})();}() -</script> - - <script> -/*! -* Bootstrap.js by @fat & @mdo -* Copyright 2013 Twitter, Inc. -* http://www.apache.org/licenses/LICENSE-2.0.txt -*/ -!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>this.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children()[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollElement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery); -</script> - - <script> -/** - * marked - a markdown parser - * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) - * https://github.com/chjj/marked - */ -(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",/<!--[\s\S]*?-->/)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].split(/ *\| */)}this.tokens.push(item);continue}if(cap=this.rules.lheading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[2]==="="?1:2,text:cap[1]});continue}if(cap=this.rules.hr.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"hr"});continue}if(cap=this.rules.blockquote.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"blockquote_start"});cap=cap[0].replace(/^ *> ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i<l;i++){item=cap[i];space=item.length;item=item.replace(/^ *([*+-]|\d+\.) +/,"");if(~item.indexOf("\n ")){space-=item.length;item=!this.options.pedantic?item.replace(new RegExp("^ {1,"+space+"}","gm"),""):item.replace(/^ {1,4}/gm,"")}if(this.options.smartLists&&i!==l-1){b=block.bullet.exec(cap[i+1])[0];if(bull!==b&&!(bull.length>1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i<item.align.length;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}for(i=0;i<item.cells.length;i++){item.cells[i]=item.cells[i].replace(/^ *\| *| *\| *$/g,"").split(/ *\| */)}this.tokens.push(item);continue}if(top&&(cap=this.rules.paragraph.exec(src))){src=src.substring(cap[0].length);this.tokens.push({type:"paragraph",text:cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1]});continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"text",text:cap[0]});continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return this.tokens};var inline={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/};inline._inside=/(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/;inline._href=/\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^<a /i.test(cap[0])){this.inLink=true}else if(this.inLink&&/^<\/a>/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i<l;i++){ch=text.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"<pre><code>"+(escaped?code:escape(code,true))+"\n</code></pre>"}return'<pre><code class="'+this.options.langPrefix+escape(lang,true)+'">'+(escaped?code:escape(code,true))+"\n</code></pre>\n"};Renderer.prototype.blockquote=function(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"<h"+level+' id="'+this.options.headerPrefix+raw.toLowerCase().replace(/[^\w]+/g,"-")+'">'+text+"</h"+level+">\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"</"+type+">\n"};Renderer.prototype.listitem=function(text){return"<li>"+text+"</li>\n"};Renderer.prototype.paragraph=function(text){return"<p>"+text+"</p>\n"};Renderer.prototype.table=function(header,body){return"<table>\n"+"<thead>\n"+header+"</thead>\n"+"<tbody>\n"+body+"</tbody>\n"+"</table>\n"};Renderer.prototype.tablerow=function(content){return"<tr>\n"+content+"</tr>\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"</"+type+">\n"};Renderer.prototype.strong=function(text){return"<strong>"+text+"</strong>"};Renderer.prototype.em=function(text){return"<em>"+text+"</em>"};Renderer.prototype.codespan=function(text){return"<code>"+text+"</code>"};Renderer.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"};Renderer.prototype.del=function(text){return"<del>"+text+"</del>"};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='<a href="'+href+'"';if(title){out+=' title="'+title+'"'}out+=">"+text+"</a>";return out};Renderer.prototype.image=function(href,title,text){var out='<img src="'+href+'" alt="'+text+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i<this.token.header.length;i++){flags={header:true,align:this.token.align[i]};cell+=this.renderer.tablecell(this.inline.output(this.token.header[i]),{header:true,align:this.token.align[i]})}header+=this.renderer.tablerow(cell);for(i=0;i<this.token.cells.length;i++){row=this.token.cells[i];cell="";for(j=0;j<row.length;j++){cell+=this.renderer.tablecell(this.inline.output(row[j]),{header:false,align:this.token.align[j]})}body+=this.renderer.tablerow(cell)}return this.renderer.table(header,body)}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return this.renderer.blockquote(body)}case"list_start":{var body="",ordered=this.token.ordered;while(this.next().type!=="list_end"){body+=this.tok()}return this.renderer.list(body,ordered)}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return this.renderer.listitem(body)}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return this.renderer.listitem(body)}case"html":{var html=!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;return this.renderer.html(html)}case"paragraph":{return this.renderer.paragraph(this.inline.output(this.token.text))}case"text":{return this.renderer.paragraph(this.parseText())}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function marked(src,opt,callback){if(callback||typeof opt==="function"){if(!callback){callback=opt;opt=null}opt=merge({},marked.defaults,opt||{});var highlight=opt.highlight,tokens,pending,i=0;try{tokens=Lexer.lex(src,opt)}catch(e){return callback(e)}pending=tokens.length;var done=function(err){if(err){opt.highlight=highlight;return callback(err)}var out;try{out=Parser.parse(tokens,opt)}catch(e){err=e}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!pending)return done();for(;i<tokens.length;i++){(function(token){if(token.type!=="code"){return--pending||done()}return highlight(token.text,token.lang,function(err,code){if(err)return done(err);if(code==null||code===token.text){return--pending||done()}token.text=code;token.escaped=true;--pending||done()})})(tokens[i])}return}try{if(opt)opt=merge({},marked.defaults,opt);return Parser.parse(Lexer.lex(src,opt),opt)}catch(e){e.message+="\nPlease report this to https://github.com/chjj/marked.";if((opt||marked.defaults).silent){return"<p>An error occurred:</p><pre>"+escape(e.message+"",true)+"</pre>"}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); -</script> - - <script> - $( document ).ready(function() { - marked.setOptions({ - renderer: new marked.Renderer(), - gfm: true, - tables: true, - breaks: false, - pedantic: false, - sanitize: false, - smartLists: true, - smartypants: false - }); - - var textFile = null; - - /// Function to be used to download a text json schema - function makeTextFile(text) { - - var data = new Blob([text], {type: 'text/plain'}); - - // If we are replacing a previously generated file we need to - // manually revoke the object URL to avoid memory leaks. - if (textFile !== null) { - window.URL.revokeObjectURL(textFile); - } - - textFile = window.URL.createObjectURL(data); - - var a = document.createElement("a"); - document.body.appendChild(a); - a.style = "display: none"; - a.href = textFile; - a.download = 'schema.txt'; - a.click(); - - return textFile; - }; - - /// TODO: Implement resizing for expanding within iframe - function callResize() { - window.parent.postMessage('resize', "*"); - } - - function processMarked() { - $(".marked").each(function() { - $(this).html(marked($(this).html())); - }); - } - - // Bootstrap Scrollspy - $(this).scrollspy({ target: '#scrollingNav', offset: 18 }); - - // Content-Scroll on Navigation click. - $('.sidenav').find('a').on('click', function(e) { - e.preventDefault(); - var id = $(this).attr('href'); - if ($(id).length > 0) - $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 400); - window.location.hash = $(this).attr('href'); - }); - - // Quickjump on Pageload to hash position. - if(window.location.hash) { - var id = window.location.hash; - if ($(id).length > 0) - $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 0); - } - - - function initDynamic() { - // tabs - $('.nav-tabs-examples a').click(function (e) { - e.preventDefault(); - $(this).tab('show'); - }); - - - $('.nav-tabs-examples').find('a:first').tab('show'); - - // call scrollspy refresh method - $(window).scrollspy('refresh'); - } - - initDynamic(); - - // Pre- / Code-Format - prettyPrint(); - - //Convert elements with "marked" class to markdown - processMarked(); - }); - </script> - <style type="text/css"> - -/*! - * Bootstrap v2.3.2 - * - * Copyright 2013 Twitter, Inc - * Licensed under the Apache License v2.0 - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Designed and built with all the love in the world by @mdo and @fat. - */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} - - /* Pretty printing styles. Used with prettify.js. */ -/* Vim sunburst theme by David Leibovic */ -pre .str { - color: #65B042; -} -/* string - green */ -pre .kwd { - color: #E28964; -} -/* keyword - dark pink */ -pre .com { - color: #AEAEAE; - font-style: italic; -} -/* comment - gray */ -pre .typ { - color: #89bdff; -} -/* type - light blue */ -pre .lit { - color: #3387CC; -} -/* literal - blue */ -pre .pun { - color: #fff; -} -/* punctuation - white */ -pre .pln { - color: #fff; -} -/* plaintext - white */ -pre .tag { - color: #89bdff; -} -/* html/xml tag - light blue */ -pre .atn { - color: #bdb76b; -} -/* html/xml attribute name - khaki */ -pre .atv { - color: #65B042; -} -/* html/xml attribute value - green */ -pre .dec { - color: #3387CC; -} -/* decimal - blue */ -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; - color: #AEAEAE; -} -/* IE indents via margin-left */ -li.L0, -li.L1, -li.L2, -li.L3, -li.L5, -li.L6, -li.L7, -li.L8 { - list-style-type: none; -} -/* Alternate shading for lines */ -@media print { - pre .str { - color: #060; - } - pre .kwd { - color: #006; - font-weight: bold; - } - pre .com { - color: #600; - font-style: italic; - } - pre .typ { - color: #404; - font-weight: bold; - } - pre .lit { - color: #044; - } - pre .pun { - color: #440; - } - pre .pln { - color: #000; - } - pre .tag { - color: #006; - font-weight: bold; - } - pre .atn { - color: #404; - } - pre .atv { - color: #060; - } -} - /* ------------------------------------------------------------------------------------------ - * Content - * ------------------------------------------------------------------------------------------ */ - -@import url('https://fonts.googleapis.com/css?family=Source+Code+Pro'); -* { - font-family: 'Source Code Pro', sans-serif; -} -body { - min-width: 980px; -} - -body, p, a, div, th, td { - font-family: "Source Sans Pro", sans-serif; - font-weight: 400; - font-size: 16px; - text-shadow: none !important; -} - -td.code { - font-size: 14px; - font-family: "Source Code Pro", monospace; - font-style: normal; - font-weight: 400; -} - -#content { - padding-top: 16px; - z-Index: -1; - margin-left: 270px; -} - -p { - color: #808080; -} - -h1 { - font-family: "Source Sans Pro Semibold", sans-serif; - font-weight: normal; - font-size: 44px; - line-height: 50px; - margin: 0 0 10px 0; - padding: 0; -} - -h2 { - font-family: "Source Sans Pro", sans-serif; - font-weight: normal; - font-size: 24px; - line-height: 40px; - margin: 0 0 20px 0; - padding: 0; -} - -section { - border-top: 1px solid #ebebeb; - padding: 30px 0; -} - -section h1 { - font-family: "Source Sans Pro", sans-serif; - font-weight: 700; - font-size: 32px; - line-height: 40px; - padding-bottom: 14px; - margin: 0 0 20px 0; - padding: 0; -} - -article { - padding: 14px 0 30px 0; -} - -article h1 { - font-family: "Source Sans Pro Bold", sans-serif; - font-weight: 600; - font-size: 24px; - line-height: 26px; -} - -article h2 { - font-family: "Source Sans Pro", sans-serif; - font-weight: 600; - font-size: 18px; - line-height: 24px; - margin: 0 0 10px 0; -} - -article h3 { - font-family: "Source Sans Pro", sans-serif; - font-weight: 600; - font-size: 16px; - line-height: 18px; - margin: 0 0 10px 0; -} - -article h4 { - font-family: "Source Sans Pro", sans-serif; - font-weight: 600; - font-size: 14px; - line-height: 16px; - margin: 0 0 8px 0; -} - -table { - border-collapse: collapse; - width: 100%; - margin: 0 0 20px 0; -} - -th { - background-color: #f5f5f5; - text-align: left; - font-family: "Source Sans Pro", sans-serif; - font-weight: 700; - padding: 4px 8px; - border: #e0e0e0 1px solid; -} - -td { - vertical-align: top; - padding: 2px 8px; - border: #e0e0e0 1px solid; -} - -#generator .content { - color: #b0b0b0; - border-top: 1px solid #ebebeb; - padding: 10px 0; -} - -.label-optional { - float: right; -} - -.open-left { - right: 0; - left: auto; -} - -/* ------------------------------------------------------------------------------------------ - * apidoc - intro - * ------------------------------------------------------------------------------------------ */ - -#apidoc .apidoc { - border-top: 1px solid #ebebeb; - padding: 30px 0; -} - -#apidoc h1 { - font-family: "Source Sans Pro", sans-serif; - font-weight: 700; - font-size: 32px; - line-height: 40px; - padding-bottom: 14px; - margin: 0 0 20px 0; - padding: 0; -} - -#apidoc h2 { - font-family: "Source Sans Pro Bold", sans-serif; - font-weight: 600; - font-size: 22px; - line-height: 26px; - padding-top: 14px; -} - -/* ------------------------------------------------------------------------------------------ - * pre / code - * ------------------------------------------------------------------------------------------ */ -pre { - background-color: #292b36; - color: #ffffff; - padding: 10px; - border-radius: 6px; - position: relative; - margin: 10px 0 20px 0; -} - -code.language-text { - word-wrap: break-word; -} - -pre.language-json { - overflow: auto; -} - -pre.language-html { - margin: 40px 0 20px 0; -} - -pre.language-html:before { - content: attr(data-type); - position: absolute; - top: -30px; - left: 0; - font-family: "Source Sans Pro", sans-serif; - font-weight: 600; - font-size: 15px; - display: inline-block; - padding: 2px 5px; - border-radius: 6px; - text-transform: uppercase; - background-color: #3387CC; - color: #ffffff; -} - -pre.language-html[data-type="get"]:before { - background-color: green; -} - -pre.language-html[data-type="put"]:before { - background-color: #e5c500; -} - -pre.language-html[data-type="post"]:before { - background-color: #4070ec; -} - -pre.language-html[data-type="delete"]:before { - background-color: #ed0039; -} - -pre.language-api .str { - color: #ffffff; -} - -pre.language-api .pln, -pre.language-api .pun { - color: #65B042; -} - -pre code { - display: block; - font-size: 14px; - font-family: "Source Code Pro", monospace; - font-style: normal; - font-weight: 400; -} - -pre code.sample-request-response-json { - white-space: pre-wrap; - max-height: 500px; - overflow: auto; -} - -/* ------------------------------------------------------------------------------------------ - * Sidenav - * ------------------------------------------------------------------------------------------ */ -.sidenav { - width: 228px; - margin: 0; - padding: 20px; - position: fixed; - top: 0; - left: 0; - bottom: 0; - overflow-x: hidden; - overflow-y: auto; - background-color: #f5f5f5; - z-index: 10; -} - -.sidenav > li > a { - display: block; - width: 192px; - margin: 0; - padding: 2px 11px; - border: 0; - border-left: transparent 4px solid; - border-right: transparent 4px solid; - font-family: "Source Sans Pro", sans-serif; - font-weight: 400; - font-size: 14px; -} - -.sidenav > li.nav-header > a { - padding: 5px 15px; - border: 1px solid #e5e5e5; - width: 190px; - font-family: "Source Sans Pro", sans-serif; - font-weight: 700; - font-size: 16px; - background-color: #4c8eca; - color: #fff; -} - -.sidenav > li.nav-header.active > a { - background-color: #4c8eca; - color: #fff; -} - - -00427D - -.sidenav > .active > a { - position: relative; - z-index: 2; -} - -.sidenav > li > a:hover { - background-color: #ffffff; -} - -.sidenav > li.has-modifications a { - border-right: #60d060 4px solid; -} - -.sidenav > li.is-new a { - border-left: #e5e5e5 4px solid; -} - - - -/* ------------------------------------------------------------------------------------------ - * Tabs - * ------------------------------------------------------------------------------------------ */ -ul.nav-tabs { - margin: 0; -} - -/* ------------------------------------------------------------------------------------------ - * Print - * ------------------------------------------------------------------------------------------ */ - -@media print { - - #sidenav, - #version, - #versions, - section .version, - section .versions { - display: none; - } - - #content { - margin-left: 0; - } - - a { - text-decoration: none; - color: inherit; - } - - a:after { - content: " [" attr(href) "] "; - } - - p { - color: #000000 - } - - pre { - background-color: #ffffff; - color: #000000; - padding: 10px; - border: #808080 1px solid; - border-radius: 6px; - position: relative; - margin: 10px 0 20px 0; - } - -} /* /@media print */ - - -.doc-chapter -{ -display:none; -background-color: #eee; -border-radius: 1px; -padding: 10px; -margin-bottom: 20px; -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/*! - * json-schema-view-js - * https://github.com/mohsen1/json-schema-view-js#readme - * Version: 0.4.1 - 2015-11-12T17:19:27.615Z - * License: MIT - */.json-schema-view .toggle-handle:after,.json-schema-view.json-schema-view-dark .toggle-handle:after,json-schema-view .toggle-handle:after,json-schema-view[json-schema-view-dark] .toggle-handle:after{content:"\25BC"}.json-schema-view .title,.json-schema-view.json-schema-view-dark .title,json-schema-view .title,json-schema-view[json-schema-view-dark] .title{font-weight:700;cursor:pointer}.json-schema-view,json-schema-view{font-family:monospace;font-size:0;display:table-cell}.json-schema-view>*,json-schema-view>*{font-size:14px}.json-schema-view .toggle-handle,json-schema-view .toggle-handle{cursor:pointer;margin:auto .3em;font-size:10px;display:inline-block;transform-origin:50% 40%;transition:transform 150ms ease-in}.json-schema-view .toggle-handle,.json-schema-view .toggle-handle:hover,json-schema-view .toggle-handle,json-schema-view .toggle-handle:hover{text-decoration:none;color:#333}.json-schema-view .description,json-schema-view .description{color:gray;font-style:italic} - .pattern { - color: blue; - } - .default { - color: black; - } - .required { - color:black; - } - .json-schema-view .title,.json-schema-view .title:hover,json-schema-view .title,json-schema-view .title:hover{text-decoration:none;color:#333}.json-schema-view .brace,.json-schema-view .bracket,.json-schema-view .title,json-schema-view .brace,json-schema-view .bracket,json-schema-view .title{color:#333}.json-schema-view .property,json-schema-view .property{font-size:0;display:table-row}.json-schema-view .property>*,json-schema-view .property>*{font-size:14px;padding:.2em}.json-schema-view .name,json-schema-view .name{color:#00f;display:table-cell;vertical-align:top}.json-schema-view .type,json-schema-view .type{color:green}.json-schema-view .type-any,json-schema-view .type-any{color:#33f}.json-schema-view .required,json-schema-view .required{color:red}.json-schema-view .inner,json-schema-view .inner{padding-left:18px}.json-schema-view.collapsed .description,.json-schema-view.collapsed .property,json-schema-view.collapsed .description,json-schema-view.collapsed .property{display:none}.json-schema-view.collapsed .closeing.brace,json-schema-view.collapsed .closeing.brace{display:inline-block}.json-schema-view.collapsed .toggle-handle,json-schema-view.collapsed .toggle-handle{transform:rotate(-90deg)}.json-schema-view.json-schema-view-dark,json-schema-view[json-schema-view-dark]{font-family:monospace;font-size:0;display:table-cell}.json-schema-view.json-schema-view-dark>*,json-schema-view[json-schema-view-dark]>*{font-size:14px}.json-schema-view.json-schema-view-dark .toggle-handle,json-schema-view[json-schema-view-dark] .toggle-handle{cursor:pointer;margin:auto .3em;font-size:10px;display:inline-block;transform-origin:50% 40%;transition:transform 150ms ease-in}.json-schema-view.json-schema-view-dark .toggle-handle,.json-schema-view.json-schema-view-dark .toggle-handle:hover,json-schema-view[json-schema-view-dark] .toggle-handle,json-schema-view[json-schema-view-dark] .toggle-handle:hover{text-decoration:none;color:#eee}.json-schema-view.json-schema-view-dark .description,json-schema-view[json-schema-view-dark] .description{color:gray;font-style:italic}.json-schema-view.json-schema-view-dark .title,.json-schema-view.json-schema-view-dark .title:hover,json-schema-view[json-schema-view-dark] .title,json-schema-view[json-schema-view-dark] .title:hover{text-decoration:none;color:#eee}.json-schema-view.json-schema-view-dark .brace,.json-schema-view.json-schema-view-dark .bracket,.json-schema-view.json-schema-view-dark .title,json-schema-view[json-schema-view-dark] .brace,json-schema-view[json-schema-view-dark] .bracket,json-schema-view[json-schema-view-dark] .title{color:#eee}.json-schema-view.json-schema-view-dark .property,json-schema-view[json-schema-view-dark] .property{font-size:0;display:table-row}.json-schema-view.json-schema-view-dark .property>*,json-schema-view[json-schema-view-dark] .property>*{font-size:14px;padding:.2em}.json-schema-view.json-schema-view-dark .name,json-schema-view[json-schema-view-dark] .name{color:#add8e6;display:table-cell;vertical-align:top}.json-schema-view.json-schema-view-dark .type,json-schema-view[json-schema-view-dark] .type{color:#90ee90}.json-schema-view.json-schema-view-dark .type-any,json-schema-view[json-schema-view-dark] .type-any{color:#d4ebf2}.json-schema-view.json-schema-view-dark .required,json-schema-view[json-schema-view-dark] .required{color:#fe0000}.json-schema-view.json-schema-view-dark .inner,json-schema-view[json-schema-view-dark] .inner{padding-left:18px}.json-schema-view.json-schema-view-dark.collapsed .description,.json-schema-view.json-schema-view-dark.collapsed .property,json-schema-view[json-schema-view-dark].collapsed .description,json-schema-view[json-schema-view-dark].collapsed .property{display:none}.json-schema-view.json-schema-view-dark.collapsed .closeing.brace,json-schema-view[json-schema-view-dark].collapsed .closeing.brace{display:inline-block}.json-schema-view.json-schema-view-dark.collapsed .toggle-handle,json-schema-view[json-schema-view-dark].collapsed .toggle-handle{transform:rotate(-90deg)} - - </style> -</head> -<body> - <script> - // Script section to load models into a JS Var - var defs = {} - </script> - - <div class="container-fluid"> - <div class="row-fluid"> - <div id="sidenav" class="span2"> - <nav id="scrollingNav"> - <ul class="sidenav nav nav-list"> - <!-- Logo Area --> - <!--<div style="width: 80%; background-color: #4c8eca; color: white; padding: 20px; text-align: center; margin-bottom: 20px; "> - - API Docs 2 - - </div> - --> - <li class="nav-fixed nav-header active" data-group="_"><a href="#api-_">API Summary</a></li> - - <li class="nav-header" data-group="E2eServiceInstances"><a href="#api-E2eServiceInstances">API Methods - E2eServiceInstances</a></li> - <li data-group="E2eServiceInstances" data-name="compareModelwithTargetVersion" class=""> - <a href="#api-E2eServiceInstances-compareModelwithTargetVersion">compareModelwithTargetVersion</a> - </li> - <li data-group="E2eServiceInstances" data-name="createE2EServiceInstance" class=""> - <a href="#api-E2eServiceInstances-createE2EServiceInstance">createE2EServiceInstance</a> - </li> - <li data-group="E2eServiceInstances" data-name="deleteE2EServiceInstance" class=""> - <a href="#api-E2eServiceInstances-deleteE2EServiceInstance">deleteE2EServiceInstance</a> - </li> - <li data-group="E2eServiceInstances" data-name="getE2EServiceInstances" class=""> - <a href="#api-E2eServiceInstances-getE2EServiceInstances">getE2EServiceInstances</a> - </li> - <li data-group="E2eServiceInstances" data-name="scaleE2EServiceInstance" class=""> - <a href="#api-E2eServiceInstances-scaleE2EServiceInstance">scaleE2EServiceInstance</a> - </li> - <li data-group="E2eServiceInstances" data-name="updateE2EServiceInstance" class=""> - <a href="#api-E2eServiceInstances-updateE2EServiceInstance">updateE2EServiceInstance</a> - </li> - <li class="nav-header" data-group="Globalhealthcheck"><a href="#api-Globalhealthcheck">API Methods - Globalhealthcheck</a></li> - <li data-group="Globalhealthcheck" data-name="globalHealthcheck" class=""> - <a href="#api-Globalhealthcheck-globalHealthcheck">globalHealthcheck</a> - </li> - <li class="nav-header" data-group="Nodehealthcheck"><a href="#api-Nodehealthcheck">API Methods - Nodehealthcheck</a></li> - <li data-group="Nodehealthcheck" data-name="nodeHealthcheck" class=""> - <a href="#api-Nodehealthcheck-nodeHealthcheck">nodeHealthcheck</a> - </li> - <li class="nav-header" data-group="OnapsoinfracloudResources"><a href="#api-OnapsoinfracloudResources">API Methods - OnapsoinfracloudResources</a></li> - <li data-group="OnapsoinfracloudResources" data-name="activateOperationEnvironment" class=""> - <a href="#api-OnapsoinfracloudResources-activateOperationEnvironment">activateOperationEnvironment</a> - </li> - <li data-group="OnapsoinfracloudResources" data-name="createOperationEnvironment" class=""> - <a href="#api-OnapsoinfracloudResources-createOperationEnvironment">createOperationEnvironment</a> - </li> - <li data-group="OnapsoinfracloudResources" data-name="deactivateOperationEnvironment" class=""> - <a href="#api-OnapsoinfracloudResources-deactivateOperationEnvironment">deactivateOperationEnvironment</a> - </li> - <li class="nav-header" data-group="OnapsoinfracloudResourcesRequests"><a href="#api-OnapsoinfracloudResourcesRequests">API Methods - OnapsoinfracloudResourcesRequests</a></li> - <li data-group="OnapsoinfracloudResourcesRequests" data-name="getOperationEnvironmentStatusFilter" class=""> - <a href="#api-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter">getOperationEnvironmentStatusFilter</a> - </li> - <li data-group="OnapsoinfracloudResourcesRequests" data-name="unlockOrchestrationRequestForReqId" class=""> - <a href="#api-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId">unlockOrchestrationRequestForReqId</a> - </li> - <li class="nav-header" data-group="OnapsoinframodelDistributions"><a href="#api-OnapsoinframodelDistributions">API Methods - OnapsoinframodelDistributions</a></li> - <li data-group="OnapsoinframodelDistributions" data-name="updateModelDistributionStatus" class=""> - <a href="#api-OnapsoinframodelDistributions-updateModelDistributionStatus">updateModelDistributionStatus</a> - </li> - <li class="nav-header" data-group="OnapsoinfraorchestrationRequests"><a href="#api-OnapsoinfraorchestrationRequests">API Methods - OnapsoinfraorchestrationRequests</a></li> - <li data-group="OnapsoinfraorchestrationRequests" data-name="getOrchestrationRequest" class=""> - <a href="#api-OnapsoinfraorchestrationRequests-getOrchestrationRequest">getOrchestrationRequest</a> - </li> - <li data-group="OnapsoinfraorchestrationRequests" data-name="getOrchestrationRequestForReqId" class=""> - <a href="#api-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId">getOrchestrationRequestForReqId</a> - </li> - <li data-group="OnapsoinfraorchestrationRequests" data-name="unlockOrchestrationRequest" class=""> - <a href="#api-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest">unlockOrchestrationRequest</a> - </li> - <li class="nav-header" data-group="OnapsoinfraserviceInstantiation"><a href="#api-OnapsoinfraserviceInstantiation">API Methods - OnapsoinfraserviceInstantiation</a></li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="activatePort" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-activatePort">activatePort</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="activateServiceInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-activateServiceInstance">activateServiceInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="addRelationships" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-addRelationships">addRelationships</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="applyUpdatedConfig" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-applyUpdatedConfig">applyUpdatedConfig</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="assignServiceInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-assignServiceInstance">assignServiceInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="createNetworkInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-createNetworkInstance">createNetworkInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="createPortConfiguration" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-createPortConfiguration">createPortConfiguration</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="createServiceInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-createServiceInstance">createServiceInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="createVfModuleInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-createVfModuleInstance">createVfModuleInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="createVnfInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-createVnfInstance">createVnfInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="createVolumeGroupInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-createVolumeGroupInstance">createVolumeGroupInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deactivateAndCloudDeleteVfModuleInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance">deactivateAndCloudDeleteVfModuleInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deactivatePort" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deactivatePort">deactivatePort</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deactivateServiceInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deactivateServiceInstance">deactivateServiceInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deleteNetworkInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deleteNetworkInstance">deleteNetworkInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deletePortConfiguration" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deletePortConfiguration">deletePortConfiguration</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deleteServiceInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deleteServiceInstance">deleteServiceInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deleteVfModuleInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deleteVfModuleInstance">deleteVfModuleInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deleteVnfInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deleteVnfInstance">deleteVnfInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="deleteVolumeGroupInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance">deleteVolumeGroupInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="disablePort" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-disablePort">disablePort</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="enablePort" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-enablePort">enablePort</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="inPlaceSoftwareUpdate" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate">inPlaceSoftwareUpdate</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="removeRelationships" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-removeRelationships">removeRelationships</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="replaceVfModuleInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-replaceVfModuleInstance">replaceVfModuleInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="replaceVnfInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-replaceVnfInstance">replaceVnfInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="scaleOutVfModule" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-scaleOutVfModule">scaleOutVfModule</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="unassignServiceInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-unassignServiceInstance">unassignServiceInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="updateNetworkInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-updateNetworkInstance">updateNetworkInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="updateVfModuleInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-updateVfModuleInstance">updateVfModuleInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="updateVnfInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-updateVnfInstance">updateVnfInstance</a> - </li> - <li data-group="OnapsoinfraserviceInstantiation" data-name="updateVolumeGroupInstance" class=""> - <a href="#api-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance">updateVolumeGroupInstance</a> - </li> - <li class="nav-header" data-group="Onapsoinfratasks"><a href="#api-Onapsoinfratasks">API Methods - Onapsoinfratasks</a></li> - <li data-group="Onapsoinfratasks" data-name="queryFilters" class=""> - <a href="#api-Onapsoinfratasks-queryFilters">queryFilters</a> - </li> - </ul> - </nav> - </div> - <div id="content"> - <div id="project"> - <div class="pull-left"> - <h1>SO Casablanca APIs</h1> - </div> - <div class="clearfix"></div> - </div> - <div id="header"> - <div id="api-_"> - <h2 id="welcome-to-apidoc">API and SDK Documentation</h2> - <div class="app-desc">Version: 3.1.2</div> - <hr> - <div>No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)</div> - </div> - </div> - <div id="sections"> - <section id="api-E2eServiceInstances"> - <h1>E2eServiceInstances</h1> - <div id="api-E2eServiceInstances-compareModelwithTargetVersion"> - <article id="api-E2eServiceInstances-compareModelwithTargetVersion-0" data-group="User" data-name="compareModelwithTargetVersion" data-version="0"> - <div class="pull-left"> - <h1>compareModelwithTargetVersion</h1> - <p>Find added and deleted resources of target model for the e2eserviceInstance on a given serviceId </p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/e2eServiceInstances/{version}/{serviceId}/modeldifferences</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-curl">Curl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-java">Java</a></li> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-android">Android</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-csharp">C#</a></li> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-php">PHP</a></li> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-perl">Perl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-compareModelwithTargetVersion-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/e2eServiceInstances/{version}/{serviceId}/modeldifferences"</code></pre> - </div> - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.E2eServiceInstancesApi; - -import java.io.File; -import java.util.*; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String serviceId = serviceId_example; // String | - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.compareModelwithTargetVersion(serviceId, version, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#compareModelwithTargetVersion"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.E2eServiceInstancesApi; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String serviceId = serviceId_example; // String | - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.compareModelwithTargetVersion(serviceId, version, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#compareModelwithTargetVersion"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *serviceId = serviceId_example; // -String *version = version_example; // -String *body = body_example; // (optional) - -E2eServiceInstancesApi *apiInstance = [[E2eServiceInstancesApi alloc] init]; - -// Find added and deleted resources of target model for the e2eserviceInstance on a given serviceId -[apiInstance compareModelwithTargetVersionWith:serviceId - version:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.E2eServiceInstancesApi() - -var serviceId = serviceId_example; // {String} - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.compareModelwithTargetVersion(serviceId, version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class compareModelwithTargetVersionExample - { - public void main() - { - - var apiInstance = new E2eServiceInstancesApi(); - var serviceId = serviceId_example; // String | - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Find added and deleted resources of target model for the e2eserviceInstance on a given serviceId - apiInstance.compareModelwithTargetVersion(serviceId, version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling E2eServiceInstancesApi.compareModelwithTargetVersion: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\E2eServiceInstancesApi(); -$serviceId = serviceId_example; // String | -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->compareModelwithTargetVersion($serviceId, $version, $body); -} catch (Exception $e) { - echo 'Exception when calling E2eServiceInstancesApi->compareModelwithTargetVersion: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::E2eServiceInstancesApi; - -my $api_instance = WWW::SwaggerClient::E2eServiceInstancesApi->new(); -my $serviceId = serviceId_example; # String | -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->compareModelwithTargetVersion(serviceId => $serviceId, version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling E2eServiceInstancesApi->compareModelwithTargetVersion: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-compareModelwithTargetVersion-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.E2eServiceInstancesApi() -serviceId = serviceId_example # String | -version = version_example # String | -body = body_example # String | (optional) - -try: - # Find added and deleted resources of target model for the e2eserviceInstance on a given serviceId - api_instance.compare_modelwith_target_version(serviceId, version, body=body) -except ApiException as e: - print("Exception when calling E2eServiceInstancesApi->compareModelwithTargetVersion: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">serviceId*</td> -<td> - - - <div id="d2e199_compareModelwithTargetVersion_serviceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_compareModelwithTargetVersion_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_compareModelwithTargetVersion_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_compareModelwithTargetVersion_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-E2eServiceInstances-createE2EServiceInstance"> - <article id="api-E2eServiceInstances-createE2EServiceInstance-0" data-group="User" data-name="createE2EServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>createE2EServiceInstance</h1> - <p>Create an E2E Service Instance on a version provided</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/e2eServiceInstances/{version}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-createE2EServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-E2eServiceInstances-createE2EServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/e2eServiceInstances/{version}"</code></pre> - </div> - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.E2eServiceInstancesApi; - -import java.io.File; -import java.util.*; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.createE2EServiceInstance(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#createE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.E2eServiceInstancesApi; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.createE2EServiceInstance(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#createE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *body = body_example; // (optional) - -E2eServiceInstancesApi *apiInstance = [[E2eServiceInstancesApi alloc] init]; - -// Create an E2E Service Instance on a version provided -[apiInstance createE2EServiceInstanceWith:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.E2eServiceInstancesApi() - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createE2EServiceInstance(version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createE2EServiceInstanceExample - { - public void main() - { - - var apiInstance = new E2eServiceInstancesApi(); - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create an E2E Service Instance on a version provided - apiInstance.createE2EServiceInstance(version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling E2eServiceInstancesApi.createE2EServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\E2eServiceInstancesApi(); -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->createE2EServiceInstance($version, $body); -} catch (Exception $e) { - echo 'Exception when calling E2eServiceInstancesApi->createE2EServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::E2eServiceInstancesApi; - -my $api_instance = WWW::SwaggerClient::E2eServiceInstancesApi->new(); -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createE2EServiceInstance(version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling E2eServiceInstancesApi->createE2EServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-createE2EServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.E2eServiceInstancesApi() -version = version_example # String | -body = body_example # String | (optional) - -try: - # Create an E2E Service Instance on a version provided - api_instance.create_e2_e_service_instance(version, body=body) -except ApiException as e: - print("Exception when calling E2eServiceInstancesApi->createE2EServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createE2EServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createE2EServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createE2EServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-E2eServiceInstances-deleteE2EServiceInstance"> - <article id="api-E2eServiceInstances-deleteE2EServiceInstance-0" data-group="User" data-name="deleteE2EServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>deleteE2EServiceInstance</h1> - <p>Delete E2E Service Instance on a specified version and serviceId</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/e2eServiceInstances/{version}/{serviceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-deleteE2EServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/e2eServiceInstances/{version}/{serviceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.E2eServiceInstancesApi; - -import java.io.File; -import java.util.*; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String serviceId = serviceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteE2EServiceInstance(version, serviceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#deleteE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.E2eServiceInstancesApi; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String serviceId = serviceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteE2EServiceInstance(version, serviceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#deleteE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceId = serviceId_example; // -String *body = body_example; // (optional) - -E2eServiceInstancesApi *apiInstance = [[E2eServiceInstancesApi alloc] init]; - -// Delete E2E Service Instance on a specified version and serviceId -[apiInstance deleteE2EServiceInstanceWith:version - serviceId:serviceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.E2eServiceInstancesApi() - -var version = version_example; // {String} - -var serviceId = serviceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deleteE2EServiceInstance(version, serviceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deleteE2EServiceInstanceExample - { - public void main() - { - - var apiInstance = new E2eServiceInstancesApi(); - var version = version_example; // String | - var serviceId = serviceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete E2E Service Instance on a specified version and serviceId - apiInstance.deleteE2EServiceInstance(version, serviceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling E2eServiceInstancesApi.deleteE2EServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\E2eServiceInstancesApi(); -$version = version_example; // String | -$serviceId = serviceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deleteE2EServiceInstance($version, $serviceId, $body); -} catch (Exception $e) { - echo 'Exception when calling E2eServiceInstancesApi->deleteE2EServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::E2eServiceInstancesApi; - -my $api_instance = WWW::SwaggerClient::E2eServiceInstancesApi->new(); -my $version = version_example; # String | -my $serviceId = serviceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deleteE2EServiceInstance(version => $version, serviceId => $serviceId, body => $body); -}; -if ($@) { - warn "Exception when calling E2eServiceInstancesApi->deleteE2EServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-deleteE2EServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.E2eServiceInstancesApi() -version = version_example # String | -serviceId = serviceId_example # String | -body = body_example # String | (optional) - -try: - # Delete E2E Service Instance on a specified version and serviceId - api_instance.delete_e2_e_service_instance(version, serviceId, body=body) -except ApiException as e: - print("Exception when calling E2eServiceInstancesApi->deleteE2EServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deleteE2EServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceId*</td> -<td> - - - <div id="d2e199_deleteE2EServiceInstance_serviceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deleteE2EServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deleteE2EServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-E2eServiceInstances-getE2EServiceInstances"> - <article id="api-E2eServiceInstances-getE2EServiceInstances-0" data-group="User" data-name="getE2EServiceInstances" data-version="0"> - <div class="pull-left"> - <h1>getE2EServiceInstances</h1> - <p>Find e2eServiceInstances Requests for a given serviceId and operationId</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/onap/so/infra/e2eServiceInstances/{version}/{serviceId}/operations/{operationId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-curl">Curl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-java">Java</a></li> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-android">Android</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-csharp">C#</a></li> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-php">PHP</a></li> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-perl">Perl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-getE2EServiceInstances-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-E2eServiceInstances-getE2EServiceInstances-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/onap/so/infra/e2eServiceInstances/{version}/{serviceId}/operations/{operationId}"</code></pre> - </div> - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.E2eServiceInstancesApi; - -import java.io.File; -import java.util.*; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String serviceId = serviceId_example; // String | - String version = version_example; // String | - String operationId = operationId_example; // String | - try { - apiInstance.getE2EServiceInstances(serviceId, version, operationId); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#getE2EServiceInstances"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.E2eServiceInstancesApi; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String serviceId = serviceId_example; // String | - String version = version_example; // String | - String operationId = operationId_example; // String | - try { - apiInstance.getE2EServiceInstances(serviceId, version, operationId); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#getE2EServiceInstances"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *serviceId = serviceId_example; // -String *version = version_example; // -String *operationId = operationId_example; // - -E2eServiceInstancesApi *apiInstance = [[E2eServiceInstancesApi alloc] init]; - -// Find e2eServiceInstances Requests for a given serviceId and operationId -[apiInstance getE2EServiceInstancesWith:serviceId - version:version - operationId:operationId - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.E2eServiceInstancesApi() - -var serviceId = serviceId_example; // {String} - -var version = version_example; // {String} - -var operationId = operationId_example; // {String} - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.getE2EServiceInstances(serviceId, version, operationId, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class getE2EServiceInstancesExample - { - public void main() - { - - var apiInstance = new E2eServiceInstancesApi(); - var serviceId = serviceId_example; // String | - var version = version_example; // String | - var operationId = operationId_example; // String | - - try - { - // Find e2eServiceInstances Requests for a given serviceId and operationId - apiInstance.getE2EServiceInstances(serviceId, version, operationId); - } - catch (Exception e) - { - Debug.Print("Exception when calling E2eServiceInstancesApi.getE2EServiceInstances: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\E2eServiceInstancesApi(); -$serviceId = serviceId_example; // String | -$version = version_example; // String | -$operationId = operationId_example; // String | - -try { - $api_instance->getE2EServiceInstances($serviceId, $version, $operationId); -} catch (Exception $e) { - echo 'Exception when calling E2eServiceInstancesApi->getE2EServiceInstances: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::E2eServiceInstancesApi; - -my $api_instance = WWW::SwaggerClient::E2eServiceInstancesApi->new(); -my $serviceId = serviceId_example; # String | -my $version = version_example; # String | -my $operationId = operationId_example; # String | - -eval { - $api_instance->getE2EServiceInstances(serviceId => $serviceId, version => $version, operationId => $operationId); -}; -if ($@) { - warn "Exception when calling E2eServiceInstancesApi->getE2EServiceInstances: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-getE2EServiceInstances-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.E2eServiceInstancesApi() -serviceId = serviceId_example # String | -version = version_example # String | -operationId = operationId_example # String | - -try: - # Find e2eServiceInstances Requests for a given serviceId and operationId - api_instance.get_e2_e_service_instances(serviceId, version, operationId) -except ApiException as e: - print("Exception when calling E2eServiceInstancesApi->getE2EServiceInstances: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">serviceId*</td> -<td> - - - <div id="d2e199_getE2EServiceInstances_serviceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_getE2EServiceInstances_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">operationId*</td> -<td> - - - <div id="d2e199_getE2EServiceInstances_operationId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-E2eServiceInstances-scaleE2EServiceInstance"> - <article id="api-E2eServiceInstances-scaleE2EServiceInstance-0" data-group="User" data-name="scaleE2EServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>scaleE2EServiceInstance</h1> - <p>Scale E2E Service Instance on a specified version</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/e2eServiceInstances/{version}/{serviceId}/scale</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-scaleE2EServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/e2eServiceInstances/{version}/{serviceId}/scale"</code></pre> - </div> - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.E2eServiceInstancesApi; - -import java.io.File; -import java.util.*; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String serviceId = serviceId_example; // String | - String body = body_example; // String | - try { - apiInstance.scaleE2EServiceInstance(version, serviceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#scaleE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.E2eServiceInstancesApi; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String serviceId = serviceId_example; // String | - String body = body_example; // String | - try { - apiInstance.scaleE2EServiceInstance(version, serviceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#scaleE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceId = serviceId_example; // -String *body = body_example; // (optional) - -E2eServiceInstancesApi *apiInstance = [[E2eServiceInstancesApi alloc] init]; - -// Scale E2E Service Instance on a specified version -[apiInstance scaleE2EServiceInstanceWith:version - serviceId:serviceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.E2eServiceInstancesApi() - -var version = version_example; // {String} - -var serviceId = serviceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.scaleE2EServiceInstance(version, serviceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class scaleE2EServiceInstanceExample - { - public void main() - { - - var apiInstance = new E2eServiceInstancesApi(); - var version = version_example; // String | - var serviceId = serviceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Scale E2E Service Instance on a specified version - apiInstance.scaleE2EServiceInstance(version, serviceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling E2eServiceInstancesApi.scaleE2EServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\E2eServiceInstancesApi(); -$version = version_example; // String | -$serviceId = serviceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->scaleE2EServiceInstance($version, $serviceId, $body); -} catch (Exception $e) { - echo 'Exception when calling E2eServiceInstancesApi->scaleE2EServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::E2eServiceInstancesApi; - -my $api_instance = WWW::SwaggerClient::E2eServiceInstancesApi->new(); -my $version = version_example; # String | -my $serviceId = serviceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->scaleE2EServiceInstance(version => $version, serviceId => $serviceId, body => $body); -}; -if ($@) { - warn "Exception when calling E2eServiceInstancesApi->scaleE2EServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-scaleE2EServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.E2eServiceInstancesApi() -version = version_example # String | -serviceId = serviceId_example # String | -body = body_example # String | (optional) - -try: - # Scale E2E Service Instance on a specified version - api_instance.scale_e2_e_service_instance(version, serviceId, body=body) -except ApiException as e: - print("Exception when calling E2eServiceInstancesApi->scaleE2EServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_scaleE2EServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceId*</td> -<td> - - - <div id="d2e199_scaleE2EServiceInstance_serviceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_scaleE2EServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_scaleE2EServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-E2eServiceInstances-updateE2EServiceInstance"> - <article id="api-E2eServiceInstances-updateE2EServiceInstance-0" data-group="User" data-name="updateE2EServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>updateE2EServiceInstance</h1> - <p>Update an E2E Service Instance on a version provided and serviceId</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/onap/so/infra/e2eServiceInstances/{version}/{serviceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-E2eServiceInstances-updateE2EServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X PUT "https://localhost/onap/so/infra/e2eServiceInstances/{version}/{serviceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.E2eServiceInstancesApi; - -import java.io.File; -import java.util.*; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String serviceId = serviceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateE2EServiceInstance(version, serviceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#updateE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.E2eServiceInstancesApi; - -public class E2eServiceInstancesApiExample { - - public static void main(String[] args) { - E2eServiceInstancesApi apiInstance = new E2eServiceInstancesApi(); - String version = version_example; // String | - String serviceId = serviceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateE2EServiceInstance(version, serviceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling E2eServiceInstancesApi#updateE2EServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceId = serviceId_example; // -String *body = body_example; // (optional) - -E2eServiceInstancesApi *apiInstance = [[E2eServiceInstancesApi alloc] init]; - -// Update an E2E Service Instance on a version provided and serviceId -[apiInstance updateE2EServiceInstanceWith:version - serviceId:serviceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.E2eServiceInstancesApi() - -var version = version_example; // {String} - -var serviceId = serviceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.updateE2EServiceInstance(version, serviceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class updateE2EServiceInstanceExample - { - public void main() - { - - var apiInstance = new E2eServiceInstancesApi(); - var version = version_example; // String | - var serviceId = serviceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Update an E2E Service Instance on a version provided and serviceId - apiInstance.updateE2EServiceInstance(version, serviceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling E2eServiceInstancesApi.updateE2EServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\E2eServiceInstancesApi(); -$version = version_example; // String | -$serviceId = serviceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->updateE2EServiceInstance($version, $serviceId, $body); -} catch (Exception $e) { - echo 'Exception when calling E2eServiceInstancesApi->updateE2EServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::E2eServiceInstancesApi; - -my $api_instance = WWW::SwaggerClient::E2eServiceInstancesApi->new(); -my $version = version_example; # String | -my $serviceId = serviceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->updateE2EServiceInstance(version => $version, serviceId => $serviceId, body => $body); -}; -if ($@) { - warn "Exception when calling E2eServiceInstancesApi->updateE2EServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-E2eServiceInstances-updateE2EServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.E2eServiceInstancesApi() -version = version_example # String | -serviceId = serviceId_example # String | -body = body_example # String | (optional) - -try: - # Update an E2E Service Instance on a version provided and serviceId - api_instance.update_e2_e_service_instance(version, serviceId, body=body) -except ApiException as e: - print("Exception when calling E2eServiceInstancesApi->updateE2EServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_updateE2EServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceId*</td> -<td> - - - <div id="d2e199_updateE2EServiceInstance_serviceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_updateE2EServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_updateE2EServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-Globalhealthcheck"> - <h1>Globalhealthcheck</h1> - <div id="api-Globalhealthcheck-globalHealthcheck"> - <article id="api-Globalhealthcheck-globalHealthcheck-0" data-group="User" data-name="globalHealthcheck" data-version="0"> - <div class="pull-left"> - <h1>globalHealthcheck</h1> - <p>Performing global health check</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/globalhealthcheck</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-Globalhealthcheck-globalHealthcheck-0-curl">Curl</a></li> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-java">Java</a></li> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-android">Android</a></li> - <!--<li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-csharp">C#</a></li> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-php">PHP</a></li> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-perl">Perl</a></li> - <li class=""><a href="#examples-Globalhealthcheck-globalHealthcheck-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-Globalhealthcheck-globalHealthcheck-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/globalhealthcheck?enableBpmn="</code></pre> - </div> - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.GlobalhealthcheckApi; - -import java.io.File; -import java.util.*; - -public class GlobalhealthcheckApiExample { - - public static void main(String[] args) { - - GlobalhealthcheckApi apiInstance = new GlobalhealthcheckApi(); - Boolean enableBpmn = true; // Boolean | - try { - apiInstance.globalHealthcheck(enableBpmn); - } catch (ApiException e) { - System.err.println("Exception when calling GlobalhealthcheckApi#globalHealthcheck"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.GlobalhealthcheckApi; - -public class GlobalhealthcheckApiExample { - - public static void main(String[] args) { - GlobalhealthcheckApi apiInstance = new GlobalhealthcheckApi(); - Boolean enableBpmn = true; // Boolean | - try { - apiInstance.globalHealthcheck(enableBpmn); - } catch (ApiException e) { - System.err.println("Exception when calling GlobalhealthcheckApi#globalHealthcheck"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-objc"> - <pre class="prettyprint"><code class="language-cpp">Boolean *enableBpmn = true; // (optional) (default to true) - -GlobalhealthcheckApi *apiInstance = [[GlobalhealthcheckApi alloc] init]; - -// Performing global health check -[apiInstance globalHealthcheckWith:enableBpmn - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.GlobalhealthcheckApi() - -var opts = { - 'enableBpmn': true // {Boolean} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.globalHealthcheck(opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class globalHealthcheckExample - { - public void main() - { - - var apiInstance = new GlobalhealthcheckApi(); - var enableBpmn = true; // Boolean | (optional) (default to true) - - try - { - // Performing global health check - apiInstance.globalHealthcheck(enableBpmn); - } - catch (Exception e) - { - Debug.Print("Exception when calling GlobalhealthcheckApi.globalHealthcheck: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\GlobalhealthcheckApi(); -$enableBpmn = true; // Boolean | - -try { - $api_instance->globalHealthcheck($enableBpmn); -} catch (Exception $e) { - echo 'Exception when calling GlobalhealthcheckApi->globalHealthcheck: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::GlobalhealthcheckApi; - -my $api_instance = WWW::SwaggerClient::GlobalhealthcheckApi->new(); -my $enableBpmn = true; # Boolean | - -eval { - $api_instance->globalHealthcheck(enableBpmn => $enableBpmn); -}; -if ($@) { - warn "Exception when calling GlobalhealthcheckApi->globalHealthcheck: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-Globalhealthcheck-globalHealthcheck-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.GlobalhealthcheckApi() -enableBpmn = true # Boolean | (optional) (default to true) - -try: - # Performing global health check - api_instance.global_healthcheck(enableBpmn=enableBpmn) -except ApiException as e: - print("Exception when calling GlobalhealthcheckApi->globalHealthcheck: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - - - - - <div class="methodsubtabletitle">Query parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">enableBpmn</td> -<td> - - - <div id="d2e199_globalHealthcheck_enableBpmn"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - Boolean - </span> - - </div> - </div> - </div> -</td> -</tr> - - </table> - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-Nodehealthcheck"> - <h1>Nodehealthcheck</h1> - <div id="api-Nodehealthcheck-nodeHealthcheck"> - <article id="api-Nodehealthcheck-nodeHealthcheck-0" data-group="User" data-name="nodeHealthcheck" data-version="0"> - <div class="pull-left"> - <h1>nodeHealthcheck</h1> - <p>Performing node health check</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/nodehealthcheck</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-curl">Curl</a></li> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-java">Java</a></li> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-android">Android</a></li> - <!--<li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-csharp">C#</a></li> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-php">PHP</a></li> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-perl">Perl</a></li> - <li class=""><a href="#examples-Nodehealthcheck-nodeHealthcheck-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-Nodehealthcheck-nodeHealthcheck-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/nodehealthcheck"</code></pre> - </div> - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.NodehealthcheckApi; - -import java.io.File; -import java.util.*; - -public class NodehealthcheckApiExample { - - public static void main(String[] args) { - - NodehealthcheckApi apiInstance = new NodehealthcheckApi(); - try { - apiInstance.nodeHealthcheck(); - } catch (ApiException e) { - System.err.println("Exception when calling NodehealthcheckApi#nodeHealthcheck"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.NodehealthcheckApi; - -public class NodehealthcheckApiExample { - - public static void main(String[] args) { - NodehealthcheckApi apiInstance = new NodehealthcheckApi(); - try { - apiInstance.nodeHealthcheck(); - } catch (ApiException e) { - System.err.println("Exception when calling NodehealthcheckApi#nodeHealthcheck"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-objc"> - <pre class="prettyprint"><code class="language-cpp"> -NodehealthcheckApi *apiInstance = [[NodehealthcheckApi alloc] init]; - -// Performing node health check -[apiInstance nodeHealthcheckWithCompletionHandler: - ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.NodehealthcheckApi() - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.nodeHealthcheck(callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class nodeHealthcheckExample - { - public void main() - { - - var apiInstance = new NodehealthcheckApi(); - - try - { - // Performing node health check - apiInstance.nodeHealthcheck(); - } - catch (Exception e) - { - Debug.Print("Exception when calling NodehealthcheckApi.nodeHealthcheck: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\NodehealthcheckApi(); - -try { - $api_instance->nodeHealthcheck(); -} catch (Exception $e) { - echo 'Exception when calling NodehealthcheckApi->nodeHealthcheck: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::NodehealthcheckApi; - -my $api_instance = WWW::SwaggerClient::NodehealthcheckApi->new(); - -eval { - $api_instance->nodeHealthcheck(); -}; -if ($@) { - warn "Exception when calling NodehealthcheckApi->nodeHealthcheck: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-Nodehealthcheck-nodeHealthcheck-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.NodehealthcheckApi() - -try: - # Performing node health check - api_instance.node_healthcheck() -except ApiException as e: - print("Exception when calling NodehealthcheckApi->nodeHealthcheck: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - - - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-OnapsoinfracloudResources"> - <h1>OnapsoinfracloudResources</h1> - <div id="api-OnapsoinfracloudResources-activateOperationEnvironment"> - <article id="api-OnapsoinfracloudResources-activateOperationEnvironment-0" data-group="User" data-name="activateOperationEnvironment" data-version="0"> - <div class="pull-left"> - <h1>activateOperationEnvironment</h1> - <p>Activate an Operational Environment</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/cloudResources/{version}/operationalEnvironments/{operationalEnvironmentId}/activate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-activateOperationEnvironment-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/cloudResources/{version}/operationalEnvironments/{operationalEnvironmentId}/activate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfracloudResourcesApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfracloudResourcesApiExample { - - public static void main(String[] args) { - - OnapsoinfracloudResourcesApi apiInstance = new OnapsoinfracloudResourcesApi(); - String version = version_example; // String | - String operationalEnvironmentId = operationalEnvironmentId_example; // String | - String body = body_example; // String | - try { - apiInstance.activateOperationEnvironment(version, operationalEnvironmentId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesApi#activateOperationEnvironment"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfracloudResourcesApi; - -public class OnapsoinfracloudResourcesApiExample { - - public static void main(String[] args) { - OnapsoinfracloudResourcesApi apiInstance = new OnapsoinfracloudResourcesApi(); - String version = version_example; // String | - String operationalEnvironmentId = operationalEnvironmentId_example; // String | - String body = body_example; // String | - try { - apiInstance.activateOperationEnvironment(version, operationalEnvironmentId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesApi#activateOperationEnvironment"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *operationalEnvironmentId = operationalEnvironmentId_example; // -String *body = body_example; // (optional) - -OnapsoinfracloudResourcesApi *apiInstance = [[OnapsoinfracloudResourcesApi alloc] init]; - -// Activate an Operational Environment -[apiInstance activateOperationEnvironmentWith:version - operationalEnvironmentId:operationalEnvironmentId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfracloudResourcesApi() - -var version = version_example; // {String} - -var operationalEnvironmentId = operationalEnvironmentId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.activateOperationEnvironment(version, operationalEnvironmentId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class activateOperationEnvironmentExample - { - public void main() - { - - var apiInstance = new OnapsoinfracloudResourcesApi(); - var version = version_example; // String | - var operationalEnvironmentId = operationalEnvironmentId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Activate an Operational Environment - apiInstance.activateOperationEnvironment(version, operationalEnvironmentId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfracloudResourcesApi.activateOperationEnvironment: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfracloudResourcesApi(); -$version = version_example; // String | -$operationalEnvironmentId = operationalEnvironmentId_example; // String | -$body = body_example; // String | - -try { - $api_instance->activateOperationEnvironment($version, $operationalEnvironmentId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfracloudResourcesApi->activateOperationEnvironment: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfracloudResourcesApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfracloudResourcesApi->new(); -my $version = version_example; # String | -my $operationalEnvironmentId = operationalEnvironmentId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->activateOperationEnvironment(version => $version, operationalEnvironmentId => $operationalEnvironmentId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfracloudResourcesApi->activateOperationEnvironment: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-activateOperationEnvironment-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfracloudResourcesApi() -version = version_example # String | -operationalEnvironmentId = operationalEnvironmentId_example # String | -body = body_example # String | (optional) - -try: - # Activate an Operational Environment - api_instance.activate_operation_environment(version, operationalEnvironmentId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfracloudResourcesApi->activateOperationEnvironment: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_activateOperationEnvironment_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">operationalEnvironmentId*</td> -<td> - - - <div id="d2e199_activateOperationEnvironment_operationalEnvironmentId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_activateOperationEnvironment_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_activateOperationEnvironment_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfracloudResources-createOperationEnvironment"> - <article id="api-OnapsoinfracloudResources-createOperationEnvironment-0" data-group="User" data-name="createOperationEnvironment" data-version="0"> - <div class="pull-left"> - <h1>createOperationEnvironment</h1> - <p>Create an Operational Environment</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/cloudResources/{version}/operationalEnvironments</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-createOperationEnvironment-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/cloudResources/{version}/operationalEnvironments"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfracloudResourcesApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfracloudResourcesApiExample { - - public static void main(String[] args) { - - OnapsoinfracloudResourcesApi apiInstance = new OnapsoinfracloudResourcesApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.createOperationEnvironment(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesApi#createOperationEnvironment"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfracloudResourcesApi; - -public class OnapsoinfracloudResourcesApiExample { - - public static void main(String[] args) { - OnapsoinfracloudResourcesApi apiInstance = new OnapsoinfracloudResourcesApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.createOperationEnvironment(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesApi#createOperationEnvironment"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *body = body_example; // (optional) - -OnapsoinfracloudResourcesApi *apiInstance = [[OnapsoinfracloudResourcesApi alloc] init]; - -// Create an Operational Environment -[apiInstance createOperationEnvironmentWith:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfracloudResourcesApi() - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createOperationEnvironment(version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createOperationEnvironmentExample - { - public void main() - { - - var apiInstance = new OnapsoinfracloudResourcesApi(); - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create an Operational Environment - apiInstance.createOperationEnvironment(version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfracloudResourcesApi.createOperationEnvironment: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfracloudResourcesApi(); -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->createOperationEnvironment($version, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfracloudResourcesApi->createOperationEnvironment: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfracloudResourcesApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfracloudResourcesApi->new(); -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createOperationEnvironment(version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfracloudResourcesApi->createOperationEnvironment: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-createOperationEnvironment-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfracloudResourcesApi() -version = version_example # String | -body = body_example # String | (optional) - -try: - # Create an Operational Environment - api_instance.create_operation_environment(version, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfracloudResourcesApi->createOperationEnvironment: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createOperationEnvironment_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createOperationEnvironment_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createOperationEnvironment_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfracloudResources-deactivateOperationEnvironment"> - <article id="api-OnapsoinfracloudResources-deactivateOperationEnvironment-0" data-group="User" data-name="deactivateOperationEnvironment" data-version="0"> - <div class="pull-left"> - <h1>deactivateOperationEnvironment</h1> - <p>Deactivate an Operational Environment</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/cloudResources/{version}/operationalEnvironments/{operationalEnvironmentId}/deactivate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/cloudResources/{version}/operationalEnvironments/{operationalEnvironmentId}/deactivate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfracloudResourcesApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfracloudResourcesApiExample { - - public static void main(String[] args) { - - OnapsoinfracloudResourcesApi apiInstance = new OnapsoinfracloudResourcesApi(); - String version = version_example; // String | - String operationalEnvironmentId = operationalEnvironmentId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivateOperationEnvironment(version, operationalEnvironmentId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesApi#deactivateOperationEnvironment"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfracloudResourcesApi; - -public class OnapsoinfracloudResourcesApiExample { - - public static void main(String[] args) { - OnapsoinfracloudResourcesApi apiInstance = new OnapsoinfracloudResourcesApi(); - String version = version_example; // String | - String operationalEnvironmentId = operationalEnvironmentId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivateOperationEnvironment(version, operationalEnvironmentId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesApi#deactivateOperationEnvironment"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *operationalEnvironmentId = operationalEnvironmentId_example; // -String *body = body_example; // (optional) - -OnapsoinfracloudResourcesApi *apiInstance = [[OnapsoinfracloudResourcesApi alloc] init]; - -// Deactivate an Operational Environment -[apiInstance deactivateOperationEnvironmentWith:version - operationalEnvironmentId:operationalEnvironmentId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfracloudResourcesApi() - -var version = version_example; // {String} - -var operationalEnvironmentId = operationalEnvironmentId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deactivateOperationEnvironment(version, operationalEnvironmentId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deactivateOperationEnvironmentExample - { - public void main() - { - - var apiInstance = new OnapsoinfracloudResourcesApi(); - var version = version_example; // String | - var operationalEnvironmentId = operationalEnvironmentId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Deactivate an Operational Environment - apiInstance.deactivateOperationEnvironment(version, operationalEnvironmentId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfracloudResourcesApi.deactivateOperationEnvironment: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfracloudResourcesApi(); -$version = version_example; // String | -$operationalEnvironmentId = operationalEnvironmentId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deactivateOperationEnvironment($version, $operationalEnvironmentId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfracloudResourcesApi->deactivateOperationEnvironment: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfracloudResourcesApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfracloudResourcesApi->new(); -my $version = version_example; # String | -my $operationalEnvironmentId = operationalEnvironmentId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deactivateOperationEnvironment(version => $version, operationalEnvironmentId => $operationalEnvironmentId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfracloudResourcesApi->deactivateOperationEnvironment: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResources-deactivateOperationEnvironment-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfracloudResourcesApi() -version = version_example # String | -operationalEnvironmentId = operationalEnvironmentId_example # String | -body = body_example # String | (optional) - -try: - # Deactivate an Operational Environment - api_instance.deactivate_operation_environment(version, operationalEnvironmentId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfracloudResourcesApi->deactivateOperationEnvironment: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deactivateOperationEnvironment_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">operationalEnvironmentId*</td> -<td> - - - <div id="d2e199_deactivateOperationEnvironment_operationalEnvironmentId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deactivateOperationEnvironment_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deactivateOperationEnvironment_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-OnapsoinfracloudResourcesRequests"> - <h1>OnapsoinfracloudResourcesRequests</h1> - <div id="api-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter"> - <article id="api-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0" data-group="User" data-name="getOperationEnvironmentStatusFilter" data-version="0"> - <div class="pull-left"> - <h1>getOperationEnvironmentStatusFilter</h1> - <p>Get status of an Operational Environment based on filter criteria</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/onap/so/infra/cloudResourcesRequests/{version}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/onap/so/infra/cloudResourcesRequests/{version}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfracloudResourcesRequestsApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfracloudResourcesRequestsApiExample { - - public static void main(String[] args) { - - OnapsoinfracloudResourcesRequestsApi apiInstance = new OnapsoinfracloudResourcesRequestsApi(); - String version = version_example; // String | - try { - apiInstance.getOperationEnvironmentStatusFilter(version); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesRequestsApi#getOperationEnvironmentStatusFilter"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfracloudResourcesRequestsApi; - -public class OnapsoinfracloudResourcesRequestsApiExample { - - public static void main(String[] args) { - OnapsoinfracloudResourcesRequestsApi apiInstance = new OnapsoinfracloudResourcesRequestsApi(); - String version = version_example; // String | - try { - apiInstance.getOperationEnvironmentStatusFilter(version); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesRequestsApi#getOperationEnvironmentStatusFilter"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // - -OnapsoinfracloudResourcesRequestsApi *apiInstance = [[OnapsoinfracloudResourcesRequestsApi alloc] init]; - -// Get status of an Operational Environment based on filter criteria -[apiInstance getOperationEnvironmentStatusFilterWith:version - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfracloudResourcesRequestsApi() - -var version = version_example; // {String} - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.getOperationEnvironmentStatusFilter(version, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class getOperationEnvironmentStatusFilterExample - { - public void main() - { - - var apiInstance = new OnapsoinfracloudResourcesRequestsApi(); - var version = version_example; // String | - - try - { - // Get status of an Operational Environment based on filter criteria - apiInstance.getOperationEnvironmentStatusFilter(version); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfracloudResourcesRequestsApi.getOperationEnvironmentStatusFilter: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfracloudResourcesRequestsApi(); -$version = version_example; // String | - -try { - $api_instance->getOperationEnvironmentStatusFilter($version); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfracloudResourcesRequestsApi->getOperationEnvironmentStatusFilter: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfracloudResourcesRequestsApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfracloudResourcesRequestsApi->new(); -my $version = version_example; # String | - -eval { - $api_instance->getOperationEnvironmentStatusFilter(version => $version); -}; -if ($@) { - warn "Exception when calling OnapsoinfracloudResourcesRequestsApi->getOperationEnvironmentStatusFilter: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-getOperationEnvironmentStatusFilter-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfracloudResourcesRequestsApi() -version = version_example # String | - -try: - # Get status of an Operational Environment based on filter criteria - api_instance.get_operation_environment_status_filter(version) -except ApiException as e: - print("Exception when calling OnapsoinfracloudResourcesRequestsApi->getOperationEnvironmentStatusFilter: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_getOperationEnvironmentStatusFilter_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId"> - <article id="api-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0" data-group="User" data-name="unlockOrchestrationRequestForReqId" data-version="0"> - <div class="pull-left"> - <h1>unlockOrchestrationRequestForReqId</h1> - <p>Unlock CloudOrchestration requests for a specified requestId</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/cloudResourcesRequests/{version}/{requestId}/unlock</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/cloudResourcesRequests/{version}/{requestId}/unlock"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfracloudResourcesRequestsApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfracloudResourcesRequestsApiExample { - - public static void main(String[] args) { - - OnapsoinfracloudResourcesRequestsApi apiInstance = new OnapsoinfracloudResourcesRequestsApi(); - String requestId = requestId_example; // String | - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.unlockOrchestrationRequestForReqId(requestId, version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesRequestsApi#unlockOrchestrationRequestForReqId"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfracloudResourcesRequestsApi; - -public class OnapsoinfracloudResourcesRequestsApiExample { - - public static void main(String[] args) { - OnapsoinfracloudResourcesRequestsApi apiInstance = new OnapsoinfracloudResourcesRequestsApi(); - String requestId = requestId_example; // String | - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.unlockOrchestrationRequestForReqId(requestId, version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfracloudResourcesRequestsApi#unlockOrchestrationRequestForReqId"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *requestId = requestId_example; // -String *version = version_example; // -String *body = body_example; // (optional) - -OnapsoinfracloudResourcesRequestsApi *apiInstance = [[OnapsoinfracloudResourcesRequestsApi alloc] init]; - -// Unlock CloudOrchestration requests for a specified requestId -[apiInstance unlockOrchestrationRequestForReqIdWith:requestId - version:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfracloudResourcesRequestsApi() - -var requestId = requestId_example; // {String} - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.unlockOrchestrationRequestForReqId(requestId, version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class unlockOrchestrationRequestForReqIdExample - { - public void main() - { - - var apiInstance = new OnapsoinfracloudResourcesRequestsApi(); - var requestId = requestId_example; // String | - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Unlock CloudOrchestration requests for a specified requestId - apiInstance.unlockOrchestrationRequestForReqId(requestId, version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfracloudResourcesRequestsApi.unlockOrchestrationRequestForReqId: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfracloudResourcesRequestsApi(); -$requestId = requestId_example; // String | -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->unlockOrchestrationRequestForReqId($requestId, $version, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfracloudResourcesRequestsApi->unlockOrchestrationRequestForReqId: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfracloudResourcesRequestsApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfracloudResourcesRequestsApi->new(); -my $requestId = requestId_example; # String | -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->unlockOrchestrationRequestForReqId(requestId => $requestId, version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfracloudResourcesRequestsApi->unlockOrchestrationRequestForReqId: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfracloudResourcesRequests-unlockOrchestrationRequestForReqId-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfracloudResourcesRequestsApi() -requestId = requestId_example # String | -version = version_example # String | -body = body_example # String | (optional) - -try: - # Unlock CloudOrchestration requests for a specified requestId - api_instance.unlock_orchestration_request_for_req_id(requestId, version, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfracloudResourcesRequestsApi->unlockOrchestrationRequestForReqId: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">requestId*</td> -<td> - - - <div id="d2e199_unlockOrchestrationRequestForReqId_requestId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_unlockOrchestrationRequestForReqId_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_unlockOrchestrationRequestForReqId_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_unlockOrchestrationRequestForReqId_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-OnapsoinframodelDistributions"> - <h1>OnapsoinframodelDistributions</h1> - <div id="api-OnapsoinframodelDistributions-updateModelDistributionStatus"> - <article id="api-OnapsoinframodelDistributions-updateModelDistributionStatus-0" data-group="User" data-name="updateModelDistributionStatus" data-version="0"> - <div class="pull-left"> - <h1>updateModelDistributionStatus</h1> - <p>Update model distribution status</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/modelDistributions/{version}/distributions/{distributionId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/modelDistributions/{version}/distributions/{distributionId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinframodelDistributionsApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinframodelDistributionsApiExample { - - public static void main(String[] args) { - - OnapsoinframodelDistributionsApi apiInstance = new OnapsoinframodelDistributionsApi(); - String version = version_example; // String | - String distributionId = distributionId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateModelDistributionStatus(version, distributionId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinframodelDistributionsApi#updateModelDistributionStatus"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinframodelDistributionsApi; - -public class OnapsoinframodelDistributionsApiExample { - - public static void main(String[] args) { - OnapsoinframodelDistributionsApi apiInstance = new OnapsoinframodelDistributionsApi(); - String version = version_example; // String | - String distributionId = distributionId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateModelDistributionStatus(version, distributionId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinframodelDistributionsApi#updateModelDistributionStatus"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *distributionId = distributionId_example; // -String *body = body_example; // (optional) - -OnapsoinframodelDistributionsApi *apiInstance = [[OnapsoinframodelDistributionsApi alloc] init]; - -// Update model distribution status -[apiInstance updateModelDistributionStatusWith:version - distributionId:distributionId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinframodelDistributionsApi() - -var version = version_example; // {String} - -var distributionId = distributionId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.updateModelDistributionStatus(version, distributionId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class updateModelDistributionStatusExample - { - public void main() - { - - var apiInstance = new OnapsoinframodelDistributionsApi(); - var version = version_example; // String | - var distributionId = distributionId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Update model distribution status - apiInstance.updateModelDistributionStatus(version, distributionId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinframodelDistributionsApi.updateModelDistributionStatus: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinframodelDistributionsApi(); -$version = version_example; // String | -$distributionId = distributionId_example; // String | -$body = body_example; // String | - -try { - $api_instance->updateModelDistributionStatus($version, $distributionId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinframodelDistributionsApi->updateModelDistributionStatus: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinframodelDistributionsApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinframodelDistributionsApi->new(); -my $version = version_example; # String | -my $distributionId = distributionId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->updateModelDistributionStatus(version => $version, distributionId => $distributionId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinframodelDistributionsApi->updateModelDistributionStatus: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinframodelDistributions-updateModelDistributionStatus-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinframodelDistributionsApi() -version = version_example # String | -distributionId = distributionId_example # String | -body = body_example # String | (optional) - -try: - # Update model distribution status - api_instance.update_model_distribution_status(version, distributionId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinframodelDistributionsApi->updateModelDistributionStatus: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_updateModelDistributionStatus_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">distributionId*</td> -<td> - - - <div id="d2e199_updateModelDistributionStatus_distributionId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_updateModelDistributionStatus_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_updateModelDistributionStatus_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-OnapsoinfraorchestrationRequests"> - <h1>OnapsoinfraorchestrationRequests</h1> - <div id="api-OnapsoinfraorchestrationRequests-getOrchestrationRequest"> - <article id="api-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0" data-group="User" data-name="getOrchestrationRequest" data-version="0"> - <div class="pull-left"> - <h1>getOrchestrationRequest</h1> - <p>Find Orchestrated Requests for a URI Information</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/onap/so/infra/orchestrationRequests/{version}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/onap/so/infra/orchestrationRequests/{version}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraorchestrationRequestsApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraorchestrationRequestsApiExample { - - public static void main(String[] args) { - - OnapsoinfraorchestrationRequestsApi apiInstance = new OnapsoinfraorchestrationRequestsApi(); - String version = version_example; // String | - try { - apiInstance.getOrchestrationRequest(version); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraorchestrationRequestsApi#getOrchestrationRequest"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraorchestrationRequestsApi; - -public class OnapsoinfraorchestrationRequestsApiExample { - - public static void main(String[] args) { - OnapsoinfraorchestrationRequestsApi apiInstance = new OnapsoinfraorchestrationRequestsApi(); - String version = version_example; // String | - try { - apiInstance.getOrchestrationRequest(version); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraorchestrationRequestsApi#getOrchestrationRequest"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // - -OnapsoinfraorchestrationRequestsApi *apiInstance = [[OnapsoinfraorchestrationRequestsApi alloc] init]; - -// Find Orchestrated Requests for a URI Information -[apiInstance getOrchestrationRequestWith:version - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraorchestrationRequestsApi() - -var version = version_example; // {String} - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.getOrchestrationRequest(version, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class getOrchestrationRequestExample - { - public void main() - { - - var apiInstance = new OnapsoinfraorchestrationRequestsApi(); - var version = version_example; // String | - - try - { - // Find Orchestrated Requests for a URI Information - apiInstance.getOrchestrationRequest(version); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraorchestrationRequestsApi.getOrchestrationRequest: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraorchestrationRequestsApi(); -$version = version_example; // String | - -try { - $api_instance->getOrchestrationRequest($version); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraorchestrationRequestsApi->getOrchestrationRequest: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraorchestrationRequestsApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraorchestrationRequestsApi->new(); -my $version = version_example; # String | - -eval { - $api_instance->getOrchestrationRequest(version => $version); -}; -if ($@) { - warn "Exception when calling OnapsoinfraorchestrationRequestsApi->getOrchestrationRequest: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequest-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraorchestrationRequestsApi() -version = version_example # String | - -try: - # Find Orchestrated Requests for a URI Information - api_instance.get_orchestration_request(version) -except ApiException as e: - print("Exception when calling OnapsoinfraorchestrationRequestsApi->getOrchestrationRequest: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_getOrchestrationRequest_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId"> - <article id="api-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0" data-group="User" data-name="getOrchestrationRequestForReqId" data-version="0"> - <div class="pull-left"> - <h1>getOrchestrationRequestForReqId</h1> - <p>Find Orchestrated Requests for a given requestId</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/onap/so/infra/orchestrationRequests/{version}/{requestId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/onap/so/infra/orchestrationRequests/{version}/{requestId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraorchestrationRequestsApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraorchestrationRequestsApiExample { - - public static void main(String[] args) { - - OnapsoinfraorchestrationRequestsApi apiInstance = new OnapsoinfraorchestrationRequestsApi(); - String requestId = requestId_example; // String | - String version = version_example; // String | - try { - apiInstance.getOrchestrationRequestForReqId(requestId, version); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraorchestrationRequestsApi#getOrchestrationRequestForReqId"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraorchestrationRequestsApi; - -public class OnapsoinfraorchestrationRequestsApiExample { - - public static void main(String[] args) { - OnapsoinfraorchestrationRequestsApi apiInstance = new OnapsoinfraorchestrationRequestsApi(); - String requestId = requestId_example; // String | - String version = version_example; // String | - try { - apiInstance.getOrchestrationRequestForReqId(requestId, version); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraorchestrationRequestsApi#getOrchestrationRequestForReqId"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *requestId = requestId_example; // -String *version = version_example; // - -OnapsoinfraorchestrationRequestsApi *apiInstance = [[OnapsoinfraorchestrationRequestsApi alloc] init]; - -// Find Orchestrated Requests for a given requestId -[apiInstance getOrchestrationRequestForReqIdWith:requestId - version:version - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraorchestrationRequestsApi() - -var requestId = requestId_example; // {String} - -var version = version_example; // {String} - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.getOrchestrationRequestForReqId(requestId, version, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class getOrchestrationRequestForReqIdExample - { - public void main() - { - - var apiInstance = new OnapsoinfraorchestrationRequestsApi(); - var requestId = requestId_example; // String | - var version = version_example; // String | - - try - { - // Find Orchestrated Requests for a given requestId - apiInstance.getOrchestrationRequestForReqId(requestId, version); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraorchestrationRequestsApi.getOrchestrationRequestForReqId: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraorchestrationRequestsApi(); -$requestId = requestId_example; // String | -$version = version_example; // String | - -try { - $api_instance->getOrchestrationRequestForReqId($requestId, $version); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraorchestrationRequestsApi->getOrchestrationRequestForReqId: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraorchestrationRequestsApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraorchestrationRequestsApi->new(); -my $requestId = requestId_example; # String | -my $version = version_example; # String | - -eval { - $api_instance->getOrchestrationRequestForReqId(requestId => $requestId, version => $version); -}; -if ($@) { - warn "Exception when calling OnapsoinfraorchestrationRequestsApi->getOrchestrationRequestForReqId: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-getOrchestrationRequestForReqId-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraorchestrationRequestsApi() -requestId = requestId_example # String | -version = version_example # String | - -try: - # Find Orchestrated Requests for a given requestId - api_instance.get_orchestration_request_for_req_id(requestId, version) -except ApiException as e: - print("Exception when calling OnapsoinfraorchestrationRequestsApi->getOrchestrationRequestForReqId: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">requestId*</td> -<td> - - - <div id="d2e199_getOrchestrationRequestForReqId_requestId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_getOrchestrationRequestForReqId_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest"> - <article id="api-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0" data-group="User" data-name="unlockOrchestrationRequest" data-version="0"> - <div class="pull-left"> - <h1>unlockOrchestrationRequest</h1> - <p>Unlock Orchestrated Requests for a given requestId</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/orchestrationRequests/{version}/{requestId}/unlock</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/orchestrationRequests/{version}/{requestId}/unlock"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraorchestrationRequestsApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraorchestrationRequestsApiExample { - - public static void main(String[] args) { - - OnapsoinfraorchestrationRequestsApi apiInstance = new OnapsoinfraorchestrationRequestsApi(); - String requestId = requestId_example; // String | - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.unlockOrchestrationRequest(requestId, version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraorchestrationRequestsApi#unlockOrchestrationRequest"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraorchestrationRequestsApi; - -public class OnapsoinfraorchestrationRequestsApiExample { - - public static void main(String[] args) { - OnapsoinfraorchestrationRequestsApi apiInstance = new OnapsoinfraorchestrationRequestsApi(); - String requestId = requestId_example; // String | - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.unlockOrchestrationRequest(requestId, version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraorchestrationRequestsApi#unlockOrchestrationRequest"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *requestId = requestId_example; // -String *version = version_example; // -String *body = body_example; // (optional) - -OnapsoinfraorchestrationRequestsApi *apiInstance = [[OnapsoinfraorchestrationRequestsApi alloc] init]; - -// Unlock Orchestrated Requests for a given requestId -[apiInstance unlockOrchestrationRequestWith:requestId - version:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraorchestrationRequestsApi() - -var requestId = requestId_example; // {String} - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.unlockOrchestrationRequest(requestId, version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class unlockOrchestrationRequestExample - { - public void main() - { - - var apiInstance = new OnapsoinfraorchestrationRequestsApi(); - var requestId = requestId_example; // String | - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Unlock Orchestrated Requests for a given requestId - apiInstance.unlockOrchestrationRequest(requestId, version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraorchestrationRequestsApi.unlockOrchestrationRequest: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraorchestrationRequestsApi(); -$requestId = requestId_example; // String | -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->unlockOrchestrationRequest($requestId, $version, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraorchestrationRequestsApi->unlockOrchestrationRequest: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraorchestrationRequestsApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraorchestrationRequestsApi->new(); -my $requestId = requestId_example; # String | -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->unlockOrchestrationRequest(requestId => $requestId, version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraorchestrationRequestsApi->unlockOrchestrationRequest: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraorchestrationRequests-unlockOrchestrationRequest-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraorchestrationRequestsApi() -requestId = requestId_example # String | -version = version_example # String | -body = body_example # String | (optional) - -try: - # Unlock Orchestrated Requests for a given requestId - api_instance.unlock_orchestration_request(requestId, version, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraorchestrationRequestsApi->unlockOrchestrationRequest: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">requestId*</td> -<td> - - - <div id="d2e199_unlockOrchestrationRequest_requestId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_unlockOrchestrationRequest_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_unlockOrchestrationRequest_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_unlockOrchestrationRequest_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-OnapsoinfraserviceInstantiation"> - <h1>OnapsoinfraserviceInstantiation</h1> - <div id="api-OnapsoinfraserviceInstantiation-activatePort"> - <article id="api-OnapsoinfraserviceInstantiation-activatePort-0" data-group="User" data-name="activatePort" data-version="0"> - <div class="pull-left"> - <h1>activatePort</h1> - <p>Activate Port Mirroring</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/activate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activatePort-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/activate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.activatePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#activatePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.activatePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#activatePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *configurationInstanceId = configurationInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Activate Port Mirroring -[apiInstance activatePortWith:version - serviceInstanceId:serviceInstanceId - configurationInstanceId:configurationInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var configurationInstanceId = configurationInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.activatePort(version, serviceInstanceId, configurationInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class activatePortExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var configurationInstanceId = configurationInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Activate Port Mirroring - apiInstance.activatePort(version, serviceInstanceId, configurationInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.activatePort: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$configurationInstanceId = configurationInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->activatePort($version, $serviceInstanceId, $configurationInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->activatePort: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $configurationInstanceId = configurationInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->activatePort(version => $version, serviceInstanceId => $serviceInstanceId, configurationInstanceId => $configurationInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->activatePort: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activatePort-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -configurationInstanceId = configurationInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Activate Port Mirroring - api_instance.activate_port(version, serviceInstanceId, configurationInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->activatePort: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_activatePort_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_activatePort_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">configurationInstanceId*</td> -<td> - - - <div id="d2e199_activatePort_configurationInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_activatePort_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_activatePort_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-activateServiceInstance"> - <article id="api-OnapsoinfraserviceInstantiation-activateServiceInstance-0" data-group="User" data-name="activateServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>activateServiceInstance</h1> - <p>Activate provided Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/activate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/activate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.activateServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#activateServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.activateServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#activateServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Activate provided Service Instance -[apiInstance activateServiceInstanceWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.activateServiceInstance(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class activateServiceInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Activate provided Service Instance - apiInstance.activateServiceInstance(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.activateServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->activateServiceInstance($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->activateServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->activateServiceInstance(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->activateServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-activateServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Activate provided Service Instance - api_instance.activate_service_instance(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->activateServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_activateServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_activateServiceInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_activateServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_activateServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-addRelationships"> - <article id="api-OnapsoinfraserviceInstantiation-addRelationships-0" data-group="User" data-name="addRelationships" data-version="0"> - <div class="pull-left"> - <h1>addRelationships</h1> - <p>Add Relationships to a Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/addRelationships</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-addRelationships-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/addRelationships"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.addRelationships(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#addRelationships"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.addRelationships(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#addRelationships"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Add Relationships to a Service Instance -[apiInstance addRelationshipsWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.addRelationships(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class addRelationshipsExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Add Relationships to a Service Instance - apiInstance.addRelationships(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.addRelationships: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->addRelationships($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->addRelationships: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->addRelationships(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->addRelationships: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-addRelationships-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Add Relationships to a Service Instance - api_instance.add_relationships(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->addRelationships: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_addRelationships_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_addRelationships_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_addRelationships_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_addRelationships_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-applyUpdatedConfig"> - <article id="api-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0" data-group="User" data-name="applyUpdatedConfig" data-version="0"> - <div class="pull-left"> - <h1>applyUpdatedConfig</h1> - <p>Apply updated configuration</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/applyUpdatedConfig</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/applyUpdatedConfig"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.applyUpdatedConfig(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#applyUpdatedConfig"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.applyUpdatedConfig(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#applyUpdatedConfig"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Apply updated configuration -[apiInstance applyUpdatedConfigWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.applyUpdatedConfig(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class applyUpdatedConfigExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Apply updated configuration - apiInstance.applyUpdatedConfig(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.applyUpdatedConfig: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->applyUpdatedConfig($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->applyUpdatedConfig: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->applyUpdatedConfig(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->applyUpdatedConfig: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-applyUpdatedConfig-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Apply updated configuration - api_instance.apply_updated_config(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->applyUpdatedConfig: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_applyUpdatedConfig_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_applyUpdatedConfig_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_applyUpdatedConfig_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_applyUpdatedConfig_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_applyUpdatedConfig_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-assignServiceInstance"> - <article id="api-OnapsoinfraserviceInstantiation-assignServiceInstance-0" data-group="User" data-name="assignServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>assignServiceInstance</h1> - <p>Assign Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/assign</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/assign"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.assignServiceInstance(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#assignServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.assignServiceInstance(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#assignServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Assign Service Instance -[apiInstance assignServiceInstanceWith:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.assignServiceInstance(version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class assignServiceInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Assign Service Instance - apiInstance.assignServiceInstance(version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.assignServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->assignServiceInstance($version, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->assignServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->assignServiceInstance(version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->assignServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-assignServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -body = body_example # String | (optional) - -try: - # Assign Service Instance - api_instance.assign_service_instance(version, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->assignServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_assignServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_assignServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_assignServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-createNetworkInstance"> - <article id="api-OnapsoinfraserviceInstantiation-createNetworkInstance-0" data-group="User" data-name="createNetworkInstance" data-version="0"> - <div class="pull-left"> - <h1>createNetworkInstance</h1> - <p>Create NetworkInstance on a specified version and serviceInstance </p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/networks</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/networks"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createNetworkInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createNetworkInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createNetworkInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createNetworkInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create NetworkInstance on a specified version and serviceInstance -[apiInstance createNetworkInstanceWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createNetworkInstance(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createNetworkInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create NetworkInstance on a specified version and serviceInstance - apiInstance.createNetworkInstance(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.createNetworkInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->createNetworkInstance($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->createNetworkInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createNetworkInstance(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->createNetworkInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createNetworkInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Create NetworkInstance on a specified version and serviceInstance - api_instance.create_network_instance(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->createNetworkInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createNetworkInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_createNetworkInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createNetworkInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createNetworkInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-createPortConfiguration"> - <article id="api-OnapsoinfraserviceInstantiation-createPortConfiguration-0" data-group="User" data-name="createPortConfiguration" data-version="0"> - <div class="pull-left"> - <h1>createPortConfiguration</h1> - <p>Create Port Mirroring Configuration</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createPortConfiguration(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createPortConfiguration"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createPortConfiguration(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createPortConfiguration"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create Port Mirroring Configuration -[apiInstance createPortConfigurationWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createPortConfiguration(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createPortConfigurationExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create Port Mirroring Configuration - apiInstance.createPortConfiguration(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.createPortConfiguration: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->createPortConfiguration($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->createPortConfiguration: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createPortConfiguration(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->createPortConfiguration: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createPortConfiguration-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Create Port Mirroring Configuration - api_instance.create_port_configuration(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->createPortConfiguration: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createPortConfiguration_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_createPortConfiguration_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createPortConfiguration_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createPortConfiguration_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-createServiceInstance"> - <article id="api-OnapsoinfraserviceInstantiation-createServiceInstance-0" data-group="User" data-name="createServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>createServiceInstance</h1> - <p>Create a Service Instance on a version provided</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.createServiceInstance(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String body = body_example; // String | - try { - apiInstance.createServiceInstance(version, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create a Service Instance on a version provided -[apiInstance createServiceInstanceWith:version - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createServiceInstance(version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createServiceInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create a Service Instance on a version provided - apiInstance.createServiceInstance(version, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.createServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$body = body_example; // String | - -try { - $api_instance->createServiceInstance($version, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->createServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createServiceInstance(version => $version, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->createServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -body = body_example # String | (optional) - -try: - # Create a Service Instance on a version provided - api_instance.create_service_instance(version, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->createServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-createVfModuleInstance"> - <article id="api-OnapsoinfraserviceInstantiation-createVfModuleInstance-0" data-group="User" data-name="createVfModuleInstance" data-version="0"> - <div class="pull-left"> - <h1>createVfModuleInstance</h1> - <p>Create VfModule on a specified version, serviceInstance and vnfInstance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createVfModuleInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createVfModuleInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create VfModule on a specified version, serviceInstance and vnfInstance -[apiInstance createVfModuleInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createVfModuleInstance(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createVfModuleInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create VfModule on a specified version, serviceInstance and vnfInstance - apiInstance.createVfModuleInstance(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.createVfModuleInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->createVfModuleInstance($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->createVfModuleInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createVfModuleInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->createVfModuleInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVfModuleInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Create VfModule on a specified version, serviceInstance and vnfInstance - api_instance.create_vf_module_instance(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->createVfModuleInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createVfModuleInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_createVfModuleInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_createVfModuleInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createVfModuleInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createVfModuleInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-createVnfInstance"> - <article id="api-OnapsoinfraserviceInstantiation-createVnfInstance-0" data-group="User" data-name="createVnfInstance" data-version="0"> - <div class="pull-left"> - <h1>createVnfInstance</h1> - <p>Create VNF on a specified version and serviceInstance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createVnfInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createVnfInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create VNF on a specified version and serviceInstance -[apiInstance createVnfInstanceWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createVnfInstance(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createVnfInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create VNF on a specified version and serviceInstance - apiInstance.createVnfInstance(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.createVnfInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->createVnfInstance($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->createVnfInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createVnfInstance(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->createVnfInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVnfInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Create VNF on a specified version and serviceInstance - api_instance.create_vnf_instance(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->createVnfInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createVnfInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_createVnfInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createVnfInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createVnfInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-createVolumeGroupInstance"> - <article id="api-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0" data-group="User" data-name="createVolumeGroupInstance" data-version="0"> - <div class="pull-left"> - <h1>createVolumeGroupInstance</h1> - <p>Create VolumeGroup on a specified version, serviceInstance, vnfInstance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createVolumeGroupInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.createVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#createVolumeGroupInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create VolumeGroup on a specified version, serviceInstance, vnfInstance -[apiInstance createVolumeGroupInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.createVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class createVolumeGroupInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create VolumeGroup on a specified version, serviceInstance, vnfInstance - apiInstance.createVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.createVolumeGroupInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->createVolumeGroupInstance($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->createVolumeGroupInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->createVolumeGroupInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->createVolumeGroupInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-createVolumeGroupInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Create VolumeGroup on a specified version, serviceInstance, vnfInstance - api_instance.create_volume_group_instance(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->createVolumeGroupInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_createVolumeGroupInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_createVolumeGroupInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_createVolumeGroupInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_createVolumeGroupInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_createVolumeGroupInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0" data-group="User" data-name="deactivateAndCloudDeleteVfModuleInstance" data-version="0"> - <div class="pull-left"> - <h1>deactivateAndCloudDeleteVfModuleInstance</h1> - <p>Deactivate and Cloud Delete VfModule instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/deactivateAndCloudDelete</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/deactivateAndCloudDelete"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivateAndCloudDeleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deactivateAndCloudDeleteVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivateAndCloudDeleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deactivateAndCloudDeleteVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *vfmoduleInstanceId = vfmoduleInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Deactivate and Cloud Delete VfModule instance -[apiInstance deactivateAndCloudDeleteVfModuleInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - vfmoduleInstanceId:vfmoduleInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var vfmoduleInstanceId = vfmoduleInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deactivateAndCloudDeleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deactivateAndCloudDeleteVfModuleInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Deactivate and Cloud Delete VfModule instance - apiInstance.deactivateAndCloudDeleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deactivateAndCloudDeleteVfModuleInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$vfmoduleInstanceId = vfmoduleInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deactivateAndCloudDeleteVfModuleInstance($version, $serviceInstanceId, $vnfInstanceId, $vfmoduleInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deactivateAndCloudDeleteVfModuleInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $vfmoduleInstanceId = vfmoduleInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deactivateAndCloudDeleteVfModuleInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, vfmoduleInstanceId => $vfmoduleInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deactivateAndCloudDeleteVfModuleInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateAndCloudDeleteVfModuleInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -vfmoduleInstanceId = vfmoduleInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Deactivate and Cloud Delete VfModule instance - api_instance.deactivate_and_cloud_delete_vf_module_instance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deactivateAndCloudDeleteVfModuleInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deactivateAndCloudDeleteVfModuleInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deactivateAndCloudDeleteVfModuleInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_deactivateAndCloudDeleteVfModuleInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vfmoduleInstanceId*</td> -<td> - - - <div id="d2e199_deactivateAndCloudDeleteVfModuleInstance_vfmoduleInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deactivateAndCloudDeleteVfModuleInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deactivateAndCloudDeleteVfModuleInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deactivatePort"> - <article id="api-OnapsoinfraserviceInstantiation-deactivatePort-0" data-group="User" data-name="deactivatePort" data-version="0"> - <div class="pull-left"> - <h1>deactivatePort</h1> - <p>Deactivate Port Mirroring</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/deactivate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivatePort-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/deactivate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivatePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deactivatePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivatePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deactivatePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *configurationInstanceId = configurationInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Deactivate Port Mirroring -[apiInstance deactivatePortWith:version - serviceInstanceId:serviceInstanceId - configurationInstanceId:configurationInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var configurationInstanceId = configurationInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deactivatePort(version, serviceInstanceId, configurationInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deactivatePortExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var configurationInstanceId = configurationInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Deactivate Port Mirroring - apiInstance.deactivatePort(version, serviceInstanceId, configurationInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deactivatePort: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$configurationInstanceId = configurationInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deactivatePort($version, $serviceInstanceId, $configurationInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deactivatePort: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $configurationInstanceId = configurationInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deactivatePort(version => $version, serviceInstanceId => $serviceInstanceId, configurationInstanceId => $configurationInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deactivatePort: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivatePort-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -configurationInstanceId = configurationInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Deactivate Port Mirroring - api_instance.deactivate_port(version, serviceInstanceId, configurationInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deactivatePort: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deactivatePort_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deactivatePort_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">configurationInstanceId*</td> -<td> - - - <div id="d2e199_deactivatePort_configurationInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deactivatePort_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deactivatePort_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deactivateServiceInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0" data-group="User" data-name="deactivateServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>deactivateServiceInstance</h1> - <p>Deactivate provided Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/deactivate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/deactivate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivateServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deactivateServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deactivateServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deactivateServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Deactivate provided Service Instance -[apiInstance deactivateServiceInstanceWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deactivateServiceInstance(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deactivateServiceInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Deactivate provided Service Instance - apiInstance.deactivateServiceInstance(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deactivateServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deactivateServiceInstance($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deactivateServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deactivateServiceInstance(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deactivateServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deactivateServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Deactivate provided Service Instance - api_instance.deactivate_service_instance(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deactivateServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deactivateServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deactivateServiceInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deactivateServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deactivateServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deleteNetworkInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0" data-group="User" data-name="deleteNetworkInstance" data-version="0"> - <div class="pull-left"> - <h1>deleteNetworkInstance</h1> - <p>Delete provided Network instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String networkInstanceId = networkInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteNetworkInstance(version, serviceInstanceId, networkInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteNetworkInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String networkInstanceId = networkInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteNetworkInstance(version, serviceInstanceId, networkInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteNetworkInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *networkInstanceId = networkInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Delete provided Network instance -[apiInstance deleteNetworkInstanceWith:version - serviceInstanceId:serviceInstanceId - networkInstanceId:networkInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var networkInstanceId = networkInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deleteNetworkInstance(version, serviceInstanceId, networkInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deleteNetworkInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var networkInstanceId = networkInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete provided Network instance - apiInstance.deleteNetworkInstance(version, serviceInstanceId, networkInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deleteNetworkInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$networkInstanceId = networkInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deleteNetworkInstance($version, $serviceInstanceId, $networkInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deleteNetworkInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $networkInstanceId = networkInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deleteNetworkInstance(version => $version, serviceInstanceId => $serviceInstanceId, networkInstanceId => $networkInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deleteNetworkInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteNetworkInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -networkInstanceId = networkInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Delete provided Network instance - api_instance.delete_network_instance(version, serviceInstanceId, networkInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deleteNetworkInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deleteNetworkInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deleteNetworkInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">networkInstanceId*</td> -<td> - - - <div id="d2e199_deleteNetworkInstance_networkInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deleteNetworkInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deleteNetworkInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deletePortConfiguration"> - <article id="api-OnapsoinfraserviceInstantiation-deletePortConfiguration-0" data-group="User" data-name="deletePortConfiguration" data-version="0"> - <div class="pull-left"> - <h1>deletePortConfiguration</h1> - <p>Delete provided Port</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deletePortConfiguration(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deletePortConfiguration"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deletePortConfiguration(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deletePortConfiguration"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *configurationInstanceId = configurationInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Delete provided Port -[apiInstance deletePortConfigurationWith:version - serviceInstanceId:serviceInstanceId - configurationInstanceId:configurationInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var configurationInstanceId = configurationInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deletePortConfiguration(version, serviceInstanceId, configurationInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deletePortConfigurationExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var configurationInstanceId = configurationInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete provided Port - apiInstance.deletePortConfiguration(version, serviceInstanceId, configurationInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deletePortConfiguration: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$configurationInstanceId = configurationInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deletePortConfiguration($version, $serviceInstanceId, $configurationInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deletePortConfiguration: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $configurationInstanceId = configurationInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deletePortConfiguration(version => $version, serviceInstanceId => $serviceInstanceId, configurationInstanceId => $configurationInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deletePortConfiguration: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deletePortConfiguration-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -configurationInstanceId = configurationInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Delete provided Port - api_instance.delete_port_configuration(version, serviceInstanceId, configurationInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deletePortConfiguration: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deletePortConfiguration_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deletePortConfiguration_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">configurationInstanceId*</td> -<td> - - - <div id="d2e199_deletePortConfiguration_configurationInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deletePortConfiguration_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deletePortConfiguration_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deleteServiceInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deleteServiceInstance-0" data-group="User" data-name="deleteServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>deleteServiceInstance</h1> - <p>Delete provided Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Delete provided Service Instance -[apiInstance deleteServiceInstanceWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deleteServiceInstance(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deleteServiceInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete provided Service Instance - apiInstance.deleteServiceInstance(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deleteServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deleteServiceInstance($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deleteServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deleteServiceInstance(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deleteServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Delete provided Service Instance - api_instance.delete_service_instance(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deleteServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deleteServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deleteServiceInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deleteServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deleteServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deleteVfModuleInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0" data-group="User" data-name="deleteVfModuleInstance" data-version="0"> - <div class="pull-left"> - <h1>deleteVfModuleInstance</h1> - <p>Delete provided VfModule instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *vfmoduleInstanceId = vfmoduleInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Delete provided VfModule instance -[apiInstance deleteVfModuleInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - vfmoduleInstanceId:vfmoduleInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var vfmoduleInstanceId = vfmoduleInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deleteVfModuleInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete provided VfModule instance - apiInstance.deleteVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deleteVfModuleInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$vfmoduleInstanceId = vfmoduleInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deleteVfModuleInstance($version, $serviceInstanceId, $vnfInstanceId, $vfmoduleInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deleteVfModuleInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $vfmoduleInstanceId = vfmoduleInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deleteVfModuleInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, vfmoduleInstanceId => $vfmoduleInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deleteVfModuleInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVfModuleInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -vfmoduleInstanceId = vfmoduleInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Delete provided VfModule instance - api_instance.delete_vf_module_instance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deleteVfModuleInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deleteVfModuleInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deleteVfModuleInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_deleteVfModuleInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vfmoduleInstanceId*</td> -<td> - - - <div id="d2e199_deleteVfModuleInstance_vfmoduleInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deleteVfModuleInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deleteVfModuleInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deleteVnfInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deleteVnfInstance-0" data-group="User" data-name="deleteVnfInstance" data-version="0"> - <div class="pull-left"> - <h1>deleteVnfInstance</h1> - <p>Delete provided VNF instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Delete provided VNF instance -[apiInstance deleteVnfInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deleteVnfInstance(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deleteVnfInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete provided VNF instance - apiInstance.deleteVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deleteVnfInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deleteVnfInstance($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deleteVnfInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deleteVnfInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deleteVnfInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVnfInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Delete provided VNF instance - api_instance.delete_vnf_instance(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deleteVnfInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deleteVnfInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deleteVnfInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_deleteVnfInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deleteVnfInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deleteVnfInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance"> - <article id="api-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0" data-group="User" data-name="deleteVolumeGroupInstance" data-version="0"> - <div class="pull-left"> - <h1>deleteVolumeGroupInstance</h1> - <p>Delete provided VolumeGroup instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="delete"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X DELETE "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String volumeGroupInstanceId = volumeGroupInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteVolumeGroupInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String volumeGroupInstanceId = volumeGroupInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.deleteVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#deleteVolumeGroupInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *volumeGroupInstanceId = volumeGroupInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Delete provided VolumeGroup instance -[apiInstance deleteVolumeGroupInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - volumeGroupInstanceId:volumeGroupInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var volumeGroupInstanceId = volumeGroupInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.deleteVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class deleteVolumeGroupInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var volumeGroupInstanceId = volumeGroupInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Delete provided VolumeGroup instance - apiInstance.deleteVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.deleteVolumeGroupInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$volumeGroupInstanceId = volumeGroupInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->deleteVolumeGroupInstance($version, $serviceInstanceId, $vnfInstanceId, $volumeGroupInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->deleteVolumeGroupInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $volumeGroupInstanceId = volumeGroupInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->deleteVolumeGroupInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, volumeGroupInstanceId => $volumeGroupInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->deleteVolumeGroupInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-deleteVolumeGroupInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -volumeGroupInstanceId = volumeGroupInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Delete provided VolumeGroup instance - api_instance.delete_volume_group_instance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->deleteVolumeGroupInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_deleteVolumeGroupInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_deleteVolumeGroupInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_deleteVolumeGroupInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">volumeGroupInstanceId*</td> -<td> - - - <div id="d2e199_deleteVolumeGroupInstance_volumeGroupInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_deleteVolumeGroupInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_deleteVolumeGroupInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-disablePort"> - <article id="api-OnapsoinfraserviceInstantiation-disablePort-0" data-group="User" data-name="disablePort" data-version="0"> - <div class="pull-left"> - <h1>disablePort</h1> - <p>Disable Port Mirroring</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/disablePort</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-disablePort-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/disablePort"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.disablePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#disablePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.disablePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#disablePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *configurationInstanceId = configurationInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Disable Port Mirroring -[apiInstance disablePortWith:version - serviceInstanceId:serviceInstanceId - configurationInstanceId:configurationInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var configurationInstanceId = configurationInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.disablePort(version, serviceInstanceId, configurationInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class disablePortExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var configurationInstanceId = configurationInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Disable Port Mirroring - apiInstance.disablePort(version, serviceInstanceId, configurationInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.disablePort: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$configurationInstanceId = configurationInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->disablePort($version, $serviceInstanceId, $configurationInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->disablePort: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $configurationInstanceId = configurationInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->disablePort(version => $version, serviceInstanceId => $serviceInstanceId, configurationInstanceId => $configurationInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->disablePort: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-disablePort-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -configurationInstanceId = configurationInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Disable Port Mirroring - api_instance.disable_port(version, serviceInstanceId, configurationInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->disablePort: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_disablePort_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_disablePort_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">configurationInstanceId*</td> -<td> - - - <div id="d2e199_disablePort_configurationInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_disablePort_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_disablePort_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-enablePort"> - <article id="api-OnapsoinfraserviceInstantiation-enablePort-0" data-group="User" data-name="enablePort" data-version="0"> - <div class="pull-left"> - <h1>enablePort</h1> - <p>Enable Port Mirroring</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/enablePort</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-enablePort-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/configurations/{configurationInstanceId}/enablePort"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.enablePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#enablePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String configurationInstanceId = configurationInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.enablePort(version, serviceInstanceId, configurationInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#enablePort"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *configurationInstanceId = configurationInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Enable Port Mirroring -[apiInstance enablePortWith:version - serviceInstanceId:serviceInstanceId - configurationInstanceId:configurationInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var configurationInstanceId = configurationInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.enablePort(version, serviceInstanceId, configurationInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class enablePortExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var configurationInstanceId = configurationInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Enable Port Mirroring - apiInstance.enablePort(version, serviceInstanceId, configurationInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.enablePort: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$configurationInstanceId = configurationInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->enablePort($version, $serviceInstanceId, $configurationInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->enablePort: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $configurationInstanceId = configurationInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->enablePort(version => $version, serviceInstanceId => $serviceInstanceId, configurationInstanceId => $configurationInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->enablePort: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-enablePort-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -configurationInstanceId = configurationInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Enable Port Mirroring - api_instance.enable_port(version, serviceInstanceId, configurationInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->enablePort: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_enablePort_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_enablePort_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">configurationInstanceId*</td> -<td> - - - <div id="d2e199_enablePort_configurationInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_enablePort_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_enablePort_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate"> - <article id="api-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0" data-group="User" data-name="inPlaceSoftwareUpdate" data-version="0"> - <div class="pull-left"> - <h1>inPlaceSoftwareUpdate</h1> - <p>Perform VNF software update</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/inPlaceSoftwareUpdate</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/inPlaceSoftwareUpdate"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.inPlaceSoftwareUpdate(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#inPlaceSoftwareUpdate"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.inPlaceSoftwareUpdate(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#inPlaceSoftwareUpdate"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Perform VNF software update -[apiInstance inPlaceSoftwareUpdateWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.inPlaceSoftwareUpdate(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class inPlaceSoftwareUpdateExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Perform VNF software update - apiInstance.inPlaceSoftwareUpdate(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.inPlaceSoftwareUpdate: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->inPlaceSoftwareUpdate($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->inPlaceSoftwareUpdate: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->inPlaceSoftwareUpdate(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->inPlaceSoftwareUpdate: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-inPlaceSoftwareUpdate-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Perform VNF software update - api_instance.in_place_software_update(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->inPlaceSoftwareUpdate: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_inPlaceSoftwareUpdate_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_inPlaceSoftwareUpdate_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_inPlaceSoftwareUpdate_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_inPlaceSoftwareUpdate_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_inPlaceSoftwareUpdate_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-removeRelationships"> - <article id="api-OnapsoinfraserviceInstantiation-removeRelationships-0" data-group="User" data-name="removeRelationships" data-version="0"> - <div class="pull-left"> - <h1>removeRelationships</h1> - <p>Remove Relationships from Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/removeRelationships</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-removeRelationships-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/removeRelationships"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.removeRelationships(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#removeRelationships"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.removeRelationships(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#removeRelationships"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Remove Relationships from Service Instance -[apiInstance removeRelationshipsWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.removeRelationships(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class removeRelationshipsExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Remove Relationships from Service Instance - apiInstance.removeRelationships(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.removeRelationships: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->removeRelationships($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->removeRelationships: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->removeRelationships(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->removeRelationships: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-removeRelationships-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Remove Relationships from Service Instance - api_instance.remove_relationships(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->removeRelationships: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_removeRelationships_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_removeRelationships_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_removeRelationships_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_removeRelationships_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-replaceVfModuleInstance"> - <article id="api-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0" data-group="User" data-name="replaceVfModuleInstance" data-version="0"> - <div class="pull-left"> - <h1>replaceVfModuleInstance</h1> - <p>Create VfModule on a specified version, serviceInstance and vnfInstance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/replace</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}/replace"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.replaceVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#replaceVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.replaceVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#replaceVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *vfmoduleInstanceId = vfmoduleInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Create VfModule on a specified version, serviceInstance and vnfInstance -[apiInstance replaceVfModuleInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - vfmoduleInstanceId:vfmoduleInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var vfmoduleInstanceId = vfmoduleInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.replaceVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class replaceVfModuleInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Create VfModule on a specified version, serviceInstance and vnfInstance - apiInstance.replaceVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.replaceVfModuleInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$vfmoduleInstanceId = vfmoduleInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->replaceVfModuleInstance($version, $serviceInstanceId, $vnfInstanceId, $vfmoduleInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->replaceVfModuleInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $vfmoduleInstanceId = vfmoduleInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->replaceVfModuleInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, vfmoduleInstanceId => $vfmoduleInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->replaceVfModuleInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVfModuleInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -vfmoduleInstanceId = vfmoduleInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Create VfModule on a specified version, serviceInstance and vnfInstance - api_instance.replace_vf_module_instance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->replaceVfModuleInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_replaceVfModuleInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_replaceVfModuleInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_replaceVfModuleInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vfmoduleInstanceId*</td> -<td> - - - <div id="d2e199_replaceVfModuleInstance_vfmoduleInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_replaceVfModuleInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_replaceVfModuleInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-replaceVnfInstance"> - <article id="api-OnapsoinfraserviceInstantiation-replaceVnfInstance-0" data-group="User" data-name="replaceVnfInstance" data-version="0"> - <div class="pull-left"> - <h1>replaceVnfInstance</h1> - <p>Replace provided VNF instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/replace</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/replace"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.replaceVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#replaceVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.replaceVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#replaceVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Replace provided VNF instance -[apiInstance replaceVnfInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.replaceVnfInstance(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class replaceVnfInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Replace provided VNF instance - apiInstance.replaceVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.replaceVnfInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->replaceVnfInstance($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->replaceVnfInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->replaceVnfInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->replaceVnfInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-replaceVnfInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Replace provided VNF instance - api_instance.replace_vnf_instance(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->replaceVnfInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_replaceVnfInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_replaceVnfInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_replaceVnfInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_replaceVnfInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_replaceVnfInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-scaleOutVfModule"> - <article id="api-OnapsoinfraserviceInstantiation-scaleOutVfModule-0" data-group="User" data-name="scaleOutVfModule" data-version="0"> - <div class="pull-left"> - <h1>scaleOutVfModule</h1> - <p>VF Auto Scale Out</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/scaleOut</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/scaleOut"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.scaleOutVfModule(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#scaleOutVfModule"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.scaleOutVfModule(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#scaleOutVfModule"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// VF Auto Scale Out -[apiInstance scaleOutVfModuleWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.scaleOutVfModule(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class scaleOutVfModuleExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // VF Auto Scale Out - apiInstance.scaleOutVfModule(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.scaleOutVfModule: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->scaleOutVfModule($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->scaleOutVfModule: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->scaleOutVfModule(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->scaleOutVfModule: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-scaleOutVfModule-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # VF Auto Scale Out - api_instance.scale_out_vf_module(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->scaleOutVfModule: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_scaleOutVfModule_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_scaleOutVfModule_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_scaleOutVfModule_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_scaleOutVfModule_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_scaleOutVfModule_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-unassignServiceInstance"> - <article id="api-OnapsoinfraserviceInstantiation-unassignServiceInstance-0" data-group="User" data-name="unassignServiceInstance" data-version="0"> - <div class="pull-left"> - <h1>unassignServiceInstance</h1> - <p>Unassign Service Instance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="post"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/unassign</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X POST "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/unassign"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.unassignServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#unassignServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.unassignServiceInstance(version, serviceInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#unassignServiceInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Unassign Service Instance -[apiInstance unassignServiceInstanceWith:version - serviceInstanceId:serviceInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.unassignServiceInstance(version, serviceInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class unassignServiceInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Unassign Service Instance - apiInstance.unassignServiceInstance(version, serviceInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.unassignServiceInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->unassignServiceInstance($version, $serviceInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->unassignServiceInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->unassignServiceInstance(version => $version, serviceInstanceId => $serviceInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->unassignServiceInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-unassignServiceInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Unassign Service Instance - api_instance.unassign_service_instance(version, serviceInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->unassignServiceInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_unassignServiceInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_unassignServiceInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_unassignServiceInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_unassignServiceInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-updateNetworkInstance"> - <article id="api-OnapsoinfraserviceInstantiation-updateNetworkInstance-0" data-group="User" data-name="updateNetworkInstance" data-version="0"> - <div class="pull-left"> - <h1>updateNetworkInstance</h1> - <p>Update VolumeGroup on a specified version, serviceInstance, networkInstance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X PUT "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/networks/{networkInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String networkInstanceId = networkInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateNetworkInstance(version, serviceInstanceId, networkInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateNetworkInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String networkInstanceId = networkInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateNetworkInstance(version, serviceInstanceId, networkInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateNetworkInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *networkInstanceId = networkInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Update VolumeGroup on a specified version, serviceInstance, networkInstance -[apiInstance updateNetworkInstanceWith:version - serviceInstanceId:serviceInstanceId - networkInstanceId:networkInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var networkInstanceId = networkInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.updateNetworkInstance(version, serviceInstanceId, networkInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class updateNetworkInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var networkInstanceId = networkInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Update VolumeGroup on a specified version, serviceInstance, networkInstance - apiInstance.updateNetworkInstance(version, serviceInstanceId, networkInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.updateNetworkInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$networkInstanceId = networkInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->updateNetworkInstance($version, $serviceInstanceId, $networkInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->updateNetworkInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $networkInstanceId = networkInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->updateNetworkInstance(version => $version, serviceInstanceId => $serviceInstanceId, networkInstanceId => $networkInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->updateNetworkInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateNetworkInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -networkInstanceId = networkInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Update VolumeGroup on a specified version, serviceInstance, networkInstance - api_instance.update_network_instance(version, serviceInstanceId, networkInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->updateNetworkInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_updateNetworkInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_updateNetworkInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">networkInstanceId*</td> -<td> - - - <div id="d2e199_updateNetworkInstance_networkInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_updateNetworkInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_updateNetworkInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-updateVfModuleInstance"> - <article id="api-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0" data-group="User" data-name="updateVfModuleInstance" data-version="0"> - <div class="pull-left"> - <h1>updateVfModuleInstance</h1> - <p>Update VfModule on a specified version, serviceInstance, vnfInstance and vfModule</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X PUT "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/vfModules/{vfmoduleInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateVfModuleInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *vfmoduleInstanceId = vfmoduleInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Update VfModule on a specified version, serviceInstance, vnfInstance and vfModule -[apiInstance updateVfModuleInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - vfmoduleInstanceId:vfmoduleInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var vfmoduleInstanceId = vfmoduleInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.updateVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class updateVfModuleInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var vfmoduleInstanceId = vfmoduleInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Update VfModule on a specified version, serviceInstance, vnfInstance and vfModule - apiInstance.updateVfModuleInstance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.updateVfModuleInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$vfmoduleInstanceId = vfmoduleInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->updateVfModuleInstance($version, $serviceInstanceId, $vnfInstanceId, $vfmoduleInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->updateVfModuleInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $vfmoduleInstanceId = vfmoduleInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->updateVfModuleInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, vfmoduleInstanceId => $vfmoduleInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->updateVfModuleInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVfModuleInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -vfmoduleInstanceId = vfmoduleInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Update VfModule on a specified version, serviceInstance, vnfInstance and vfModule - api_instance.update_vf_module_instance(version, serviceInstanceId, vnfInstanceId, vfmoduleInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->updateVfModuleInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_updateVfModuleInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_updateVfModuleInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_updateVfModuleInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vfmoduleInstanceId*</td> -<td> - - - <div id="d2e199_updateVfModuleInstance_vfmoduleInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_updateVfModuleInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_updateVfModuleInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-updateVnfInstance"> - <article id="api-OnapsoinfraserviceInstantiation-updateVnfInstance-0" data-group="User" data-name="updateVnfInstance" data-version="0"> - <div class="pull-left"> - <h1>updateVnfInstance</h1> - <p>Update VNF on a specified version, serviceInstance and vnfInstance</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X PUT "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateVnfInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Update VNF on a specified version, serviceInstance and vnfInstance -[apiInstance updateVnfInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.updateVnfInstance(version, serviceInstanceId, vnfInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class updateVnfInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Update VNF on a specified version, serviceInstance and vnfInstance - apiInstance.updateVnfInstance(version, serviceInstanceId, vnfInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.updateVnfInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->updateVnfInstance($version, $serviceInstanceId, $vnfInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->updateVnfInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->updateVnfInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->updateVnfInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVnfInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Update VNF on a specified version, serviceInstance and vnfInstance - api_instance.update_vnf_instance(version, serviceInstanceId, vnfInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->updateVnfInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_updateVnfInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_updateVnfInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_updateVnfInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_updateVnfInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_updateVnfInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - <div id="api-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance"> - <article id="api-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0" data-group="User" data-name="updateVolumeGroupInstance" data-version="0"> - <div class="pull-left"> - <h1>updateVolumeGroupInstance</h1> - <p>Update VolumeGroup on a specified version, serviceInstance, vnfInstance and volumeGroup</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="put"><code><span class="pln">/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-curl">Curl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-java">Java</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-android">Android</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-csharp">C#</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-php">PHP</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-perl">Perl</a></li> - <li class=""><a href="#examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X PUT "https://localhost/onap/so/infra/serviceInstantiation/{version}/serviceInstances/{serviceInstanceId}/vnfs/{vnfInstanceId}/volumeGroups/{volumeGroupInstanceId}"</code></pre> - </div> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String volumeGroupInstanceId = volumeGroupInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateVolumeGroupInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfraserviceInstantiationApi; - -public class OnapsoinfraserviceInstantiationApiExample { - - public static void main(String[] args) { - OnapsoinfraserviceInstantiationApi apiInstance = new OnapsoinfraserviceInstantiationApi(); - String version = version_example; // String | - String serviceInstanceId = serviceInstanceId_example; // String | - String vnfInstanceId = vnfInstanceId_example; // String | - String volumeGroupInstanceId = volumeGroupInstanceId_example; // String | - String body = body_example; // String | - try { - apiInstance.updateVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfraserviceInstantiationApi#updateVolumeGroupInstance"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *serviceInstanceId = serviceInstanceId_example; // -String *vnfInstanceId = vnfInstanceId_example; // -String *volumeGroupInstanceId = volumeGroupInstanceId_example; // -String *body = body_example; // (optional) - -OnapsoinfraserviceInstantiationApi *apiInstance = [[OnapsoinfraserviceInstantiationApi alloc] init]; - -// Update VolumeGroup on a specified version, serviceInstance, vnfInstance and volumeGroup -[apiInstance updateVolumeGroupInstanceWith:version - serviceInstanceId:serviceInstanceId - vnfInstanceId:vnfInstanceId - volumeGroupInstanceId:volumeGroupInstanceId - body:body - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfraserviceInstantiationApi() - -var version = version_example; // {String} - -var serviceInstanceId = serviceInstanceId_example; // {String} - -var vnfInstanceId = vnfInstanceId_example; // {String} - -var volumeGroupInstanceId = volumeGroupInstanceId_example; // {String} - -var opts = { - 'body': body_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.updateVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class updateVolumeGroupInstanceExample - { - public void main() - { - - var apiInstance = new OnapsoinfraserviceInstantiationApi(); - var version = version_example; // String | - var serviceInstanceId = serviceInstanceId_example; // String | - var vnfInstanceId = vnfInstanceId_example; // String | - var volumeGroupInstanceId = volumeGroupInstanceId_example; // String | - var body = body_example; // String | (optional) - - try - { - // Update VolumeGroup on a specified version, serviceInstance, vnfInstance and volumeGroup - apiInstance.updateVolumeGroupInstance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfraserviceInstantiationApi.updateVolumeGroupInstance: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfraserviceInstantiationApi(); -$version = version_example; // String | -$serviceInstanceId = serviceInstanceId_example; // String | -$vnfInstanceId = vnfInstanceId_example; // String | -$volumeGroupInstanceId = volumeGroupInstanceId_example; // String | -$body = body_example; // String | - -try { - $api_instance->updateVolumeGroupInstance($version, $serviceInstanceId, $vnfInstanceId, $volumeGroupInstanceId, $body); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfraserviceInstantiationApi->updateVolumeGroupInstance: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfraserviceInstantiationApi->new(); -my $version = version_example; # String | -my $serviceInstanceId = serviceInstanceId_example; # String | -my $vnfInstanceId = vnfInstanceId_example; # String | -my $volumeGroupInstanceId = volumeGroupInstanceId_example; # String | -my $body = WWW::SwaggerClient::Object::String->new(); # String | - -eval { - $api_instance->updateVolumeGroupInstance(version => $version, serviceInstanceId => $serviceInstanceId, vnfInstanceId => $vnfInstanceId, volumeGroupInstanceId => $volumeGroupInstanceId, body => $body); -}; -if ($@) { - warn "Exception when calling OnapsoinfraserviceInstantiationApi->updateVolumeGroupInstance: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-OnapsoinfraserviceInstantiation-updateVolumeGroupInstance-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfraserviceInstantiationApi() -version = version_example # String | -serviceInstanceId = serviceInstanceId_example # String | -vnfInstanceId = vnfInstanceId_example # String | -volumeGroupInstanceId = volumeGroupInstanceId_example # String | -body = body_example # String | (optional) - -try: - # Update VolumeGroup on a specified version, serviceInstance, vnfInstance and volumeGroup - api_instance.update_volume_group_instance(version, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, body=body) -except ApiException as e: - print("Exception when calling OnapsoinfraserviceInstantiationApi->updateVolumeGroupInstance: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_updateVolumeGroupInstance_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">serviceInstanceId*</td> -<td> - - - <div id="d2e199_updateVolumeGroupInstance_serviceInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">vnfInstanceId*</td> -<td> - - - <div id="d2e199_updateVolumeGroupInstance_vnfInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">volumeGroupInstanceId*</td> -<td> - - - <div id="d2e199_updateVolumeGroupInstance_volumeGroupInstanceId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - <div class="methodsubtabletitle">Body parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">body </td> -<td> - - -<script> -$(document).ready(function() { - var schemaWrapper = { - "in" : "body", - "name" : "body", - "required" : false, - "schema" : { - "type" : "string" - } -}; - var schema = schemaWrapper.schema; - if (schema.$ref != null) { - schema = defsParser.$refs.get(schema.$ref); - } else { - schemaWrapper.definitions = Object.assign({}, defs); - $RefParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - } - - var view = new JSONSchemaView(schema,2,{isBodyParam: true}); - var result = $('#d2e199_updateVolumeGroupInstance_body'); - result.empty(); - result.append(view.render()); -}); -</script> -<div id="d2e199_updateVolumeGroupInstance_body"></div> -</td> -</tr> - - </table> - - - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - <section id="api-Onapsoinfratasks"> - <h1>Onapsoinfratasks</h1> - <div id="api-Onapsoinfratasks-queryFilters"> - <article id="api-Onapsoinfratasks-queryFilters-0" data-group="User" data-name="queryFilters" data-version="0"> - <div class="pull-left"> - <h1>queryFilters</h1> - <p>Finds Manual Tasks</p> - </div> - <div class="pull-right"></div> - <div class="clearfix"></div> - <p></p> - <p class="marked"></p> - <p></p> - <br /> - <pre class="prettyprint language-html prettyprinted" data-type="get"><code><span class="pln">/onap/so/infra/tasks/{version}</span></code></pre> - <p> - <h3>Usage and SDK Samples</h3> - </p> - <ul class="nav nav-tabs nav-tabs-examples"> - <li class="active"><a href="#examples-Onapsoinfratasks-queryFilters-0-curl">Curl</a></li> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-java">Java</a></li> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-android">Android</a></li> - <!--<li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-groovy">Groovy</a></li>--> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-objc">Obj-C</a></li> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-javascript">JavaScript</a></li> - <!--<li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-angular">Angular</a></li>--> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-csharp">C#</a></li> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-php">PHP</a></li> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-perl">Perl</a></li> - <li class=""><a href="#examples-Onapsoinfratasks-queryFilters-0-python">Python</a></li> - </ul> - - <div class="tab-content"> - <div class="tab-pane active" id="examples-Onapsoinfratasks-queryFilters-0-curl"> - <pre class="prettyprint"><code class="language-bsh">curl -X GET "https://localhost/onap/so/infra/tasks/{version}?taskId=&originalRequestId=&subscriptionServiceType=&nfRole=&buildingBlockName=&originalRequestDate=&originalRequestorId="</code></pre> - </div> - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-java"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.*; -import io.swagger.client.auth.*; -import io.swagger.client.model.*; -import io.swagger.client.api.OnapsoinfratasksApi; - -import java.io.File; -import java.util.*; - -public class OnapsoinfratasksApiExample { - - public static void main(String[] args) { - - OnapsoinfratasksApi apiInstance = new OnapsoinfratasksApi(); - String version = version_example; // String | - String taskId = taskId_example; // String | - String originalRequestId = originalRequestId_example; // String | - String subscriptionServiceType = subscriptionServiceType_example; // String | - String nfRole = nfRole_example; // String | - String buildingBlockName = buildingBlockName_example; // String | - String originalRequestDate = originalRequestDate_example; // String | - String originalRequestorId = originalRequestorId_example; // String | - try { - apiInstance.queryFilters(version, taskId, originalRequestId, subscriptionServiceType, nfRole, buildingBlockName, originalRequestDate, originalRequestorId); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfratasksApi#queryFilters"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-android"> - <pre class="prettyprint"><code class="language-java">import io.swagger.client.api.OnapsoinfratasksApi; - -public class OnapsoinfratasksApiExample { - - public static void main(String[] args) { - OnapsoinfratasksApi apiInstance = new OnapsoinfratasksApi(); - String version = version_example; // String | - String taskId = taskId_example; // String | - String originalRequestId = originalRequestId_example; // String | - String subscriptionServiceType = subscriptionServiceType_example; // String | - String nfRole = nfRole_example; // String | - String buildingBlockName = buildingBlockName_example; // String | - String originalRequestDate = originalRequestDate_example; // String | - String originalRequestorId = originalRequestorId_example; // String | - try { - apiInstance.queryFilters(version, taskId, originalRequestId, subscriptionServiceType, nfRole, buildingBlockName, originalRequestDate, originalRequestorId); - } catch (ApiException e) { - System.err.println("Exception when calling OnapsoinfratasksApi#queryFilters"); - e.printStackTrace(); - } - } -}</code></pre> - </div> - <!-- - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-groovy"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div> --> - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-objc"> - <pre class="prettyprint"><code class="language-cpp">String *version = version_example; // -String *taskId = taskId_example; // (optional) -String *originalRequestId = originalRequestId_example; // (optional) -String *subscriptionServiceType = subscriptionServiceType_example; // (optional) -String *nfRole = nfRole_example; // (optional) -String *buildingBlockName = buildingBlockName_example; // (optional) -String *originalRequestDate = originalRequestDate_example; // (optional) -String *originalRequestorId = originalRequestorId_example; // (optional) - -OnapsoinfratasksApi *apiInstance = [[OnapsoinfratasksApi alloc] init]; - -// Finds Manual Tasks -[apiInstance queryFiltersWith:version - taskId:taskId - originalRequestId:originalRequestId - subscriptionServiceType:subscriptionServiceType - nfRole:nfRole - buildingBlockName:buildingBlockName - originalRequestDate:originalRequestDate - originalRequestorId:originalRequestorId - completionHandler: ^(NSError* error) { - if (error) { - NSLog(@"Error: %@", error); - } - }]; -</code></pre> - </div> - - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-javascript"> - <pre class="prettyprint"><code class="language-js">var SoCasablancaApIs = require('so_casablanca_ap_is'); - -var api = new SoCasablancaApIs.OnapsoinfratasksApi() - -var version = version_example; // {String} - -var opts = { - 'taskId': taskId_example, // {String} - 'originalRequestId': originalRequestId_example, // {String} - 'subscriptionServiceType': subscriptionServiceType_example, // {String} - 'nfRole': nfRole_example, // {String} - 'buildingBlockName': buildingBlockName_example, // {String} - 'originalRequestDate': originalRequestDate_example, // {String} - 'originalRequestorId': originalRequestorId_example // {String} -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully.'); - } -}; -api.queryFilters(version, opts, callback); -</code></pre> - </div> - - <!--<div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-angular"> - <pre class="prettyprint language-json prettyprinted" data-type="json"><code>Coming Soon!</code></pre> - </div>--> - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-csharp"> - <pre class="prettyprint"><code class="language-cs">using System; -using System.Diagnostics; -using IO.Swagger.Api; -using IO.Swagger.Client; -using IO.Swagger.Model; - -namespace Example -{ - public class queryFiltersExample - { - public void main() - { - - var apiInstance = new OnapsoinfratasksApi(); - var version = version_example; // String | - var taskId = taskId_example; // String | (optional) - var originalRequestId = originalRequestId_example; // String | (optional) - var subscriptionServiceType = subscriptionServiceType_example; // String | (optional) - var nfRole = nfRole_example; // String | (optional) - var buildingBlockName = buildingBlockName_example; // String | (optional) - var originalRequestDate = originalRequestDate_example; // String | (optional) - var originalRequestorId = originalRequestorId_example; // String | (optional) - - try - { - // Finds Manual Tasks - apiInstance.queryFilters(version, taskId, originalRequestId, subscriptionServiceType, nfRole, buildingBlockName, originalRequestDate, originalRequestorId); - } - catch (Exception e) - { - Debug.Print("Exception when calling OnapsoinfratasksApi.queryFilters: " + e.Message ); - } - } - } -} -</code></pre> - </div> - - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-php"> - <pre class="prettyprint"><code class="language-php"><?php -require_once(__DIR__ . '/vendor/autoload.php'); - -$api_instance = new Swagger\Client\Api\OnapsoinfratasksApi(); -$version = version_example; // String | -$taskId = taskId_example; // String | -$originalRequestId = originalRequestId_example; // String | -$subscriptionServiceType = subscriptionServiceType_example; // String | -$nfRole = nfRole_example; // String | -$buildingBlockName = buildingBlockName_example; // String | -$originalRequestDate = originalRequestDate_example; // String | -$originalRequestorId = originalRequestorId_example; // String | - -try { - $api_instance->queryFilters($version, $taskId, $originalRequestId, $subscriptionServiceType, $nfRole, $buildingBlockName, $originalRequestDate, $originalRequestorId); -} catch (Exception $e) { - echo 'Exception when calling OnapsoinfratasksApi->queryFilters: ', $e->getMessage(), PHP_EOL; -} -?></code></pre> - </div> - - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-perl"> - <pre class="prettyprint"><code class="language-perl">use Data::Dumper; -use WWW::SwaggerClient::Configuration; -use WWW::SwaggerClient::OnapsoinfratasksApi; - -my $api_instance = WWW::SwaggerClient::OnapsoinfratasksApi->new(); -my $version = version_example; # String | -my $taskId = taskId_example; # String | -my $originalRequestId = originalRequestId_example; # String | -my $subscriptionServiceType = subscriptionServiceType_example; # String | -my $nfRole = nfRole_example; # String | -my $buildingBlockName = buildingBlockName_example; # String | -my $originalRequestDate = originalRequestDate_example; # String | -my $originalRequestorId = originalRequestorId_example; # String | - -eval { - $api_instance->queryFilters(version => $version, taskId => $taskId, originalRequestId => $originalRequestId, subscriptionServiceType => $subscriptionServiceType, nfRole => $nfRole, buildingBlockName => $buildingBlockName, originalRequestDate => $originalRequestDate, originalRequestorId => $originalRequestorId); -}; -if ($@) { - warn "Exception when calling OnapsoinfratasksApi->queryFilters: $@\n"; -}</code></pre> - </div> - - <div class="tab-pane" id="examples-Onapsoinfratasks-queryFilters-0-python"> - <pre class="prettyprint"><code class="language-python">from __future__ import print_statement -import time -import swagger_client -from swagger_client.rest import ApiException -from pprint import pprint - -# create an instance of the API class -api_instance = swagger_client.OnapsoinfratasksApi() -version = version_example # String | -taskId = taskId_example # String | (optional) -originalRequestId = originalRequestId_example # String | (optional) -subscriptionServiceType = subscriptionServiceType_example # String | (optional) -nfRole = nfRole_example # String | (optional) -buildingBlockName = buildingBlockName_example # String | (optional) -originalRequestDate = originalRequestDate_example # String | (optional) -originalRequestorId = originalRequestorId_example # String | (optional) - -try: - # Finds Manual Tasks - api_instance.query_filters(version, taskId=taskId, originalRequestId=originalRequestId, subscriptionServiceType=subscriptionServiceType, nfRole=nfRole, buildingBlockName=buildingBlockName, originalRequestDate=originalRequestDate, originalRequestorId=originalRequestorId) -except ApiException as e: - print("Exception when calling OnapsoinfratasksApi->queryFilters: %s\n" % e)</code></pre> - </div> - </div> - - <h2>Parameters</h2> - - <div class="methodsubtabletitle">Path parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">version*</td> -<td> - - - <div id="d2e199_queryFilters_version"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - <div class="inner required"> - Required - </div> - </div> - </div> -</td> -</tr> - - </table> - - - - - <div class="methodsubtabletitle">Query parameters</div> - <table id="methodsubtable"> - <tr> - <th width="150px">Name</th> - <th>Description</th> - </tr> - <tr><td style="width:150px;">taskId</td> -<td> - - - <div id="d2e199_queryFilters_taskId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">originalRequestId</td> -<td> - - - <div id="d2e199_queryFilters_originalRequestId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">subscriptionServiceType</td> -<td> - - - <div id="d2e199_queryFilters_subscriptionServiceType"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">nfRole</td> -<td> - - - <div id="d2e199_queryFilters_nfRole"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">buildingBlockName</td> -<td> - - - <div id="d2e199_queryFilters_buildingBlockName"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">originalRequestDate</td> -<td> - - - <div id="d2e199_queryFilters_originalRequestDate"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - <tr><td style="width:150px;">originalRequestorId</td> -<td> - - - <div id="d2e199_queryFilters_originalRequestorId"> - <div class="json-schema-view"> - <div class="primitive"> - <span class="type"> - String - </span> - - </div> - </div> - </div> -</td> -</tr> - - </table> - - <h2>Responses</h2> - <h3> Status: default - successful operation </h3> - - <ul class="nav nav-tabs nav-tabs-examples" > - </ul> - - <div class="tab-content" style='margin-bottom: 10px;'> - </div> - - </article> - </div> - <hr> - </section> - </div> - <div id="footer"> - <div id="api-_footer"> - <p>Suggestions, contact, support and error reporting; - <div class="app-desc">Information URL: <a href="https://helloreverb.com">https://helloreverb.com</a></div> - <div class="app-desc">Contact Info: <a href="hello@helloreverb.com">hello@helloreverb.com</a></div> - </p> - <div class="license-info">All rights reserved</div> - <div class="license-url">http://apache.org/licenses/LICENSE-2.0.html</div> - </div> - </div> - <div id="generator"> - <div class="content"> - Generated 2018-09-26T06:32:35.799Z - </div> - </div> - </div> - </div> - </div> - <script> -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define("JSONFormatter", [], factory); - else if(typeof exports === 'object') - exports["JSONFormatter"] = factory(); - else - root["JSONFormatter"] = factory(); -})(this, function() { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; -/******/ -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.loaded = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "dist"; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports, __webpack_require__) { - - module.exports = __webpack_require__(1); - - -/***/ }, -/* 1 */ -/***/ function(module, exports, __webpack_require__) { - - "use strict"; - __webpack_require__(2); - var helpers_ts_1 = __webpack_require__(6); - var DATE_STRING_REGEX = /(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/; - var PARTIAL_DATE_REGEX = /\d{2}:\d{2}:\d{2} GMT-\d{4}/; - var JSON_DATE_REGEX = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/; - // When toggleing, don't animated removal or addition of more than a few items - var MAX_ANIMATED_TOGGLE_ITEMS = 10; - var requestAnimationFrame = window.requestAnimationFrame || function (cb) { cb(); return 0; }; - ; - var _defaultConfig = { - hoverPreviewEnabled: false, - hoverPreviewArrayCount: 100, - hoverPreviewFieldCount: 5, - animateOpen: true, - animateClose: true, - theme: null - }; - module.exports = (function () { - /** - * @param {object} json The JSON object you want to render. It has to be an - * object or array. Do NOT pass raw JSON string. - * - * @param {number} [open=1] his number indicates up to how many levels the - * rendered tree should expand. Set it to `0` to make the whole tree collapsed - * or set it to `Infinity` to expand the tree deeply - * - * @param {object} [config=defaultConfig] - - * defaultConfig = { - * hoverPreviewEnabled: false, - * hoverPreviewArrayCount: 100, - * hoverPreviewFieldCount: 5 - * } - * - * Available configurations: - * #####Hover Preview - * * `hoverPreviewEnabled`: enable preview on hover - * * `hoverPreviewArrayCount`: number of array items to show in preview Any - * array larger than this number will be shown as `Array[XXX]` where `XXX` - * is length of the array. - * * `hoverPreviewFieldCount`: number of object properties to show for object - * preview. Any object with more properties that thin number will be - * truncated. - * - * @param {string} [key=undefined] The key that this object in it's parent - * context - */ - function JSONFormatter(json, open, config, key) { - if (open === void 0) { open = 1; } - if (config === void 0) { config = _defaultConfig; } - this.json = json; - this.open = open; - this.config = config; - this.key = key; - // Hold the open state after the toggler is used - this._isOpen = null; - // Setting default values for config object - if (this.config.hoverPreviewEnabled === undefined) { - this.config.hoverPreviewEnabled = _defaultConfig.hoverPreviewEnabled; - } - if (this.config.hoverPreviewArrayCount === undefined) { - this.config.hoverPreviewArrayCount = _defaultConfig.hoverPreviewArrayCount; - } - if (this.config.hoverPreviewFieldCount === undefined) { - this.config.hoverPreviewFieldCount = _defaultConfig.hoverPreviewFieldCount; - } - } - Object.defineProperty(JSONFormatter.prototype, "isOpen", { - /* - * is formatter open? - */ - get: function () { - if (this._isOpen !== null) { - return this._isOpen; - } - else { - return this.open > 0; - } - }, - /* - * set open state (from toggler) - */ - set: function (value) { - this._isOpen = value; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "isDate", { - /* - * is this a date string? - */ - get: function () { - return (this.type === 'string') && - (DATE_STRING_REGEX.test(this.json) || - JSON_DATE_REGEX.test(this.json) || - PARTIAL_DATE_REGEX.test(this.json)); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "isUrl", { - /* - * is this a URL string? - */ - get: function () { - return this.type === 'string' && (this.json.indexOf('http') === 0); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "isArray", { - /* - * is this an array? - */ - get: function () { - return Array.isArray(this.json); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "isObject", { - /* - * is this an object? - * Note: In this context arrays are object as well - */ - get: function () { - return helpers_ts_1.isObject(this.json); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "isEmptyObject", { - /* - * is this an empty object with no properties? - */ - get: function () { - return !this.keys.length && !this.isArray; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "isEmpty", { - /* - * is this an empty object or array? - */ - get: function () { - return this.isEmptyObject || (this.keys && !this.keys.length && this.isArray); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "hasKey", { - /* - * did we receive a key argument? - * This means that the formatter was called as a sub formatter of a parent formatter - */ - get: function () { - return typeof this.key !== 'undefined'; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "constructorName", { - /* - * if this is an object, get constructor function name - */ - get: function () { - return helpers_ts_1.getObjectName(this.json); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "type", { - /* - * get type of this value - * Possible values: all JavaScript primitive types plus "array" and "null" - */ - get: function () { - return helpers_ts_1.getType(this.json); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(JSONFormatter.prototype, "keys", { - /* - * get object keys - * If there is an empty key we pad it wit quotes to make it visible - */ - get: function () { - if (this.isObject) { - return Object.keys(this.json).map(function (key) { return key ? key : '""'; }); - } - else { - return []; - } - }, - enumerable: true, - configurable: true - }); - /** - * Toggles `isOpen` state - * - */ - JSONFormatter.prototype.toggleOpen = function () { - this.isOpen = !this.isOpen; - if (this.element) { - if (this.isOpen) { - this.appendChildren(this.config.animateOpen); - } - else { - this.removeChildren(this.config.animateClose); - } - this.element.classList.toggle(helpers_ts_1.cssClass('open')); - } - }; - /** - * Open all children up to a certain depth. - * Allows actions such as expand all/collapse all - * - */ - JSONFormatter.prototype.openAtDepth = function (depth) { - if (depth === void 0) { depth = 1; } - if (depth < 0) { - return; - } - this.open = depth; - this.isOpen = (depth !== 0); - if (this.element) { - this.removeChildren(false); - if (depth === 0) { - this.element.classList.remove(helpers_ts_1.cssClass('open')); - } - else { - this.appendChildren(this.config.animateOpen); - this.element.classList.add(helpers_ts_1.cssClass('open')); - } - } - }; - /** - * Generates inline preview - * - * @returns {string} - */ - JSONFormatter.prototype.getInlinepreview = function () { - var _this = this; - if (this.isArray) { - // if array length is greater then 100 it shows "Array[101]" - if (this.json.length > this.config.hoverPreviewArrayCount) { - return "Array[" + this.json.length + "]"; - } - else { - return "[" + this.json.map(helpers_ts_1.getPreview).join(', ') + "]"; - } - } - else { - var keys = this.keys; - // the first five keys (like Chrome Developer Tool) - var narrowKeys = keys.slice(0, this.config.hoverPreviewFieldCount); - // json value schematic information - var kvs = narrowKeys.map(function (key) { return (key + ":" + helpers_ts_1.getPreview(_this.json[key])); }); - // if keys count greater then 5 then show ellipsis - var ellipsis = keys.length >= this.config.hoverPreviewFieldCount ? '…' : ''; - return "{" + kvs.join(', ') + ellipsis + "}"; - } - }; - /** - * Renders an HTML element and installs event listeners - * - * @returns {HTMLDivElement} - */ - JSONFormatter.prototype.render = function () { - // construct the root element and assign it to this.element - this.element = helpers_ts_1.createElement('div', 'row'); - // construct the toggler link - var togglerLink = helpers_ts_1.createElement('a', 'toggler-link'); - // if this is an object we need a wrapper span (toggler) - if (this.isObject) { - togglerLink.appendChild(helpers_ts_1.createElement('span', 'toggler')); - } - // if this is child of a parent formatter we need to append the key - if (this.hasKey) { - togglerLink.appendChild(helpers_ts_1.createElement('span', 'key', this.key + ":")); - } - // Value for objects and arrays - if (this.isObject) { - // construct the value holder element - var value = helpers_ts_1.createElement('span', 'value'); - // we need a wrapper span for objects - var objectWrapperSpan = helpers_ts_1.createElement('span'); - // get constructor name and append it to wrapper span - var constructorName = helpers_ts_1.createElement('span', 'constructor-name', this.constructorName); - objectWrapperSpan.appendChild(constructorName); - // if it's an array append the array specific elements like brackets and length - if (this.isArray) { - var arrayWrapperSpan = helpers_ts_1.createElement('span'); - arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'bracket', '[')); - arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'number', (this.json.length))); - arrayWrapperSpan.appendChild(helpers_ts_1.createElement('span', 'bracket', ']')); - objectWrapperSpan.appendChild(arrayWrapperSpan); - } - // append object wrapper span to toggler link - value.appendChild(objectWrapperSpan); - togglerLink.appendChild(value); - } - else { - // make a value holder element - var value = this.isUrl ? helpers_ts_1.createElement('a') : helpers_ts_1.createElement('span'); - // add type and other type related CSS classes - value.classList.add(helpers_ts_1.cssClass(this.type)); - if (this.isDate) { - value.classList.add(helpers_ts_1.cssClass('date')); - } - if (this.isUrl) { - value.classList.add(helpers_ts_1.cssClass('url')); - value.setAttribute('href', this.json); - } - // Append value content to value element - var valuePreview = helpers_ts_1.getValuePreview(this.json, this.json); - value.appendChild(document.createTextNode(valuePreview)); - // append the value element to toggler link - togglerLink.appendChild(value); - } - // if hover preview is enabled, append the inline preview element - if (this.isObject && this.config.hoverPreviewEnabled) { - var preview = helpers_ts_1.createElement('span', 'preview-text'); - preview.appendChild(document.createTextNode(this.getInlinepreview())); - togglerLink.appendChild(preview); - } - // construct a children element - var children = helpers_ts_1.createElement('div', 'children'); - // set CSS classes for children - if (this.isObject) { - children.classList.add(helpers_ts_1.cssClass('object')); - } - if (this.isArray) { - children.classList.add(helpers_ts_1.cssClass('array')); - } - if (this.isEmpty) { - children.classList.add(helpers_ts_1.cssClass('empty')); - } - // set CSS classes for root element - if (this.config && this.config.theme) { - this.element.classList.add(helpers_ts_1.cssClass(this.config.theme)); - } - if (this.isOpen) { - this.element.classList.add(helpers_ts_1.cssClass('open')); - } - // append toggler and children elements to root element - this.element.appendChild(togglerLink); - this.element.appendChild(children); - // if formatter is set to be open call appendChildren - if (this.isObject && this.isOpen) { - this.appendChildren(); - } - // add event listener for toggling - if (this.isObject) { - togglerLink.addEventListener('click', this.toggleOpen.bind(this)); - } - return this.element; - }; - /** - * Appends all the children to children element - * Animated option is used when user triggers this via a click - */ - JSONFormatter.prototype.appendChildren = function (animated) { - var _this = this; - if (animated === void 0) { animated = false; } - var children = this.element.querySelector("div." + helpers_ts_1.cssClass('children')); - if (!children || this.isEmpty) { - return; - } - if (animated) { - var index_1 = 0; - var addAChild_1 = function () { - var key = _this.keys[index_1]; - var formatter = new JSONFormatter(_this.json[key], _this.open - 1, _this.config, key); - children.appendChild(formatter.render()); - index_1 += 1; - if (index_1 < _this.keys.length) { - if (index_1 > MAX_ANIMATED_TOGGLE_ITEMS) { - addAChild_1(); - } - else { - requestAnimationFrame(addAChild_1); - } - } - }; - requestAnimationFrame(addAChild_1); - } - else { - this.keys.forEach(function (key) { - var formatter = new JSONFormatter(_this.json[key], _this.open - 1, _this.config, key); - children.appendChild(formatter.render()); - }); - } - }; - /** - * Removes all the children from children element - * Animated option is used when user triggers this via a click - */ - JSONFormatter.prototype.removeChildren = function (animated) { - if (animated === void 0) { animated = false; } - var childrenElement = this.element.querySelector("div." + helpers_ts_1.cssClass('children')); - if (animated) { - var childrenRemoved_1 = 0; - var removeAChild_1 = function () { - if (childrenElement && childrenElement.children.length) { - childrenElement.removeChild(childrenElement.children[0]); - childrenRemoved_1 += 1; - if (childrenRemoved_1 > MAX_ANIMATED_TOGGLE_ITEMS) { - removeAChild_1(); - } - else { - requestAnimationFrame(removeAChild_1); - } - } - }; - requestAnimationFrame(removeAChild_1); - } - else { - if (childrenElement) { - childrenElement.innerHTML = ''; - } - } - }; - return JSONFormatter; - }()); - - -/***/ }, -/* 2 */ -/***/ function(module, exports, __webpack_require__) { - - // style-loader: Adds some css to the DOM by adding a <style> tag - - // load the styles - var content = __webpack_require__(3); - if(typeof content === 'string') content = [[module.id, content, '']]; - // add the styles to the DOM - var update = __webpack_require__(5)(content, {"sourceMap":true}); - if(content.locals) module.exports = content.locals; - // Hot Module Replacement - if(false) { - // When the styles change, update the <style> tags - if(!content.locals) { - module.hot.accept("!!./../node_modules/css-loader/index.js?sourceMap!./../node_modules/less-loader/index.js?sourceMap!./style.less", function() { - var newContent = require("!!./../node_modules/css-loader/index.js?sourceMap!./../node_modules/less-loader/index.js?sourceMap!./style.less"); - if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; - update(newContent); - }); - } - // When the module is disposed, remove the <style> tags - module.hot.dispose(function() { update(); }); - } - -/***/ }, -/* 3 */ -/***/ function(module, exports, __webpack_require__) { - - exports = module.exports = __webpack_require__(4)(); - // imports - - - // module - exports.push([module.id, ".json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-row .json-formatter-string {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"\\25BA\";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"\\25BA\";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n", "", {"version":3,"sources":["/./src/style.less","/./src/style.less"],"names":[],"mappings":"AA0GA;EA3FE,uBAAA;CCbD;ADcC;;;EACE,aAAA;EACA,sBAAA;CCVH;ADkGD;EApFI,kBAAA;CCXH;ADeG;EACE,aAAA;EACA,kBAAA;CCbL;ADeK;EAAU,cAAA;CCZf;ADaK;EAAgC,yBAAA;CCVrC;ADWK;EAA+B,cAAA;CCRpC;ADkFD;EArEI,aAAA;EACA,iBAAA;EACA,sBAAA;CCVH;AD6ED;EAjE2B,YAAA;CCT1B;AD0ED;EAhE4B,WAAA;CCP3B;ADuED;EA/DyB,eAAA;CCLxB;ADoED;EA9D8B,eAAA;CCH7B;ADiED;EA7D6B,eAAA;CCD5B;AD8DD;EA5DyB,sCAAA;CCCxB;AD2DD;EA1DI,2BAAA;EACA,YAAA;EACA,gBAAA;CCEH;ADsDD;EArD4B,YAAA;CCE3B;ADmDD;EAnDI,eAAA;EACA,gBAAA;EACA,sBAAA;CCGH;AD8CD;EA9CI,gBAAA;CCGH;AD2CD;EA1CI,oBAAA;EACA,kBAAA;EACA,uBAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;CCEH;ADAG;EACE,sBAAA;EACA,oCAAA;EACA,iBAAA;CCEL;AD8BD;EA1BI,WAAA;EACA,kCAAA;EACA,mBAAA;CCDH;ADGC;EACE,aAAA;CCDH;ADKC;EAEI,yBAAA;CCJL;ADEC;EAKI,sBAAA;CCJL;ADDC;EAQI,cAAA;CCJL;ADMG;EACE,eAAA;CCJL;ADeD;EAhGE,uBAAA;CCoFD;ADnFC;;;EACE,aAAA;EACA,sBAAA;CCuFH;ADMD;EAzFI,kBAAA;CCsFH;ADlFG;EACE,aAAA;EACA,kBAAA;CCoFL;ADlFK;EAAU,cAAA;CCqFf;ADpFK;EAAgC,yBAAA;CCuFrC;ADtFK;EAA+B,cAAA;CCyFpC;ADVD;EA1EI,eAAA;EACA,iBAAA;EACA,sBAAA;CCuFH;ADfD;EAtE2B,eAAA;CCwF1B;ADlBD;EArE4B,eAAA;CC0F3B;ADrBD;EApEyB,eAAA;CC4FxB;ADxBD;EAnE8B,eAAA;CC8F7B;AD3BD;EAlE6B,eAAA;CCgG5B;AD9BD;EAjEyB,4CAAA;CCkGxB;ADjCD;EA/DI,2BAAA;EACA,eAAA;EACA,gBAAA;CCmGH;ADtCD;EA1D4B,eAAA;CCmG3B;ADzCD;EAxDI,eAAA;EACA,gBAAA;EACA,sBAAA;CCoGH;AD9CD;EAnDI,gBAAA;CCoGH;ADjDD;EA/CI,oBAAA;EACA,kBAAA;EACA,uBAAA;EACA,aAAA;EACA,gBAAA;EACA,sBAAA;CCmGH;ADjGG;EACE,sBAAA;EACA,oCAAA;EACA,iBAAA;CCmGL;AD9DD;EA/BI,WAAA;EACA,kCAAA;EACA,mBAAA;CCgGH;AD9FC;EACE,aAAA;CCgGH;AD5FC;EAEI,yBAAA;CC6FL;AD/FC;EAKI,sBAAA;CC6FL;ADlGC;EAQI,cAAA;CC6FL;AD3FG;EACE,eAAA;CC6FL","file":"style.less","sourcesContent":[".theme(\n @default-color: black,\n @string-color: green,\n @number-color: blue,\n @boolean-color: red,\n @null-color: #855A00,\n @undefined-color: rgb(202, 11, 105),\n @function-color: #FF20ED,\n @rotate-time: 100ms,\n @toggler-opacity: 0.6,\n @toggler-color: #45376F,\n @bracket-color: blue,\n @key-color: #00008B,\n @url-color: blue ){\n\n font-family: monospace;\n &, a, a:hover {\n color: @default-color;\n text-decoration: none;\n }\n\n .json-formatter-row {\n margin-left: 1rem;\n }\n\n .json-formatter-children {\n &.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n\n &:after { display: none; }\n &.json-formatter-object:after { content: \"No properties\"; }\n &.json-formatter-array:after { content: \"[]\"; }\n }\n }\n\n .json-formatter-string {\n color: @string-color;\n white-space: pre;\n word-wrap: break-word;\n }\n .json-formatter-number { color: @number-color; }\n .json-formatter-boolean { color: @boolean-color; }\n .json-formatter-null { color: @null-color; }\n .json-formatter-undefined { color: @undefined-color; }\n .json-formatter-function { color: @function-color; }\n .json-formatter-date { background-color: fade(@default-color, 5%); }\n .json-formatter-url {\n text-decoration: underline;\n color: @url-color;\n cursor: pointer;\n }\n\n .json-formatter-bracket { color: @bracket-color; }\n .json-formatter-key {\n color: @key-color;\n cursor: pointer;\n padding-right: 0.2rem;\n }\n .json-formatter-constructor-name {\n cursor: pointer;\n }\n\n .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: @toggler-opacity;\n cursor: pointer;\n padding-right: 0.2rem;\n\n &:after {\n display: inline-block;\n transition: transform @rotate-time ease-in;\n content: \"►\";\n }\n }\n\n // Inline preview on hover (optional)\n > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity .15s ease-in;\n font-style: italic;\n }\n &:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n }\n\n // Open state\n &.json-formatter-open {\n > .json-formatter-toggler-link .json-formatter-toggler:after{\n transform: rotate(90deg);\n }\n > .json-formatter-children:after {\n display: inline-block;\n }\n > a > .json-formatter-preview-text {\n display: none;\n }\n &.json-formatter-empty:after {\n display: block;\n }\n }\n}\n\n// Default theme\n.json-formatter-row {\n .theme();\n}\n\n// Dark theme\n.json-formatter-dark.json-formatter-row {\n .theme(\n @default-color: white,\n @string-color: #31F031,\n @number-color: #66C2FF,\n @boolean-color: #EC4242,\n @null-color: #EEC97D,\n @undefined-color: rgb(239, 143, 190),\n @function-color: #FD48CB,\n @rotate-time: 100ms,\n @toggler-opacity: 0.6,\n @toggler-color: #45376F,\n @bracket-color: #9494FF,\n @key-color: #23A0DB,\n @url-color: #027BFF);\n}\n",".json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-row,\n.json-formatter-row a,\n.json-formatter-row a:hover {\n color: black;\n text-decoration: none;\n}\n.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-row .json-formatter-string {\n color: green;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-row .json-formatter-number {\n color: blue;\n}\n.json-formatter-row .json-formatter-boolean {\n color: red;\n}\n.json-formatter-row .json-formatter-null {\n color: #855A00;\n}\n.json-formatter-row .json-formatter-undefined {\n color: #ca0b69;\n}\n.json-formatter-row .json-formatter-function {\n color: #FF20ED;\n}\n.json-formatter-row .json-formatter-date {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: blue;\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-bracket {\n color: blue;\n}\n.json-formatter-row .json-formatter-key {\n color: #00008B;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"►\";\n}\n.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n.json-formatter-dark.json-formatter-row {\n font-family: monospace;\n}\n.json-formatter-dark.json-formatter-row,\n.json-formatter-dark.json-formatter-row a,\n.json-formatter-dark.json-formatter-row a:hover {\n color: white;\n text-decoration: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-row {\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty {\n opacity: 0.5;\n margin-left: 1rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty:after {\n display: none;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-object:after {\n content: \"No properties\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-children.json-formatter-empty.json-formatter-array:after {\n content: \"[]\";\n}\n.json-formatter-dark.json-formatter-row .json-formatter-string {\n color: #31F031;\n white-space: pre;\n word-wrap: break-word;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-number {\n color: #66C2FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-boolean {\n color: #EC4242;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-null {\n color: #EEC97D;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-undefined {\n color: #ef8fbe;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-function {\n color: #FD48CB;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-date {\n background-color: rgba(255, 255, 255, 0.05);\n}\n.json-formatter-dark.json-formatter-row .json-formatter-url {\n text-decoration: underline;\n color: #027BFF;\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-bracket {\n color: #9494FF;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-key {\n color: #23A0DB;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-constructor-name {\n cursor: pointer;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler {\n line-height: 1.2rem;\n font-size: 0.7rem;\n vertical-align: middle;\n opacity: 0.6;\n cursor: pointer;\n padding-right: 0.2rem;\n}\n.json-formatter-dark.json-formatter-row .json-formatter-toggler:after {\n display: inline-block;\n transition: transform 100ms ease-in;\n content: \"►\";\n}\n.json-formatter-dark.json-formatter-row > a > .json-formatter-preview-text {\n opacity: 0;\n transition: opacity 0.15s ease-in;\n font-style: italic;\n}\n.json-formatter-dark.json-formatter-row:hover > a > .json-formatter-preview-text {\n opacity: 0.6;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-toggler-link .json-formatter-toggler:after {\n transform: rotate(90deg);\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > .json-formatter-children:after {\n display: inline-block;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open > a > .json-formatter-preview-text {\n display: none;\n}\n.json-formatter-dark.json-formatter-row.json-formatter-open.json-formatter-empty:after {\n display: block;\n}\n"],"sourceRoot":"webpack://"}]); - - // exports - - -/***/ }, -/* 4 */ -/***/ function(module, exports) { - - /* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra - */ - // css base code, injected by the css-loader - module.exports = function() { - var list = []; - - // return the list of modules as css string - list.toString = function toString() { - var result = []; - for(var i = 0; i < this.length; i++) { - var item = this[i]; - if(item[2]) { - result.push("@media " + item[2] + "{" + item[1] + "}"); - } else { - result.push(item[1]); - } - } - return result.join(""); - }; - - // import a list of modules into the list - list.i = function(modules, mediaQuery) { - if(typeof modules === "string") - modules = [[null, modules, ""]]; - var alreadyImportedModules = {}; - for(var i = 0; i < this.length; i++) { - var id = this[i][0]; - if(typeof id === "number") - alreadyImportedModules[id] = true; - } - for(i = 0; i < modules.length; i++) { - var item = modules[i]; - // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { - if(mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if(mediaQuery) { - item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; - } - list.push(item); - } - } - }; - return list; - }; - - -/***/ }, -/* 5 */ -/***/ function(module, exports, __webpack_require__) { - - /* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra - */ - var stylesInDom = {}, - memoize = function(fn) { - var memo; - return function () { - if (typeof memo === "undefined") memo = fn.apply(this, arguments); - return memo; - }; - }, - isOldIE = memoize(function() { - return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase()); - }), - getHeadElement = memoize(function () { - return document.head || document.getElementsByTagName("head")[0]; - }), - singletonElement = null, - singletonCounter = 0, - styleElementsInsertedAtTop = []; - - module.exports = function(list, options) { - if(false) { - if(typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); - } - - options = options || {}; - // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> - // tags it will allow on a page - if (typeof options.singleton === "undefined") options.singleton = isOldIE(); - - // By default, add <style> tags to the bottom of <head>. - if (typeof options.insertAt === "undefined") options.insertAt = "bottom"; - - var styles = listToStyles(list); - addStylesToDom(styles, options); - - return function update(newList) { - var mayRemove = []; - for(var i = 0; i < styles.length; i++) { - var item = styles[i]; - var domStyle = stylesInDom[item.id]; - domStyle.refs--; - mayRemove.push(domStyle); - } - if(newList) { - var newStyles = listToStyles(newList); - addStylesToDom(newStyles, options); - } - for(var i = 0; i < mayRemove.length; i++) { - var domStyle = mayRemove[i]; - if(domStyle.refs === 0) { - for(var j = 0; j < domStyle.parts.length; j++) - domStyle.parts[j](); - delete stylesInDom[domStyle.id]; - } - } - }; - } - - function addStylesToDom(styles, options) { - for(var i = 0; i < styles.length; i++) { - var item = styles[i]; - var domStyle = stylesInDom[item.id]; - if(domStyle) { - domStyle.refs++; - for(var j = 0; j < domStyle.parts.length; j++) { - domStyle.parts[j](item.parts[j]); - } - for(; j < item.parts.length; j++) { - domStyle.parts.push(addStyle(item.parts[j], options)); - } - } else { - var parts = []; - for(var j = 0; j < item.parts.length; j++) { - parts.push(addStyle(item.parts[j], options)); - } - stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts}; - } - } - } - - function listToStyles(list) { - var styles = []; - var newStyles = {}; - for(var i = 0; i < list.length; i++) { - var item = list[i]; - var id = item[0]; - var css = item[1]; - var media = item[2]; - var sourceMap = item[3]; - var part = {css: css, media: media, sourceMap: sourceMap}; - if(!newStyles[id]) - styles.push(newStyles[id] = {id: id, parts: [part]}); - else - newStyles[id].parts.push(part); - } - return styles; - } - - function insertStyleElement(options, styleElement) { - var head = getHeadElement(); - var lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1]; - if (options.insertAt === "top") { - if(!lastStyleElementInsertedAtTop) { - head.insertBefore(styleElement, head.firstChild); - } else if(lastStyleElementInsertedAtTop.nextSibling) { - head.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling); - } else { - head.appendChild(styleElement); - } - styleElementsInsertedAtTop.push(styleElement); - } else if (options.insertAt === "bottom") { - head.appendChild(styleElement); - } else { - throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'."); - } - } - - function removeStyleElement(styleElement) { - styleElement.parentNode.removeChild(styleElement); - var idx = styleElementsInsertedAtTop.indexOf(styleElement); - if(idx >= 0) { - styleElementsInsertedAtTop.splice(idx, 1); - } - } - - function createStyleElement(options) { - var styleElement = document.createElement("style"); - styleElement.type = "text/css"; - insertStyleElement(options, styleElement); - return styleElement; - } - - function createLinkElement(options) { - var linkElement = document.createElement("link"); - linkElement.rel = "stylesheet"; - insertStyleElement(options, linkElement); - return linkElement; - } - - function addStyle(obj, options) { - var styleElement, update, remove; - - if (options.singleton) { - var styleIndex = singletonCounter++; - styleElement = singletonElement || (singletonElement = createStyleElement(options)); - update = applyToSingletonTag.bind(null, styleElement, styleIndex, false); - remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true); - } else if(obj.sourceMap && - typeof URL === "function" && - typeof URL.createObjectURL === "function" && - typeof URL.revokeObjectURL === "function" && - typeof Blob === "function" && - typeof btoa === "function") { - styleElement = createLinkElement(options); - update = updateLink.bind(null, styleElement); - remove = function() { - removeStyleElement(styleElement); - if(styleElement.href) - URL.revokeObjectURL(styleElement.href); - }; - } else { - styleElement = createStyleElement(options); - update = applyToTag.bind(null, styleElement); - remove = function() { - removeStyleElement(styleElement); - }; - } - - update(obj); - - return function updateStyle(newObj) { - if(newObj) { - if(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) - return; - update(obj = newObj); - } else { - remove(); - } - }; - } - - var replaceText = (function () { - var textStore = []; - - return function (index, replacement) { - textStore[index] = replacement; - return textStore.filter(Boolean).join('\n'); - }; - })(); - - function applyToSingletonTag(styleElement, index, remove, obj) { - var css = remove ? "" : obj.css; - - if (styleElement.styleSheet) { - styleElement.styleSheet.cssText = replaceText(index, css); - } else { - var cssNode = document.createTextNode(css); - var childNodes = styleElement.childNodes; - if (childNodes[index]) styleElement.removeChild(childNodes[index]); - if (childNodes.length) { - styleElement.insertBefore(cssNode, childNodes[index]); - } else { - styleElement.appendChild(cssNode); - } - } - } - - function applyToTag(styleElement, obj) { - var css = obj.css; - var media = obj.media; - - if(media) { - styleElement.setAttribute("media", media) - } - - if(styleElement.styleSheet) { - styleElement.styleSheet.cssText = css; - } else { - while(styleElement.firstChild) { - styleElement.removeChild(styleElement.firstChild); - } - styleElement.appendChild(document.createTextNode(css)); - } - } - - function updateLink(linkElement, obj) { - var css = obj.css; - var sourceMap = obj.sourceMap; - - if(sourceMap) { - // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding - css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */"; - } - - var blob = new Blob([css], { type: "text/css" }); - - var oldSrc = linkElement.href; - - linkElement.href = URL.createObjectURL(blob); - - if(oldSrc) - URL.revokeObjectURL(oldSrc); - } - - -/***/ }, -/* 6 */ -/***/ function(module, exports) { - - "use strict"; - /* - * Escapes `"` characters from string - */ - function escapeString(str) { - return str.replace('"', '\"'); - } - /* - * Determines if a value is an object - */ - function isObject(value) { - var type = typeof value; - return !!value && (type == 'object'); - } - exports.isObject = isObject; - /* - * Gets constructor name of an object. - * - */ - function getObjectName(object) { - if (object === undefined) { - return ''; - } - if (object === null || (typeof object === 'object' && !object.constructor)) { - return 'Object'; - } - var funcNameRegex = /function ([^(]*)/; - var results = (funcNameRegex).exec((object).constructor.toString()); - if (results && results.length > 1) { - return results[1]; - } else { - return ''; - } - } - exports.getObjectName = getObjectName; - /* - * Gets type of an object. Returns "null" for null objects - */ - function getType(object) { - if (object === null) { - return 'null'; - } - return typeof object; - } - exports.getType = getType; - /* - * Generates inline preview for a JavaScript object based on a value - */ - function getValuePreview(object, value) { - var type = getType(object); - if (type === 'null' || type === 'undefined') { - return type; - } - if (type === 'string') { - value = '"' + escapeString(value) + '"'; - } - if (type === 'function') { - // Remove content of the function - return object.toString() - .replace(/[\r\n]/g, '') - .replace(/\{.*\}/, '') + '{…}'; - } - return value; - } - exports.getValuePreview = getValuePreview; - /* - * Generates inline preview for a JavaScript object - */ - function getPreview(object) { - var value = ''; - if (isObject(object)) { - value = getObjectName(object); - if (Array.isArray(object)) - value += '[' + object.length + ']'; - } - else { - value = getValuePreview(object, object); - } - return value; - } - exports.getPreview = getPreview; - /* - * Generates a prefixed CSS class name - */ - function cssClass(className) { - return "json-formatter-" + className; - } - exports.cssClass = cssClass; - /* - * Creates a new DOM element with given type and class - * TODO: move me to helpers - */ - function createElement(type, className, content) { - var el = document.createElement(type); - if (className) { - el.classList.add(cssClass(className)); - } - if (content !== undefined) { - if (content instanceof Node) { - el.appendChild(content); - } - else { - el.appendChild(document.createTextNode(String(content))); - } - } - return el; - } - exports.createElement = createElement; - - -/***/ } -/******/ ]) -}); -; -//# sourceMappingURL=json-formatter.js.map - -</script> - - <script> - -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSONSchemaView = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ -'use strict'; -/* - * Converts anyOf, allOf and oneOf to human readable string -*/ -Object.defineProperty(exports, '__esModule', { - value: true -}); -exports.convertXOf = convertXOf; -exports._if = _if; - -function convertXOf(type) { - return type.substring(0, 3) + ' of'; -} - -/* - * if condition for ES6 template strings - * to be used only in template string - * - * @example mystr = `Random is ${_if(Math.random() > 0.5)`greater than 0.5`` - * - * @param {boolean} condition - * - * @returns {function} the template function -*/ - -function _if(condition) { - return condition ? normal : empty; -} - -function empty() { - return ''; -} -function normal(template) { - for (var _len = arguments.length, expressions = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - expressions[_key - 1] = arguments[_key]; - } - - return template.slice(1).reduce(function (accumulator, part, i) { - return accumulator + expressions[i] + part; - }, template[0]); -} - -},{}],2:[function(require,module,exports){ -'use strict'; - -/* globals JSONSchemaView */ - -Object.defineProperty(exports, '__esModule', { - value: true -}); - -var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); - -var _templateObject = _taggedTemplateLiteral(['\n <div class="any">\n ', '\n\n <span class="type type-any"><any></span>\n\n ', '\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n </div>\n '], ['\n <div class="any">\n ', '\n\n <span class="type type-any"><any></span>\n\n ', '\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n </div>\n ']), - _templateObject2 = _taggedTemplateLiteral(['\n <a class="title"><span class="toggle-handle"></span>', ' </a>\n '], ['\n <a class="title"><span class="toggle-handle"></span>', ' </a>\n ']), - _templateObject3 = _taggedTemplateLiteral(['\n <div class="inner description marked">', '</div>\n '], ['\n <div class="inner description marked">', '</div>\n ']), - _templateObject4 = _taggedTemplateLiteral(['\n <div class="inner required">Required: ', '</div>\n '], ['\n <div class="inner required">Required: ', '</div>\n ']), - _templateObject5 = _taggedTemplateLiteral(['\n <div class="inner default">Default: ', '</div>\n '], ['\n <div class="inner default">Default: ', '</div>\n ']), - _templateObject6 = _taggedTemplateLiteral(['\n <div class="inner pattern">Pattern: ', '</div>\n '], ['\n <div class="inner pattern">Pattern: ', '</div>\n ']), - _templateObject7 = _taggedTemplateLiteral(['\n <div class="primitive">\n ', '\n\n <span class="type">', '</span>\n\n \n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\t\t \n\t\t \n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n\n ', '\n\n ', '\n ', '\n ', '\n </div>\n '], ['\n <div class="primitive">\n ', '\n\n <span class="type">', '</span>\n\n \n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\n ', '\n\t\t \n\t\t \n\t\t \n\t\t ', '\n\t\t ', '\n\t\t ', '\n\n ', '\n\n ', '\n ', '\n ', '\n </div>\n ']), - _templateObject8 = _taggedTemplateLiteral(['\n <span class="format">(', ')</span>\n '], ['\n <span class="format">(', ')</span>\n ']), - _templateObject9 = _taggedTemplateLiteral(['\n <span class="range minimum">minimum:', '</span>\n '], ['\n <span class="range minimum">minimum:', '</span>\n ']), - _templateObject10 = _taggedTemplateLiteral(['\n <span class="range exclusiveMinimum">(ex)minimum:', '</span>\n '], ['\n <span class="range exclusiveMinimum">(ex)minimum:', '</span>\n ']), - _templateObject11 = _taggedTemplateLiteral(['\n <span class="range maximum">maximum:', '</span>\n '], ['\n <span class="range maximum">maximum:', '</span>\n ']), - _templateObject12 = _taggedTemplateLiteral(['\n <span class="range exclusiveMaximum">(ex)maximum:', '</span>\n '], ['\n <span class="range exclusiveMaximum">(ex)maximum:', '</span>\n ']), - _templateObject13 = _taggedTemplateLiteral(['\n <span class="range minLength">minLength:', '</span>\n '], ['\n <span class="range minLength">minLength:', '</span>\n ']), - _templateObject14 = _taggedTemplateLiteral(['\n <span class="range maxLength">maxLength:', '</span>\n '], ['\n <span class="range maxLength">maxLength:', '</span>\n ']), - _templateObject15 = _taggedTemplateLiteral(['\n <div class="inner required">Required</div>\n '], ['\n <div class="inner required">Required</div>\n ']), - _templateObject16 = _taggedTemplateLiteral(['\n ', '\n '], ['\n ', '\n ']), - _templateObject17 = _taggedTemplateLiteral(['', ''], ['', '']), - _templateObject18 = _taggedTemplateLiteral(['\n <div class="array">\n <a class="title"><span class="toggle-handle"></span>', '<span class="opening bracket">[</span>', '</a>\n ', '\n <div class="inner">\n ', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n '], ['\n <div class="array">\n <a class="title"><span class="toggle-handle"></span>', '<span class="opening bracket">[</span>', '</a>\n ', '\n <div class="inner">\n ', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n ']), - _templateObject19 = _taggedTemplateLiteral(['<span class="closing bracket">]</span>'], ['<span class="closing bracket">]</span>']), - _templateObject20 = _taggedTemplateLiteral(['\n <span>\n <span title="items range">(', '..', ')</span>\n ', '\n </span>\n '], ['\n <span>\n <span title="items range">(', '..', ')</span>\n ', '\n </span>\n ']), - _templateObject21 = _taggedTemplateLiteral(['<span title="unique" class="uniqueItems">♦</span>'], ['<span title="unique" class="uniqueItems">♦</span>']), - _templateObject22 = _taggedTemplateLiteral(['\n <div class="description">', '</div>\n '], ['\n <div class="description">', '</div>\n ']), - _templateObject23 = _taggedTemplateLiteral(['\n <span class="closing bracket">]</span>\n '], ['\n <span class="closing bracket">]</span>\n ']), - _templateObject24 = _taggedTemplateLiteral(['\n <div class="object">\n <a class="title"><span\n class="toggle-handle"></span>', ' <span\n class="opening brace">{</span>', '</a>\n\n <div class="inner">\n ', '\n <!-- children go here -->\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t \n\t\t\t', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n '], ['\n <div class="object">\n <a class="title"><span\n class="toggle-handle"></span>', ' <span\n class="opening brace">{</span>', '</a>\n\n <div class="inner">\n ', '\n <!-- children go here -->\n\t\t \n\t\t ', '\n\t\t ', '\n\t\t \n\t\t\t', '\n </div>\n\n ', '\n\n ', '\n ', '\n ', '\n\n ', '\n </div>\n ']), - _templateObject25 = _taggedTemplateLiteral(['\n <span class="closing brace" ng-if="isCollapsed">}</span>\n '], ['\n <span class="closing brace" ng-if="isCollapsed">}</span>\n ']), - _templateObject26 = _taggedTemplateLiteral(['\n <div class="required">Required: ', '</div>\n '], ['\n <div class="required">Required: ', '</div>\n ']), - _templateObject266 = _taggedTemplateLiteral(['\n <div class="required">Required: ', '</div>\n '], ['\n <div class="required">Required: ', '</div>\n ']), - _templateObject27 = _taggedTemplateLiteral(['\n <div class="default">Default: ', '</div>\n '], ['\n <div class="default">Default: ', '</div>\n ']), - _templateObject28 = _taggedTemplateLiteral(['\n <div class="pattern">Pattern: ', '</div>\n '], ['\n <div class="pattern">Pattern: ', '</div>\n ']), - _templateObject29 = _taggedTemplateLiteral(['\n <span class="closing brace">}</span>\n '], ['\n <span class="closing brace">}</span>\n ']), - _templateObject30 = _taggedTemplateLiteral(['\n <div class="inner enums">\n <b>Enum:</b>\n </div>\n '], ['\n <div class="inner enums">\n <b>Enum:</b>\n </div>\n ']); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } - -function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -var _helpersJs = require('./helpers.js'); - -/** - * @class JSONSchemaView - * - * A pure JavaScript component for rendering JSON Schema in HTML. -*/ - -var JSONSchemaView = (function () { - - /** - * @param {object} schema The JSON Schema object - * - * @param {number} [open=1] his number indicates up to how many levels the - * rendered tree should expand. Set it to `0` to make the whole tree collapsed - * or set it to `Infinity` to expand the tree deeply - * @param {object} options. - * theme {string}: one of the following options: ['dark'] - */ - - function JSONSchemaView(schema, open) { - var _this = this; - - var options = arguments.length <= 2 || arguments[2] === undefined ? { theme: null } : arguments[2]; - - _classCallCheck(this, JSONSchemaView); - - this.schema = schema; //console.log(schema); - this.open = open; - this.options = options; - this.isCollapsed = open <= 0; - - // if schema is an empty object which means any JOSN - this.isAny = typeof schema === 'object' && !Array.isArray(schema) && !Object.keys(schema).filter(function (k) { - return ['title', 'description'].indexOf(k) === -1; - }).length; - - // Determine if a schema is an array - this.isArray = !this.isAny && this.schema && this.schema.type === 'array'; - - this.isObject = this.schema && (this.schema.type === 'object' || this.schema.properties || this.schema.anyOf || this.schema.oneof || this.schema.allOf); - - // Determine if a schema is a primitive - this.isPrimitive = !this.isAny && !this.isArray && !this.isObject; - - // - this.showToggle = this.schema.description || this.schema.title || this.isPrimitive && (this.schema.minimum || this.schema.maximum || this.schema.exclusiveMinimum || this.schema.exclusiveMaximum); - - // populate isRequired property down to properties - if (this.schema && Array.isArray(this.schema.required)) { - this.schema.required.forEach(function (requiredProperty) { - if (typeof _this.schema.properties[requiredProperty] === 'object') { - _this.schema.properties[requiredProperty].isRequired = true; - } - }); - } - } - - /* - * Returns the template with populated properties. - * This template does not have the children - */ - - _createClass(JSONSchemaView, [{ - key: 'template', - value: function template() { - if (!this.schema) { - return ''; - } - - return ('\n <!-- Any -->\n ' + (0, _helpersJs._if)(this.isAny)(_templateObject, (0, _helpersJs._if)(this.showToggle)(_templateObject2, this.schema.title || ''), (0, _helpersJs._if)(this.schema.description && !this.isCollapsed)(_templateObject3, marked(this.schema.description || "")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed)(_templateObject4, this.schema.required), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject5, this.schema['default']), (0, _helpersJs._if)(this.schema.pattern && !this.isCollapsed)(_templateObject6, this.schema.pattern)) + '\n\n <!-- Primitive -->\n ' + (0, _helpersJs._if)(this.isPrimitive)(_templateObject7, (0, _helpersJs._if)(this.showToggle)(_templateObject2, this.schema.title || ''), this.schema.type, (0, _helpersJs._if)(!this.isCollapsed && this.schema.format)(_templateObject8, this.schema.format), (0, _helpersJs._if)(!this.isCollapsed && this.schema.minimum)(_templateObject9, this.schema.minimum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.exclusiveMinimum)(_templateObject10, this.schema.exclusiveMinimum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.maximum)(_templateObject11, this.schema.maximum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.exclusiveMaximum)(_templateObject12, this.schema.exclusiveMaximum), (0, _helpersJs._if)(!this.isCollapsed && this.schema.minLength)(_templateObject13, this.schema.minLength), (0, _helpersJs._if)(!this.isCollapsed && this.schema.maxLength)(_templateObject14, this.schema.maxLength), (0, _helpersJs._if)(this.schema.description && !this.isCollapsed)(_templateObject3, marked(this.schema.description || "")), (0, _helpersJs._if)(this.schema.required && !this.isCollapsed)(_templateObject15), (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject5, this.schema['default']), (0, _helpersJs._if)(this.schema.pattern && !this.isCollapsed)(_templateObject6, this.schema.pattern), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\n\n\n <!-- Array -->\n ' + (0, _helpersJs._if)(this.isArray)(_templateObject18, this.schema.title || '', (0, _helpersJs._if)(this.isCollapsed)(_templateObject19), (0, _helpersJs._if)(!this.isCollapsed && (this.schema.uniqueItems || this.schema.minItems || this.schema.maxItems))(_templateObject20, this.schema.minItems || 0, this.schema.maxItems || '∞', (0, _helpersJs._if)(!this.isCollapsed && this.schema.uniqueItems)(_templateObject21)), (0, _helpersJs._if)(!this.isCollapsed && this.schema.description)(_templateObject22, marked(this.schema.description || "")), (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf')), (0, _helpersJs._if)(!this.isCollapsed)(_templateObject23)) + '\n\n <!-- Object -->\n ' + (0, _helpersJs._if)(!this.isPrimitive && !this.isArray && !this.isAny)(_templateObject24, this.schema.title || '', (0, _helpersJs._if)(this.isCollapsed)(_templateObject25), (0, _helpersJs._if)(!this.isCollapsed && this.schema.description)(_templateObject22, marked(this.schema.description || "")), - - (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam != true)(_templateObject26, this.schema.required), - (0, _helpersJs._if)(this.schema.required && !this.isCollapsed && this.options.isBodyParam == true)(_templateObject266, this.schema.required), - - (0, _helpersJs._if)(this.schema['default'] && !this.isCollapsed)(_templateObject27, this.schema['default']),(0, _helpersJs._if)(!this.isCollapsed)(_templateObject29), - (0, _helpersJs._if)(!this.isCollapsed && this.schema.pattern)(_templateObject28, this.schema.pattern), - (0, _helpersJs._if)(!this.isCollapsed && this.schema['enum'])(_templateObject16, this['enum'](this.schema, this.isCollapsed, this.open)), (0, _helpersJs._if)(this.schema.allOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'allOf')), (0, _helpersJs._if)(this.schema.oneOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'oneOf')), (0, _helpersJs._if)(this.schema.anyOf && !this.isCollapsed)(_templateObject17, this.xOf(this.schema, 'anyOf'))) + '\n').replace(/\s*\n/g, '\n').replace(/(\<\!\-\-).+/g, '').trim(); - } - - /* - * Template for oneOf, anyOf and allOf - */ - }, { - key: 'xOf', - value: function xOf(schema, type) { - return '\n <div class="inner ' + type + '">\n <b>' + (0, _helpersJs.convertXOf)(type) + ':</b>\n </div>\n '; - } - - /* - * Template for enums - */ - }, { - key: 'enum', - value: function _enum(schema, isCollapsed, open) { - return '\n ' + (0, _helpersJs._if)(!isCollapsed && schema['enum'])(_templateObject30) + '\n '; - } - - /* - * Toggles the 'collapsed' state - */ - }, { - key: 'toggle', - value: function toggle() { - this.isCollapsed = !this.isCollapsed; - this.render(); - } - - /* - * Renders the element and returns it - */ - }, { - key: 'render', - value: function render() { - if (!this.element) { - this.element = document.createElement('div'); - this.element.classList.add('json-schema-view'); - } - - if (this.isCollapsed) { - this.element.classList.add('collapsed'); - } else { - this.element.classList.remove('collapsed'); - } - - if (this.options.theme) { - this.element.classList.add('json-schema-view-' + this.options.theme); - } - - this.element.innerHTML = this.template(); - - if (!this.schema) { - return this.element; - } - - if (!this.isCollapsed) { - this.appendChildren(this.element); - } - - // add event listener for toggling - if (this.element.querySelector('a.title')) { - this.element.querySelector('a.title').addEventListener('click', this.toggle.bind(this)); - } - return this.element; - } - - /* - * Appends children to given element based on current schema - */ - }, { - key: 'appendChildren', - value: function appendChildren(element) { - var _this2 = this; - - var inner = element.querySelector('.inner'); - - if (!inner) { - return; - } - - if (this.schema['enum']) { - var tempDiv = document.createElement('span');; - tempDiv.classList.add('inner'); - tempDiv.innerHTML = '<code>' + this.schema['enum'].join('</code>, <code>') + '</code>'; - element.querySelector('.enums.inner').appendChild(tempDiv); - } - - if (this.isArray) { - var view = new JSONSchemaView(this.schema.items, Infinity); - inner.appendChild(view.render()); - } - - if (typeof this.schema.properties === 'object') { - Object.keys(this.schema.properties).forEach(function (propertyName) { - var property = _this2.schema.properties[propertyName]; - var tempDiv = document.createElement('div');; - tempDiv.innerHTML = '<div class="property">\n <span class="name">' + propertyName + ':</span>\n </div>'; - var view = new JSONSchemaView(property, _this2.open - 1); - tempDiv.querySelector('.property').appendChild(view.render()); - - inner.appendChild(tempDiv.querySelector('.property')); - }); - } - - if (this.schema.allOf) { - appendXOf.call(this, 'allOf'); - } - if (this.schema.oneOf) { - appendXOf.call(this, 'oneOf'); - } - if (this.schema.anyOf) { - appendXOf.call(this, 'anyOf'); - } - - function appendXOf(type) { - var _this3 = this; - - var innerAllOf = element.querySelector('.inner.' + type); - - this.schema[type].forEach(function (schema) { - var inner = document.createElement('div'); - inner.classList.add('inner'); - var view = new JSONSchemaView(schema, _this3.open - 1); - inner.appendChild(view.render()); - innerAllOf.appendChild(inner); - }); - } - } - }]); - - return JSONSchemaView; -})(); - -exports['default'] = JSONSchemaView; -module.exports = exports['default']; - -},{"./helpers.js":1}]},{},[2])(2) -}); -//# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJDOi9Vc2Vycy9qYW1lc2hpL0Rlc2t0b3AvanNvbi1zY2hlbWEtdmlldy1qcy1tYXN0ZXIvc3JjL2hlbHBlcnMuanMiLCJDOi9Vc2Vycy9qYW1lc2hpL0Rlc2t0b3AvanNvbi1zY2hlbWEtdmlldy1qcy1tYXN0ZXIvc3JjL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7O0FBSU4sU0FBUyxVQUFVLENBQUMsSUFBSSxFQUFFO0FBQy9CLFNBQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0NBQ3JDOzs7Ozs7Ozs7Ozs7O0FBWU0sU0FBUyxHQUFHLENBQUMsU0FBUyxFQUFFO0FBQzdCLFNBQU8sU0FBUyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUM7Q0FDbkM7O0FBQ0QsU0FBUyxLQUFLLEdBQUU7QUFDZCxTQUFPLEVBQUUsQ0FBQztDQUNYO0FBQ0QsU0FBUyxNQUFNLENBQUUsUUFBUSxFQUFrQjtvQ0FBYixXQUFXO0FBQVgsZUFBVzs7O0FBQ3ZDLFNBQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBSztBQUN4RCxXQUFPLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0dBQzVDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDakI7OztBQzVCRCxZQUFZLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkFPTixjQUFjOzs7Ozs7OztJQVFBLGNBQWM7Ozs7Ozs7Ozs7OztBQVd0QixXQVhRLGNBQWMsQ0FXckIsTUFBTSxFQUFFLElBQUksRUFBMkI7OztRQUF6QixPQUFPLHlEQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQzs7MEJBWDlCLGNBQWM7O0FBWS9CLFFBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBQ3JCLFFBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ2pCLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQzs7O0FBRzdCLFFBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUNyQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQ3RCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDbkIsTUFBTSxDQUFDLFVBQUEsQ0FBQzthQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7S0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDOzs7QUFHakUsUUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7O0FBRTFFLFFBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQSxBQUFDLENBQUM7OztBQUd0QixRQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDOzs7QUFHbEUsUUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQ2hCLElBQUksQ0FBQyxXQUFXLEtBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFBLEFBQUMsQUFDOUIsQ0FBQzs7O0FBR0osUUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUN0RCxVQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBQSxnQkFBZ0IsRUFBSTtBQUMvQyxZQUFJLE9BQU8sTUFBSyxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEtBQUssUUFBUSxFQUFFO0FBQ2hFLGdCQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzVEO09BQ0YsQ0FBQyxDQUFDO0tBQ0o7R0FDRjs7Ozs7OztlQXREa0IsY0FBYzs7V0E0RHpCLG9CQUFHO0FBQ1QsVUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7QUFDaEIsZUFBTyxFQUFFLENBQUM7T0FDWDs7QUFFRCxhQUFPLGtDQUVILG9CQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBRVgsb0JBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFDa0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxHQUs3RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUc5RCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBRWxFLG9CQUFJLElBQUksQ0FBQyxNQUFNLFdBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0QsSUFBSSxDQUFDLE1BQU0sV0FBUSxHQUU5RCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDhDQU03RCxvQkFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUVqQixvQkFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUNrQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEdBR3hELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUlyQyxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsbUJBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUcxQyxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBR3pELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLG9CQUNILElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEdBRy9FLG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FHekQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsb0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FHL0Usb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLG9CQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUcvRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBRy9ELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBSzdELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFHL0Msb0JBQUksSUFBSSxDQUFDLE1BQU0sV0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDRCxJQUFJLENBQUMsTUFBTSxXQUFRLEdBRTlELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FHekQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLFFBQUssQ0FBQyxvQkFDeEMsSUFBSSxRQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FHckQsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsNENBTWhGLG9CQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBRXVDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBeUMsb0JBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFDekksb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFBLEFBQUMsQ0FBQyxvQkFFdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxFQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEdBQUcsRUFDcEYsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLHNCQUlqRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsb0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUlwRCxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sUUFBSyxDQUFDLG9CQUN4QyxJQUFJLFFBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUdyRCxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUM1RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUM1RSxvQkFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUU1RSxvQkFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsNkRBTzFCLG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUduQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQ3RCLG9CQUFJLElBQUksQ0FBQyxXQUFXLENBQUMscUJBS25ELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxvQkFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBSXpELG9CQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FFbEUsb0JBQUksSUFBSSxDQUFDLE1BQU0sV0FBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFDUCxJQUFJLENBQUMsTUFBTSxXQUFRLEdBRzFELG9CQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FJckQsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLFFBQUssQ0FBQyxvQkFDeEMsSUFBSSxRQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FHckQsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FDNUUsb0JBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FFNUUsb0JBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUtoQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDM0Q7Ozs7Ozs7V0FLRSxhQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDaEIsNENBQ3NCLElBQUksdUJBQ2pCLDJCQUFXLElBQUksQ0FBQywrQkFFdkI7S0FDSDs7Ozs7OztXQUtHLGVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7QUFDOUIsMEJBQ0ksb0JBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxRQUFLLENBQUMsK0JBS2xDO0tBQ0g7Ozs7Ozs7V0FLSyxrQkFBRztBQUNQLFVBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0FBQ3JDLFVBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUNmOzs7Ozs7O1dBS0ssa0JBQUc7QUFDUCxVQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNqQixZQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0MsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7T0FDaEQ7O0FBRUQsVUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQ3BCLFlBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztPQUN6QyxNQUFNO0FBQ0wsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQzVDOztBQUVELFVBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsWUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyx1QkFBcUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUcsQ0FBQztPQUN0RTs7QUFFRCxVQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7O0FBRXpDLFVBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO0FBQ2hCLGVBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztPQUNyQjs7QUFFRCxVQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtBQUNyQixZQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztPQUNuQzs7O0FBR0QsVUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRTtBQUN6QyxZQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztPQUN6RjtBQUNELGFBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztLQUNyQjs7Ozs7OztXQUthLHdCQUFDLE9BQU8sRUFBRTs7O0FBQ3RCLFVBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRTlDLFVBQUksQ0FBQyxLQUFLLEVBQUU7QUFDVixlQUFPO09BQ1I7O0FBRUQsVUFBSSxJQUFJLENBQUMsTUFBTSxRQUFLLEVBQUU7QUFDcEIsWUFBTSxTQUFTLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sUUFBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckUsWUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZDLG1CQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuQyxlQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztPQUVoRTs7QUFFRCxVQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7QUFDaEIsWUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNqRSxhQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO09BQ2xDOztBQUVELFVBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUU7QUFDOUMsY0FBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLFlBQVksRUFBSTtBQUMxRCxjQUFNLFFBQVEsR0FBRyxPQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDdEQsY0FBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9DLGlCQUFPLENBQUMsU0FBUyw2REFDTSxZQUFZLDZCQUM1QixDQUFDO0FBQ1IsY0FBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLE9BQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pELGlCQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzs7QUFFOUQsZUFBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDdkQsQ0FBQyxDQUFDO09BQ0o7O0FBRUQsVUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtBQUFFLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztPQUFFO0FBQ3pELFVBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7QUFBRSxpQkFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7T0FBRTtBQUN6RCxVQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO0FBQUUsaUJBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQUU7O0FBRXpELGVBQVMsU0FBUyxDQUFDLElBQUksRUFBRTs7O0FBQ3ZCLFlBQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLGFBQVcsSUFBSSxDQUFHLENBQUM7O0FBRTNELFlBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsTUFBTSxFQUFJO0FBQ2xDLGNBQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsZUFBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDN0IsY0FBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLE9BQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELGVBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDakMsb0JBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0IsQ0FBQyxDQUFDO09BQ0o7S0FDRjs7O1NBOVZrQixjQUFjOzs7cUJBQWQsY0FBYyIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCIndXNlIHN0cmljdCc7XG4vKlxuICogQ29udmVydHMgYW55T2YsIGFsbE9mIGFuZCBvbmVPZiB0byBodW1hbiByZWFkYWJsZSBzdHJpbmdcbiovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFhPZih0eXBlKSB7XG4gIHJldHVybiB0eXBlLnN1YnN0cmluZygwLCAzKSArICcgb2YnO1xufVxuXG4vKlxuICogaWYgY29uZGl0aW9uIGZvciBFUzYgdGVtcGxhdGUgc3RyaW5nc1xuICogdG8gYmUgdXNlZCBvbmx5IGluIHRlbXBsYXRlIHN0cmluZ1xuICpcbiAqIEBleGFtcGxlIG15c3RyID0gYFJhbmRvbSBpcyAke19pZihNYXRoLnJhbmRvbSgpID4gMC41KWBncmVhdGVyIHRoYW4gMC41YGBcbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGNvbmRpdGlvblxuICpcbiAqIEByZXR1cm5zIHtmdW5jdGlvbn0gdGhlIHRlbXBsYXRlIGZ1bmN0aW9uXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIF9pZihjb25kaXRpb24pIHtcbiAgcmV0dXJuIGNvbmRpdGlvbiA/IG5vcm1hbCA6IGVtcHR5O1xufVxuZnVuY3Rpb24gZW1wdHkoKXtcbiAgcmV0dXJuICcnO1xufVxuZnVuY3Rpb24gbm9ybWFsICh0ZW1wbGF0ZSwgLi4uZXhwcmVzc2lvbnMpIHtcbiAgcmV0dXJuIHRlbXBsYXRlLnNsaWNlKDEpLnJlZHVjZSgoYWNjdW11bGF0b3IsIHBhcnQsIGkpID0+IHtcbiAgICByZXR1cm4gYWNjdW11bGF0b3IgKyBleHByZXNzaW9uc1tpXSArIHBhcnQ7XG4gIH0sIHRlbXBsYXRlWzBdKTtcbn0iLCIndXNlIHN0cmljdCc7XG5cbi8qIGdsb2JhbHMgSlNPTlNjaGVtYVZpZXcgKi9cblxuaW1wb3J0IHtcbiAgY29udmVydFhPZixcbiAgX2lmXG59IGZyb20gJy4vaGVscGVycy5qcyc7XG5cblxuLyoqXG4gKiBAY2xhc3MgSlNPTlNjaGVtYVZpZXdcbiAqXG4gKiBBIHB1cmUgSmF2YVNjcmlwdCBjb21wb25lbnQgZm9yIHJlbmRlcmluZyBKU09OIFNjaGVtYSBpbiBIVE1MLlxuKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEpTT05TY2hlbWFWaWV3IHtcblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IHNjaGVtYSBUaGUgSlNPTiBTY2hlbWEgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3Blbj0xXSBoaXMgbnVtYmVyIGluZGljYXRlcyB1cCB0byBob3cgbWFueSBsZXZlbHMgdGhlXG4gICAqIHJlbmRlcmVkIHRyZWUgc2hvdWxkIGV4cGFuZC4gU2V0IGl0IHRvIGAwYCB0byBtYWtlIHRoZSB3aG9sZSB0cmVlIGNvbGxhcHNlZFxuICAgKiBvciBzZXQgaXQgdG8gYEluZmluaXR5YCB0byBleHBhbmQgdGhlIHRyZWUgZGVlcGx5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zLlxuICAgKiAgdGhlbWUge3N0cmluZ306IG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6IFsnZGFyayddXG4gICovXG4gIGNvbnN0cnVjdG9yKHNjaGVtYSwgb3Blbiwgb3B0aW9ucyA9IHt0aGVtZTogbnVsbH0pIHtcbiAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IG9wZW4gPD0gMDtcblxuICAgIC8vIGlmIHNjaGVtYSBpcyBhbiBlbXB0eSBvYmplY3Qgd2hpY2ggbWVhbnMgYW55IEpPU05cbiAgICB0aGlzLmlzQW55ID0gdHlwZW9mIHNjaGVtYSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICFBcnJheS5pc0FycmF5KHNjaGVtYSkgJiZcbiAgICAgICFPYmplY3Qua2V5cyhzY2hlbWEpXG4gICAgICAuZmlsdGVyKGs9PiBbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJ10uaW5kZXhPZihrKSA9PT0gLTEpLmxlbmd0aDtcblxuICAgIC8vIERldGVybWluZSBpZiBhIHNjaGVtYSBpcyBhbiBhcnJheVxuICAgIHRoaXMuaXNBcnJheSA9ICF0aGlzLmlzQW55ICYmIHRoaXMuc2NoZW1hICYmIHRoaXMuc2NoZW1hLnR5cGUgPT09ICdhcnJheSc7XG5cbiAgICB0aGlzLmlzT2JqZWN0ID0gdGhpcy5zY2hlbWEgJiZcbiAgICAgICh0aGlzLnNjaGVtYS50eXBlID09PSAnb2JqZWN0JyB8fFxuICAgICAgIHRoaXMuc2NoZW1hLnByb3BlcnRpZXMgfHxcbiAgICAgICB0aGlzLnNjaGVtYS5hbnlPZiB8fFxuICAgICAgIHRoaXMuc2NoZW1hLm9uZW9mIHx8XG4gICAgICAgdGhpcy5zY2hlbWEuYWxsT2YpO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIGEgc2NoZW1hIGlzIGEgcHJpbWl0aXZlXG4gICAgdGhpcy5pc1ByaW1pdGl2ZSA9ICF0aGlzLmlzQW55ICYmICF0aGlzLmlzQXJyYXkgJiYgIXRoaXMuaXNPYmplY3Q7XG5cbiAgICAvL1xuICAgIHRoaXMuc2hvd1RvZ2dsZSA9IHRoaXMuc2NoZW1hLmRlc2NyaXB0aW9uIHx8XG4gICAgICB0aGlzLnNjaGVtYS50aXRsZSB8fFxuICAgICAgKHRoaXMuaXNQcmltaXRpdmUgJiYgKFxuICAgICAgICB0aGlzLnNjaGVtYS5taW5pbXVtIHx8XG4gICAgICAgIHRoaXMuc2NoZW1hLm1heGltdW0gfHxcbiAgICAgICAgdGhpcy5zY2hlbWEuZXhjbHVzaXZlTWluaW11bSB8fFxuICAgICAgICB0aGlzLnNjaGVtYS5leGNsdXNpdmVNYXhpbXVtKVxuICAgICAgKTtcblxuICAgIC8vIHBvcHVsYXRlIGlzUmVxdWlyZWQgcHJvcGVydHkgZG93biB0byBwcm9wZXJ0aWVzXG4gICAgaWYgKHRoaXMuc2NoZW1hICYmIEFycmF5LmlzQXJyYXkodGhpcy5zY2hlbWEucmVxdWlyZWQpKSB7XG4gICAgICB0aGlzLnNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKHJlcXVpcmVkUHJvcGVydHkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2NoZW1hLnByb3BlcnRpZXNbcmVxdWlyZWRQcm9wZXJ0eV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5zY2hlbWEucHJvcGVydGllc1tyZXF1aXJlZFByb3BlcnR5XS5pc1JlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0aGUgdGVtcGxhdGUgd2l0aCBwb3B1bGF0ZWQgcHJvcGVydGllcy5cbiAgICogVGhpcyB0ZW1wbGF0ZSBkb2VzIG5vdCBoYXZlIHRoZSBjaGlsZHJlblxuICAqL1xuICB0ZW1wbGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMuc2NoZW1hKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBcbiAgICAgIDwhLS0gQW55IC0tPlxuICAgICAgJHtfaWYodGhpcy5pc0FueSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbnlcIj5cbiAgICAgICAgICAke19pZih0aGlzLnNob3dUb2dnbGUpYFxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWhhbmRsZVwiPjwvc3Bhbj4ke3RoaXMuc2NoZW1hLnRpdGxlIHx8ICcnfSA8L2E+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZSB0eXBlLWFueVwiPiZsdDthbnkmZ3Q7PC9zcGFuPlxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuZGVzY3JpcHRpb24gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCBcblx0XHQgICR7X2lmKHRoaXMuc2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciByZXF1aXJlZFwiPlJlcXVpcmVkOiAke3RoaXMuc2NoZW1hLnJlcXVpcmVkfTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAke19pZih0aGlzLnNjaGVtYS5kZWZhdWx0ICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBkZWZhdWx0XCI+RGVmYXVsdDogJHt0aGlzLnNjaGVtYS5kZWZhdWx0fTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucGF0dGVybiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgcGF0dGVyblwiPlBhdHRlcm46ICR7dGhpcy5zY2hlbWEucGF0dGVybn08L2Rpdj5cbiAgICAgICAgICBgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cbiAgICAgIDwhLS0gUHJpbWl0aXZlIC0tPlxuICAgICAgJHtfaWYodGhpcy5pc1ByaW1pdGl2ZSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmltaXRpdmVcIj5cbiAgICAgICAgICAke19pZih0aGlzLnNob3dUb2dnbGUpYFxuICAgICAgICAgICAgPGEgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWhhbmRsZVwiPjwvc3Bhbj4ke3RoaXMuc2NoZW1hLnRpdGxlIHx8ICcnfSA8L2E+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+JHt0aGlzLnNjaGVtYS50eXBlfTwvc3Bhbj5cblxuICAgICAgICAgXG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5mb3JtYXQpYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtYXRcIj4oJHt0aGlzLnNjaGVtYS5mb3JtYXR9KTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWluaW11bSlgXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhbmdlIG1pbmltdW1cIj5taW5pbXVtOiR7dGhpcy5zY2hlbWEubWluaW11bX08L3NwYW4+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4Y2x1c2l2ZU1pbmltdW0pYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYW5nZSBleGNsdXNpdmVNaW5pbXVtXCI+KGV4KW1pbmltdW06JHt0aGlzLnNjaGVtYS5leGNsdXNpdmVNaW5pbXVtfTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWF4aW11bSlgXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJhbmdlIG1heGltdW1cIj5tYXhpbXVtOiR7dGhpcy5zY2hlbWEubWF4aW11bX08L3NwYW4+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmV4Y2x1c2l2ZU1heGltdW0pYFxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyYW5nZSBleGNsdXNpdmVNYXhpbXVtXCI+KGV4KW1heGltdW06JHt0aGlzLnNjaGVtYS5leGNsdXNpdmVNYXhpbXVtfTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWluTGVuZ3RoKWBcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2UgbWluTGVuZ3RoXCI+bWluTGVuZ3RoOiR7dGhpcy5zY2hlbWEubWluTGVuZ3RofTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEubWF4TGVuZ3RoKWBcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmFuZ2UgbWF4TGVuZ3RoXCI+bWF4TGVuZ3RoOiR7dGhpcy5zY2hlbWEubWF4TGVuZ3RofTwvc3Bhbj5cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuZGVzY3JpcHRpb24gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIGRlc2NyaXB0aW9uXCI+JHt0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbn08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgXG5cdFx0IFxuXHRcdCAgXG5cdFx0ICAgJHtfaWYodGhpcy5zY2hlbWEucmVxdWlyZWQgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIHJlcXVpcmVkXCI+UmVxdWlyZWQ8L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgJHtfaWYodGhpcy5zY2hlbWEuZGVmYXVsdCAmJiAhdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgZGVmYXVsdFwiPkRlZmF1bHQ6ICR7dGhpcy5zY2hlbWEuZGVmYXVsdH08L2Rpdj5cbiAgICAgICAgICBgfVxuXHRcdCAgICR7X2lmKHRoaXMuc2NoZW1hLnBhdHRlcm4gJiYgIXRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyIHBhdHRlcm5cIj5QYXR0ZXJuOiAke3RoaXMuc2NoZW1hLnBhdHRlcm59PC9kaXY+XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLmVudW0pYFxuICAgICAgICAgICAgJHt0aGlzLmVudW0odGhpcy5zY2hlbWEsIHRoaXMuaXNDb2xsYXBzZWQsIHRoaXMub3Blbil9XG4gICAgICAgICAgYH1cblxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLmFsbE9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnYWxsT2YnKX1gfVxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLm9uZU9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnb25lT2YnKX1gfVxuICAgICAgICAgICR7X2lmKHRoaXMuc2NoZW1hLmFueU9mICYmICF0aGlzLmlzQ29sbGFwc2VkKWAke3RoaXMueE9mKHRoaXMuc2NoZW1hLCAnYW55T2YnKX1gfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG5cblxuICAgICAgPCEtLSBBcnJheSAtLT5cbiAgICAgICR7X2lmKHRoaXMuaXNBcnJheSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnJheVwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGl0bGVcIj48c3BhbiBjbGFzcz1cInRvZ2dsZS1oYW5kbGVcIj48L3NwYW4+JHt0aGlzLnNjaGVtYS50aXRsZSB8fCAnJ308c3BhbiBjbGFzcz1cIm9wZW5pbmcgYnJhY2tldFwiPls8L3NwYW4+JHtfaWYodGhpcy5pc0NvbGxhcHNlZClgPHNwYW4gY2xhc3M9XCJjbG9zaW5nIGJyYWNrZXRcIj5dPC9zcGFuPmB9PC9hPlxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmICh0aGlzLnNjaGVtYS51bmlxdWVJdGVtcyB8fCB0aGlzLnNjaGVtYS5taW5JdGVtcyB8fCB0aGlzLnNjaGVtYS5tYXhJdGVtcykpYFxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9XCJpdGVtcyByYW5nZVwiPigke3RoaXMuc2NoZW1hLm1pbkl0ZW1zIHx8IDB9Li4ke3RoaXMuc2NoZW1hLm1heEl0ZW1zIHx8ICfiiJ4nfSk8L3NwYW4+XG4gICAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS51bmlxdWVJdGVtcylgPHNwYW4gdGl0bGU9XCJ1bmlxdWVcIiBjbGFzcz1cInVuaXF1ZUl0ZW1zXCI+4pmmPC9zcGFuPmB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5kZXNjcmlwdGlvbilgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPiR7dGhpcy5zY2hlbWEuZGVzY3JpcHRpb259PC9kaXY+XG4gICAgICAgICAgICBgfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEuZW51bSlgXG4gICAgICAgICAgICAke3RoaXMuZW51bSh0aGlzLnNjaGVtYSwgdGhpcy5pc0NvbGxhcHNlZCwgdGhpcy5vcGVuKX1cbiAgICAgICAgICBgfVxuXG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuYWxsT2YgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYCR7dGhpcy54T2YodGhpcy5zY2hlbWEsICdhbGxPZicpfWB9XG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEub25lT2YgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYCR7dGhpcy54T2YodGhpcy5zY2hlbWEsICdvbmVPZicpfWB9XG4gICAgICAgICAgJHtfaWYodGhpcy5zY2hlbWEuYW55T2YgJiYgIXRoaXMuaXNDb2xsYXBzZWQpYCR7dGhpcy54T2YodGhpcy5zY2hlbWEsICdhbnlPZicpfWB9XG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZClgXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjbG9zaW5nIGJyYWNrZXRcIj5dPC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgYH1cblxuICAgICAgPCEtLSBPYmplY3QgLS0+XG4gICAgICAke19pZighdGhpcy5pc1ByaW1pdGl2ZSAmJiAhdGhpcy5pc0FycmF5ICYmICF0aGlzLmlzQW55KWBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdFwiPlxuICAgICAgICAgIDxhIGNsYXNzPVwidGl0bGVcIj48c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUtaGFuZGxlXCI+PC9zcGFuPiR7dGhpcy5zY2hlbWEudGl0bGUgfHwgJyd9IDxzcGFuXG4gICAgICAgICAgICBjbGFzcz1cIm9wZW5pbmcgYnJhY2VcIj57PC9zcGFuPiR7X2lmKHRoaXMuaXNDb2xsYXBzZWQpYFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NpbmcgYnJhY2VcIiBuZy1pZj1cImlzQ29sbGFwc2VkXCI+fTwvc3Bhbj5cbiAgICAgICAgICBgfTwvYT5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxuICAgICAgICAgICAgJHtfaWYoIXRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5zY2hlbWEuZGVzY3JpcHRpb24pYFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj4ke3RoaXMuc2NoZW1hLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICAgICAgYH1cbiAgICAgICAgICAgIDwhLS0gY2hpbGRyZW4gZ28gaGVyZSAtLT5cblx0XHQgIFxuXHRcdCAgICR7X2lmKHRoaXMuc2NoZW1hLnJlcXVpcmVkICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXF1aXJlZFwiPkRlZmF1bHQgRmllbGRzOiAke3RoaXMuc2NoZW1hLnJlcXVpcmVkfTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICAke19pZih0aGlzLnNjaGVtYS5kZWZhdWx0ICYmICF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0XCI+RGVmYXVsdDogJHt0aGlzLnNjaGVtYS5kZWZhdWx0fTwvZGl2PlxuICAgICAgICAgIGB9XG5cdFx0ICBcblx0XHRcdCR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuc2NoZW1hLnBhdHRlcm4pYFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF0dGVyblwiPlBhdHRlcm46ICR7dGhpcy5zY2hlbWEucGF0dGVybn08L2Rpdj5cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAke19pZighdGhpcy5pc0NvbGxhcHNlZCAmJiB0aGlzLnNjaGVtYS5lbnVtKWBcbiAgICAgICAgICAgICR7dGhpcy5lbnVtKHRoaXMuc2NoZW1hLCB0aGlzLmlzQ29sbGFwc2VkLCB0aGlzLm9wZW4pfVxuICAgICAgICAgIGB9XG5cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbGxPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FsbE9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5vbmVPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ29uZU9mJyl9YH1cbiAgICAgICAgICAke19pZih0aGlzLnNjaGVtYS5hbnlPZiAmJiAhdGhpcy5pc0NvbGxhcHNlZClgJHt0aGlzLnhPZih0aGlzLnNjaGVtYSwgJ2FueU9mJyl9YH1cblxuICAgICAgICAgICR7X2lmKCF0aGlzLmlzQ29sbGFwc2VkKWBcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNsb3NpbmcgYnJhY2VcIj59PC9zcGFuPlxuICAgICAgICAgIGB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgYH1cbmAucmVwbGFjZSgvXFxzKlxcbi9nLCAnXFxuJykucmVwbGFjZSgvKFxcPFxcIVxcLVxcLSkuKy9nLCAnJykudHJpbSgpO1xuICB9XG5cbiAgLypcbiAgICogVGVtcGxhdGUgZm9yIG9uZU9mLCBhbnlPZiBhbmQgYWxsT2ZcbiAgKi9cbiAgeE9mKHNjaGVtYSwgdHlwZSkge1xuICAgIHJldHVybiBgXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5uZXIgJHt0eXBlfVwiPlxuICAgICAgICA8Yj4ke2NvbnZlcnRYT2YodHlwZSl9OjwvYj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvKlxuICAgKiBUZW1wbGF0ZSBmb3IgZW51bXNcbiAgKi9cbiAgZW51bShzY2hlbWEsIGlzQ29sbGFwc2VkLCBvcGVuKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICR7X2lmKCFpc0NvbGxhcHNlZCAmJiBzY2hlbWEuZW51bSlgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lciBlbnVtc1wiPlxuICAgICAgICAgIDxiPkVudW06PC9iPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGB9XG4gICAgYDtcbiAgfVxuXG4gIC8qXG4gICAqIFRvZ2dsZXMgdGhlICdjb2xsYXBzZWQnIHN0YXRlXG4gICovXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIC8qXG4gICAqIFJlbmRlcnMgdGhlIGVsZW1lbnQgYW5kIHJldHVybnMgaXRcbiAgKi9cbiAgcmVuZGVyKCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50KSB7XG4gICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdqc29uLXNjaGVtYS12aWV3Jyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb2xsYXBzZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NvbGxhcHNlZCcpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudGhlbWUpIHtcbiAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKGBqc29uLXNjaGVtYS12aWV3LSR7dGhpcy5vcHRpb25zLnRoZW1lfWApO1xuICAgIH1cblxuICAgIHRoaXMuZWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRlbXBsYXRlKCk7XG5cbiAgICBpZiAoIXRoaXMuc2NoZW1hKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5hcHBlbmRDaGlsZHJlbih0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8vIGFkZCBldmVudCBsaXN0ZW5lciBmb3IgdG9nZ2xpbmdcbiAgICBpZiAodGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EudGl0bGUnKSkge1xuICAgICAgdGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2EudGl0bGUnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMudG9nZ2xlLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lbGVtZW50O1xuICB9XG5cbiAgLypcbiAgICogQXBwZW5kcyBjaGlsZHJlbiB0byBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGN1cnJlbnQgc2NoZW1hXG4gICovXG4gIGFwcGVuZENoaWxkcmVuKGVsZW1lbnQpIHtcbiAgICBjb25zdCBpbm5lciA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLmlubmVyJyk7XG5cbiAgICBpZiAoIWlubmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NoZW1hLmVudW0pIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBKU09ORm9ybWF0dGVyKHRoaXMuc2NoZW1hLmVudW0sIHRoaXMub3BlbiAtIDEpO1xuICAgICAgY29uc3QgZm9ybWF0dGVyRWwgPSBmb3JtYXR0ZXIucmVuZGVyKCk7XG4gICAgICBmb3JtYXR0ZXJFbC5jbGFzc0xpc3QuYWRkKCdpbm5lcicpO1xuICAgICAgZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuZW51bXMuaW5uZXInKS5hcHBlbmRDaGlsZChmb3JtYXR0ZXJFbCk7XG5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FycmF5KSB7XG4gICAgICBjb25zdCB2aWV3ID0gbmV3IEpTT05TY2hlbWFWaWV3KHRoaXMuc2NoZW1hLml0ZW1zLCB0aGlzLm9wZW4gLSAxKVxuICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXModGhpcy5zY2hlbWEucHJvcGVydGllcykuZm9yRWFjaChwcm9wZXJ0eU5hbWUgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IHRoaXMuc2NoZW1hLnByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgICAgICAgY29uc3QgdGVtcERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOztcbiAgICAgICAgdGVtcERpdi5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz1cInByb3BlcnR5XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+JHtwcm9wZXJ0eU5hbWV9Ojwvc3Bhbj5cbiAgICAgICAgPC9kaXY+YDtcbiAgICAgICAgY29uc3QgdmlldyA9IG5ldyBKU09OU2NoZW1hVmlldyhwcm9wZXJ0eSwgdGhpcy5vcGVuIC0gMSk7XG4gICAgICAgIHRlbXBEaXYucXVlcnlTZWxlY3RvcignLnByb3BlcnR5JykuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG5cbiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodGVtcERpdi5xdWVyeVNlbGVjdG9yKCcucHJvcGVydHknKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY2hlbWEuYWxsT2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ2FsbE9mJyk7IH1cbiAgICBpZiAodGhpcy5zY2hlbWEub25lT2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ29uZU9mJyk7IH1cbiAgICBpZiAodGhpcy5zY2hlbWEuYW55T2YpIHsgYXBwZW5kWE9mLmNhbGwodGhpcywgJ2FueU9mJyk7IH1cblxuICAgIGZ1bmN0aW9uIGFwcGVuZFhPZih0eXBlKSB7XG4gICAgICBjb25zdCBpbm5lckFsbE9mID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKGAuaW5uZXIuJHt0eXBlfWApO1xuXG4gICAgICB0aGlzLnNjaGVtYVt0eXBlXS5mb3JFYWNoKHNjaGVtYSA9PiB7XG4gICAgICAgIGNvbnN0IGlubmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGlubmVyLmNsYXNzTGlzdC5hZGQoJ2lubmVyJyk7XG4gICAgICAgIGNvbnN0IHZpZXcgPSBuZXcgSlNPTlNjaGVtYVZpZXcoc2NoZW1hLCB0aGlzLm9wZW4gLSAxKTtcbiAgICAgICAgaW5uZXIuYXBwZW5kQ2hpbGQodmlldy5yZW5kZXIoKSk7XG4gICAgICAgIGlubmVyQWxsT2YuYXBwZW5kQ2hpbGQoaW5uZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0= - -</script> - - <script> -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.$RefParser = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ -/** ! - * JSON Schema $Ref Parser v3.1.2 - * - * @link https://github.com/BigstickCarpet/json-schema-ref-parser - * @license MIT - */ -"use strict";function bundle(e,r){debug("Bundling $ref pointers in %s",e.$refs._root$Ref.path);var t=[];crawl(e,"schema",e.$refs._root$Ref.path+"#","#",t,e.$refs,r),remap(t)}function crawl(e,r,t,f,n,i,a){var o=null===r?e:e[r];if(o&&"object"==typeof o)if($Ref.is$Ref(o))inventory$Ref(e,r,t,f,n,i,a);else{var l=Object.keys(o),u=l.indexOf("definitions");u>0&&l.splice(0,0,l.splice(u,1)[0]),l.forEach(function(e){var r=Pointer.join(t,e),l=Pointer.join(f,e),u=o[e];$Ref.is$Ref(u)?inventory$Ref(o,e,t,l,n,i,a):crawl(o,e,r,l,n,i,a)})}}function inventory$Ref(e,r,t,f,n,i,a){if(!n.some(function(t){return t.parent===e&&t.key===r})){var o=null===r?e:e[r],l=url.resolve(t,o.$ref),u=i._resolve(l,a),h=Pointer.parse(f).length,s=url.stripHash(u.path),$=url.getHash(u.path),c=s!==i._root$Ref.path,p=$Ref.isExtended$Ref(o);n.push({$ref:o,parent:e,key:r,pathFromRoot:f,depth:h,file:s,hash:$,value:u.value,circular:u.circular,extended:p,external:c}),crawl(u.value,null,u.path,f,n,i,a)}}function remap(e){e.sort(function(e,r){return e.file!==r.file?e.file<r.file?-1:1:e.hash!==r.hash?e.hash<r.hash?-1:1:e.circular!==r.circular?e.circular?-1:1:e.extended!==r.extended?e.extended?1:-1:e.depth!==r.depth?e.depth-r.depth:r.pathFromRoot.lastIndexOf("/definitions")-e.pathFromRoot.lastIndexOf("/definitions")});var r,t,f;e.forEach(function(e){debug('Re-mapping $ref pointer "%s" at %s',e.$ref.$ref,e.pathFromRoot),e.external?e.file===r&&e.hash===t?e.$ref.$ref=f:e.file===r&&0===e.hash.indexOf(t+"/")?e.$ref.$ref=Pointer.join(f,Pointer.parse(e.hash)):(r=e.file,t=e.hash,f=e.pathFromRoot,e.$ref=e.parent[e.key]=$Ref.dereference(e.$ref,e.value),e.circular&&(e.$ref.$ref=e.pathFromRoot)):e.$ref.$ref=e.hash,debug(" new value: %s",e.$ref&&e.$ref.$ref?e.$ref.$ref:"[object Object]")})}var $Ref=require("./ref"),Pointer=require("./pointer"),debug=require("./util/debug"),url=require("./util/url");module.exports=bundle; - -},{"./pointer":10,"./ref":11,"./util/debug":16,"./util/url":19}],2:[function(require,module,exports){ -"use strict";function dereference(e,r){debug("Dereferencing $ref pointers in %s",e.$refs._root$Ref.path);var c=crawl(e.schema,e.$refs._root$Ref.path,"#",[],e.$refs,r);e.$refs.circular=c.circular,e.schema=c.value}function crawl(e,r,c,u,f,i){var n,a={value:e,circular:!1};return e&&"object"==typeof e&&(u.push(e),$Ref.isAllowed$Ref(e,i)?(n=dereference$Ref(e,r,c,u,f,i),a.circular=n.circular,a.value=n.value):Object.keys(e).forEach(function(l){var o=Pointer.join(r,l),t=Pointer.join(c,l),d=e[l],$=!1;$Ref.isAllowed$Ref(d,i)?(n=dereference$Ref(d,o,t,u,f,i),$=n.circular,e[l]=n.value):-1===u.indexOf(d)?(n=crawl(d,o,t,u,f,i),$=n.circular,e[l]=n.value):$=foundCircularReference(o,f,i),a.circular=a.circular||$}),u.pop()),a}function dereference$Ref(e,r,c,u,f,i){debug('Dereferencing $ref pointer "%s" at %s',e.$ref,r);var n=url.resolve(r,e.$ref),a=f._resolve(n,i),l=a.circular,o=l||-1!==u.indexOf(a.value);o&&foundCircularReference(r,f,i);var t=$Ref.dereference(e,a.value);if(!o){var d=crawl(t,a.path,c,u,f,i);o=d.circular,t=d.value}return o&&!l&&"ignore"===i.dereference.circular&&(t=e),l&&(t.$ref=c),{circular:o,value:t}}function foundCircularReference(e,r,c){if(r.circular=!0,!c.dereference.circular)throw ono.reference("Circular $ref pointer found at %s",e);return!0}var $Ref=require("./ref"),Pointer=require("./pointer"),ono=require("ono"),debug=require("./util/debug"),url=require("./util/url");module.exports=dereference; - -},{"./pointer":10,"./ref":11,"./util/debug":16,"./util/url":19,"ono":69}],3:[function(require,module,exports){ -(function (Buffer){ -"use strict";function $RefParser(){this.schema=null,this.$refs=new $Refs}function normalizeArgs(e){var r,t,a,s;return e=Array.prototype.slice.call(e),"function"==typeof e[e.length-1]&&(s=e.pop()),"string"==typeof e[0]?(r=e[0],"object"==typeof e[2]?(t=e[1],a=e[2]):(t=void 0,a=e[1])):(r="",t=e[0],a=e[1]),a instanceof Options||(a=new Options(a)),{path:r,schema:t,options:a,callback:s}}var Promise=require("./util/promise"),Options=require("./options"),$Refs=require("./refs"),parse=require("./parse"),resolveExternal=require("./resolve-external"),bundle=require("./bundle"),dereference=require("./dereference"),url=require("./util/url"),maybe=require("call-me-maybe"),ono=require("ono");module.exports=$RefParser,module.exports.YAML=require("./util/yaml"),$RefParser.parse=function(e,r,t){var a=this,s=new a;return s.parse.apply(s,arguments)},$RefParser.prototype.parse=function(e,r,t){var a,s=normalizeArgs(arguments);if(!s.path&&!s.schema){var n=ono("Expected a file path, URL, or object. Got %s",s.path||s.schema);return maybe(s.callback,Promise.reject(n))}this.schema=null,this.$refs=new $Refs,url.isFileSystemPath(s.path)&&(s.path=url.fromFileSystemPath(s.path)),s.path=url.resolve(url.cwd(),s.path),s.schema&&"object"==typeof s.schema?(this.$refs._add(s.path,s.schema),a=Promise.resolve(s.schema)):a=parse(s.path,this.$refs,s.options);var o=this;return a.then(function(e){if(!e||"object"!=typeof e||Buffer.isBuffer(e))throw ono.syntax('"%s" is not a valid JSON Schema',o.$refs._root$Ref.path||e);return o.schema=e,maybe(s.callback,Promise.resolve(o.schema))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.resolve=function(e,r,t){var a=this,s=new a;return s.resolve.apply(s,arguments)},$RefParser.prototype.resolve=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.parse(s.path,s.schema,s.options).then(function(){return resolveExternal(a,s.options)}).then(function(){return maybe(s.callback,Promise.resolve(a.$refs))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.bundle=function(e,r,t){var a=this,s=new a;return s.bundle.apply(s,arguments)},$RefParser.prototype.bundle=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.resolve(s.path,s.schema,s.options).then(function(){return bundle(a,s.options),maybe(s.callback,Promise.resolve(a.schema))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})},$RefParser.dereference=function(e,r,t){var a=this,s=new a;return s.dereference.apply(s,arguments)},$RefParser.prototype.dereference=function(e,r,t){var a=this,s=normalizeArgs(arguments);return this.resolve(s.path,s.schema,s.options).then(function(){return dereference(a,s.options),maybe(s.callback,Promise.resolve(a.schema))})["catch"](function(e){return maybe(s.callback,Promise.reject(e))})}; - -}).call(this,{"isBuffer":require("../node_modules/is-buffer/index.js")}) - -},{"../node_modules/is-buffer/index.js":36,"./bundle":1,"./dereference":2,"./options":4,"./parse":5,"./refs":12,"./resolve-external":13,"./util/promise":18,"./util/url":19,"./util/yaml":20,"call-me-maybe":27,"ono":69}],4:[function(require,module,exports){ -"use strict";function $RefParserOptions(e){merge(this,$RefParserOptions.defaults),merge(this,e)}function merge(e,r){if(isMergeable(r))for(var s=Object.keys(r),a=0;a<s.length;a++){var t=s[a],i=r[t],o=e[t];isMergeable(i)?e[t]=merge(o||{},i):void 0!==i&&(e[t]=i)}return e}function isMergeable(e){return e&&"object"==typeof e&&!Array.isArray(e)&&!(e instanceof RegExp)&&!(e instanceof Date)}var jsonParser=require("./parsers/json"),yamlParser=require("./parsers/yaml"),textParser=require("./parsers/text"),binaryParser=require("./parsers/binary"),fileResolver=require("./resolvers/file"),httpResolver=require("./resolvers/http"),zschemaValidator=require("./validators/z-schema");module.exports=$RefParserOptions,$RefParserOptions.defaults={parse:{json:jsonParser,yaml:yamlParser,text:textParser,binary:binaryParser},resolve:{file:fileResolver,http:httpResolver,external:!0},dereference:{circular:!0},validate:{zschema:zschemaValidator}}; - -},{"./parsers/binary":6,"./parsers/json":7,"./parsers/text":8,"./parsers/yaml":9,"./resolvers/file":14,"./resolvers/http":15,"./validators/z-schema":21}],5:[function(require,module,exports){ -(function (Buffer){ -"use strict";function parse(r,e,n){try{r=url.stripHash(r);var t=e._add(r),u={url:r,extension:url.getExtension(r)};return readFile(u,n).then(function(r){return t.pathType=r.plugin.name,u.data=r.result,parseFile(u,n)}).then(function(r){return t.value=r.result,r.result})}catch(i){return Promise.reject(i)}}function readFile(r,e){return new Promise(function(n,t){function u(e){t(!e||e instanceof SyntaxError?ono.syntax('Unable to resolve $ref pointer "%s"',r.url):e)}debug("Reading %s",r.url);var i=plugins.all(e.resolve);i=plugins.filter(i,"canRead",r),plugins.sort(i),plugins.run(i,"read",r).then(n,u)})}function parseFile(r,e){return new Promise(function(n,t){function u(e){!e.plugin.allowEmpty&&isEmpty(e.result)?t(ono.syntax('Error parsing "%s" as %s. \nParsed value is empty',r.url,e.plugin.name)):n(e)}function i(e){e?(e=e instanceof Error?e:new Error(e),t(ono.syntax(e,"Error parsing %s",r.url))):t(ono.syntax("Unable to parse %s",r.url))}debug("Parsing %s",r.url);var s=plugins.all(e.parse),l=plugins.filter(s,"canParse",r),o=l.length>0?l:s;plugins.sort(o),plugins.run(o,"parse",r).then(u,i)})}function isEmpty(r){return void 0===r||"object"==typeof r&&0===Object.keys(r).length||"string"==typeof r&&0===r.trim().length||Buffer.isBuffer(r)&&0===r.length}var ono=require("ono"),debug=require("./util/debug"),url=require("./util/url"),plugins=require("./util/plugins"),Promise=require("./util/promise");module.exports=parse; - -}).call(this,{"isBuffer":require("../node_modules/is-buffer/index.js")}) - -},{"../node_modules/is-buffer/index.js":36,"./util/debug":16,"./util/plugins":17,"./util/promise":18,"./util/url":19,"ono":69}],6:[function(require,module,exports){ -(function (Buffer){ -"use strict";var BINARY_REGEXP=/\.(jpeg|jpg|gif|png|bmp|ico)$/i;module.exports={order:400,allowEmpty:!0,canParse:function(r){return Buffer.isBuffer(r.data)&&BINARY_REGEXP.test(r.url)},parse:function(r){return Buffer.isBuffer(r.data)?r.data:new Buffer(r.data)}}; - -}).call(this,require("buffer").Buffer) - -},{"buffer":25}],7:[function(require,module,exports){ -(function (Buffer){ -"use strict";var Promise=require("../util/promise");module.exports={order:100,allowEmpty:!0,canParse:".json",parse:function(r){return new Promise(function(e,t){var i=r.data;Buffer.isBuffer(i)&&(i=i.toString()),e("string"==typeof i?0===i.trim().length?void 0:JSON.parse(i):i)})}}; - -}).call(this,{"isBuffer":require("../../node_modules/is-buffer/index.js")}) - -},{"../../node_modules/is-buffer/index.js":36,"../util/promise":18}],8:[function(require,module,exports){ -(function (Buffer){ -"use strict";var TEXT_REGEXP=/\.(txt|htm|html|md|xml|js|min|map|css|scss|less|svg)$/i;module.exports={order:300,allowEmpty:!0,encoding:"utf8",canParse:function(t){return("string"==typeof t.data||Buffer.isBuffer(t.data))&&TEXT_REGEXP.test(t.url)},parse:function(t){if("string"==typeof t.data)return t.data;if(Buffer.isBuffer(t.data))return t.data.toString(this.encoding);throw new Error("data is not text")}}; - -}).call(this,{"isBuffer":require("../../node_modules/is-buffer/index.js")}) - -},{"../../node_modules/is-buffer/index.js":36}],9:[function(require,module,exports){ -(function (Buffer){ -"use strict";var Promise=require("../util/promise"),YAML=require("../util/yaml");module.exports={order:200,allowEmpty:!0,canParse:[".yaml",".yml",".json"],parse:function(r){return new Promise(function(e,t){var i=r.data;Buffer.isBuffer(i)&&(i=i.toString()),e("string"==typeof i?YAML.parse(i):i)})}}; - -}).call(this,{"isBuffer":require("../../node_modules/is-buffer/index.js")}) - -},{"../../node_modules/is-buffer/index.js":36,"../util/promise":18,"../util/yaml":20}],10:[function(require,module,exports){ -"use strict";function Pointer(e,r){this.$ref=e,this.path=r,this.value=void 0,this.circular=!1}function resolveIf$Ref(e,r){if($Ref.isAllowed$Ref(e.value,r)){var t=url.resolve(e.path,e.value.$ref);if(t!==e.path){var s=e.$ref.$refs._resolve(t,r);return $Ref.isExtended$Ref(e.value)?e.value=$Ref.dereference(e.value,s.value):(e.$ref=s.$ref,e.path=s.path,e.value=s.value),!0}e.circular=!0}}function setValue(e,r,t){if(!e.value||"object"!=typeof e.value)throw ono.syntax('Error assigning $ref pointer "%s". \nCannot set "%s" of a non-object.',e.path,r);return"-"===r&&Array.isArray(e.value)?e.value.push(t):e.value[r]=t,t}module.exports=Pointer;var $Ref=require("./ref"),url=require("./util/url"),ono=require("ono"),slashes=/\//g,tildes=/~/g,escapedSlash=/~1/g,escapedTilde=/~0/g;Pointer.prototype.resolve=function(e,r){var t=Pointer.parse(this.path);this.value=e;for(var s=0;s<t.length;s++){resolveIf$Ref(this,r)&&(this.path=Pointer.join(this.path,t.slice(s)));var i=t[s];if(void 0===this.value[i])throw ono.syntax('Error resolving $ref pointer "%s". \nToken "%s" does not exist.',this.path,i);this.value=this.value[i]}return resolveIf$Ref(this,r),this},Pointer.prototype.set=function(e,r,t){var s,i=Pointer.parse(this.path);if(0===i.length)return this.value=r,r;this.value=e;for(var a=0;a<i.length-1;a++)resolveIf$Ref(this,t),s=i[a],this.value&&void 0!==this.value[s]?this.value=this.value[s]:this.value=setValue(this,s,{});return resolveIf$Ref(this,t),s=i[i.length-1],setValue(this,s,r),e},Pointer.parse=function(e){var r=url.getHash(e).substr(1);if(!r)return[];r=r.split("/");for(var t=0;t<r.length;t++)r[t]=decodeURI(r[t].replace(escapedSlash,"/").replace(escapedTilde,"~"));if(""!==r[0])throw ono.syntax('Invalid $ref pointer "%s". Pointers must begin with "#/"',r);return r.slice(1)},Pointer.join=function(e,r){-1===e.indexOf("#")&&(e+="#"),r=Array.isArray(r)?r:[r];for(var t=0;t<r.length;t++){var s=r[t];e+="/"+encodeURI(s.replace(tildes,"~0").replace(slashes,"~1"))}return e}; - -},{"./ref":11,"./util/url":19,"ono":69}],11:[function(require,module,exports){ -"use strict";function $Ref(){this.path=void 0,this.value=void 0,this.$refs=void 0,this.pathType=void 0}module.exports=$Ref;var Pointer=require("./pointer");$Ref.prototype.exists=function(e,t){try{return this.resolve(e,t),!0}catch(r){return!1}},$Ref.prototype.get=function(e,t){return this.resolve(e,t).value},$Ref.prototype.resolve=function(e,t){var r=new Pointer(this,e);return r.resolve(this.value,t)},$Ref.prototype.set=function(e,t){var r=new Pointer(this,e);this.value=r.set(this.value,t)},$Ref.is$Ref=function(e){return e&&"object"==typeof e&&"string"==typeof e.$ref&&e.$ref.length>0},$Ref.isExternal$Ref=function(e){return $Ref.is$Ref(e)&&"#"!==e.$ref[0]},$Ref.isAllowed$Ref=function(e,t){return!$Ref.is$Ref(e)||"#"!==e.$ref[0]&&t&&!t.resolve.external?void 0:!0},$Ref.isExtended$Ref=function(e){return $Ref.is$Ref(e)&&Object.keys(e).length>1},$Ref.dereference=function(e,t){if(t&&"object"==typeof t&&$Ref.isExtended$Ref(e)){var r={};return Object.keys(e).forEach(function(t){"$ref"!==t&&(r[t]=e[t])}),Object.keys(t).forEach(function(e){e in r||(r[e]=t[e])}),r}return t}; - -},{"./pointer":10}],12:[function(require,module,exports){ -"use strict";function $Refs(){this.circular=!1,this._$refs={},this._root$Ref=null}function getPaths(e,r){var t=Object.keys(e);return r=Array.isArray(r[0])?r[0]:Array.prototype.slice.call(r),r.length>0&&r[0]&&(t=t.filter(function(t){return-1!==r.indexOf(e[t].pathType)})),t.map(function(r){return{encoded:r,decoded:"file"===e[r].pathType?url.toFileSystemPath(r,!0):r}})}var ono=require("ono"),$Ref=require("./ref"),url=require("./util/url");module.exports=$Refs,$Refs.prototype.paths=function(e){var r=getPaths(this._$refs,arguments);return r.map(function(e){return e.decoded})},$Refs.prototype.values=function(e){var r=this._$refs,t=getPaths(r,arguments);return t.reduce(function(e,t){return e[t.decoded]=r[t.encoded].value,e},{})},$Refs.prototype.toJSON=$Refs.prototype.values,$Refs.prototype.exists=function(e,r){try{return this._resolve(e,r),!0}catch(t){return!1}},$Refs.prototype.get=function(e,r){return this._resolve(e,r).value},$Refs.prototype.set=function(e,r){e=url.resolve(this._root$Ref.path,e);var t=url.stripHash(e),o=this._$refs[t];if(!o)throw ono('Error resolving $ref pointer "%s". \n"%s" not found.',e,t);o.set(e,r)},$Refs.prototype._add=function(e,r){var t=url.stripHash(e),o=new $Ref;return o.path=t,o.value=r,o.$refs=this,this._$refs[t]=o,this._root$Ref=this._root$Ref||o,o},$Refs.prototype._resolve=function(e,r){e=url.resolve(this._root$Ref.path,e);var t=url.stripHash(e),o=this._$refs[t];if(!o)throw ono('Error resolving $ref pointer "%s". \n"%s" not found.',e,t);return o.resolve(e,r)},$Refs.prototype._get$Ref=function(e){e=url.resolve(this._root$Ref.path,e);var r=url.stripHash(e);return this._$refs[r]}; - -},{"./ref":11,"./util/url":19,"ono":69}],13:[function(require,module,exports){ -"use strict";function resolveExternal(e,r){if(!r.resolve.external)return Promise.resolve();try{debug("Resolving $ref pointers in %s",e.$refs._root$Ref.path);var s=crawl(e.schema,e.$refs._root$Ref.path+"#",e.$refs,r);return Promise.all(s)}catch(t){return Promise.reject(t)}}function crawl(e,r,s,t){var o=[];return e&&"object"==typeof e&&($Ref.isExternal$Ref(e)?o.push(resolve$Ref(e,r,s,t)):Object.keys(e).forEach(function(i){var n=Pointer.join(r,i),l=e[i];$Ref.isExternal$Ref(l)?o.push(resolve$Ref(l,n,s,t)):o=o.concat(crawl(l,n,s,t))})),o}function resolve$Ref(e,r,s,t){debug('Resolving $ref pointer "%s" at %s',e.$ref,r);var o=url.resolve(r,e.$ref),i=url.stripHash(o);return e=s._$refs[i],e?Promise.resolve(e.value):parse(o,s,t).then(function(e){debug("Resolving $ref pointers in %s",i);var r=crawl(e,i+"#",s,t);return Promise.all(r)})}var Promise=require("./util/promise"),$Ref=require("./ref"),Pointer=require("./pointer"),parse=require("./parse"),debug=require("./util/debug"),url=require("./util/url");module.exports=resolveExternal; - -},{"./parse":5,"./pointer":10,"./ref":11,"./util/debug":16,"./util/promise":18,"./util/url":19}],14:[function(require,module,exports){ -"use strict";var fs=require("fs"),ono=require("ono"),Promise=require("../util/promise"),url=require("../util/url"),debug=require("../util/debug");module.exports={order:100,canRead:function(r){return url.isFileSystemPath(r.url)},read:function(r){return new Promise(function(e,i){var u;try{u=url.toFileSystemPath(r.url)}catch(o){i(ono.uri(o,"Malformed URI: %s",r.url))}debug("Opening file: %s",u);try{fs.readFile(u,function(r,o){r?i(ono(r,'Error opening file "%s"',u)):e(o)})}catch(o){i(ono(o,'Error opening file "%s"',u))}})}}; - -},{"../util/debug":16,"../util/promise":18,"../util/url":19,"fs":24,"ono":69}],15:[function(require,module,exports){ -(function (process,Buffer){ -"use strict";function download(e,t,o){return new Promise(function(r,n){e=url.parse(e),o=o||[],o.push(e.href),get(e,t).then(function(s){if(s.statusCode>=400)throw ono({status:s.statusCode},"HTTP ERROR %d",s.statusCode);if(s.statusCode>=300)if(o.length>t.redirects)n(ono({status:s.statusCode},"Error downloading %s. \nToo many redirects: \n %s",o[0],o.join(" \n ")));else{if(!s.headers.location)throw ono({status:s.statusCode},"HTTP %d redirect with no location header",s.statusCode);debug("HTTP %d redirect %s -> %s",s.statusCode,e.href,s.headers.location);var u=url.resolve(e,s.headers.location);download(u,t,o).then(r,n)}else r(s.body||new Buffer(0))})["catch"](function(t){n(ono(t,"Error downloading",e.href))})})}function get(e,t){return new Promise(function(o,r){debug("GET",e.href);var n="https:"===e.protocol?https:http,s=n.get({hostname:e.hostname,port:e.port,path:e.path,auth:e.auth,headers:t.headers||{},withCredentials:t.withCredentials});"function"==typeof s.setTimeout&&s.setTimeout(t.timeout),s.on("timeout",function(){s.abort()}),s.on("error",r),s.once("response",function(e){e.body=new Buffer(0),e.on("data",function(t){e.body=Buffer.concat([e.body,new Buffer(t)])}),e.on("error",r),e.on("end",function(){o(e)})})})}var http=require("http"),https=require("https"),ono=require("ono"),url=require("../util/url"),debug=require("../util/debug"),Promise=require("../util/promise");module.exports={order:200,headers:null,timeout:5e3,redirects:5,withCredentials:!1,canRead:function(e){return url.isHttp(e.url)},read:function(e){var t=url.parse(e.url);return process.browser&&!t.protocol&&(t.protocol=url.parse(location.href).protocol),download(t,this)}}; - -}).call(this,require('_process'),require("buffer").Buffer) - -},{"../util/debug":16,"../util/promise":18,"../util/url":19,"_process":71,"buffer":25,"http":87,"https":33,"ono":69}],16:[function(require,module,exports){ -"use strict";var debug=require("debug");module.exports=debug("json-schema-ref-parser"); - -},{"debug":29}],17:[function(require,module,exports){ -"use strict";function getResult(e,r,t,n){var u=e[r];if("function"==typeof u)return u.apply(e,[t,n]);if(!n){if(u instanceof RegExp)return u.test(t.url);if("string"==typeof u)return u===t.extension;if(Array.isArray(u))return-1!==u.indexOf(t.extension)}return u}var Promise=require("./promise"),debug=require("./debug");exports.all=function(e){return Object.keys(e).filter(function(r){return"object"==typeof e[r]}).map(function(r){return e[r].name=r,e[r]})},exports.filter=function(e,r,t){return e.filter(function(e){return!!getResult(e,r,t)})},exports.sort=function(e){return e.forEach(function(e){e.order=e.order||Number.MAX_SAFE_INTEGER}),e.sort(function(e,r){return e.order-r.order})},exports.run=function(e,r,t){var n,u,i=0;return new Promise(function(o,f){function s(){if(n=e[i++],!n)return f(u);try{debug(" %s",n.name);var o=getResult(n,r,t,c);o&&"function"==typeof o.then?o.then(a,p):void 0!==o&&a(o)}catch(s){p(s)}}function c(e,r){e?p(e):a(r)}function a(e){debug(" success"),o({plugin:n,result:e})}function p(e){debug(" %s",e.message||e),u=e,s()}s()})}; - -},{"./debug":16,"./promise":18}],18:[function(require,module,exports){ -"use strict";module.exports="function"==typeof Promise?Promise:require("es6-promise").Promise; - -},{"es6-promise":31}],19:[function(require,module,exports){ -(function (process){ -"use strict";var isWindows=/^win/.test(process.platform),forwardSlashPattern=/\//g,protocolPattern=/^([a-z0-9.+-]+):\/\//i,url=module.exports,urlEncodePatterns=[/\?/g,"%3F",/\#/g,"%23",isWindows?/\\/g:/\//,"/"],urlDecodePatterns=[/\%23/g,"#",/\%24/g,"$",/\%26/g,"&",/\%2C/g,",",/\%40/g,"@"];exports.parse=require("url").parse,exports.resolve=require("url").resolve,exports.cwd=function(){return process.browser?location.href:process.cwd()+"/"},exports.getProtocol=function(r){var e=protocolPattern.exec(r);return e?e[1].toLowerCase():void 0},exports.getExtension=function(r){var e=r.lastIndexOf(".");return e>=0?r.substr(e).toLowerCase():""},exports.getHash=function(r){var e=r.indexOf("#");return e>=0?r.substr(e):"#"},exports.stripHash=function(r){var e=r.indexOf("#");return e>=0&&(r=r.substr(0,e)),r},exports.isHttp=function(r){var e=url.getProtocol(r);return"http"===e||"https"===e?!0:void 0===e?process.browser:!1},exports.isFileSystemPath=function(r){if(process.browser)return!1;var e=url.getProtocol(r);return void 0===e||"file"===e},exports.fromFileSystemPath=function(r){for(var e=0;e<urlEncodePatterns.length;e+=2)r=r.replace(urlEncodePatterns[e],urlEncodePatterns[e+1]);return encodeURI(r)},exports.toFileSystemPath=function(r,e){r=decodeURI(r);for(var t=0;t<urlDecodePatterns.length;t+=2)r=r.replace(urlDecodePatterns[t],urlDecodePatterns[t+1]);var o="file://"===r.substr(0,7).toLowerCase();return o&&(r="/"===r[7]?r.substr(8):r.substr(7),isWindows&&"/"===r[1]&&(r=r[0]+":"+r.substr(1)),e?r="file:///"+r:(o=!1,r=isWindows?r:"/"+r)),isWindows&&!o&&(r=r.replace(forwardSlashPattern,"\\")),r}; - -}).call(this,require('_process')) - -},{"_process":71,"url":93}],20:[function(require,module,exports){ -"use strict";var yaml=require("js-yaml"),ono=require("ono");module.exports={parse:function(r,e){try{return yaml.safeLoad(r)}catch(o){throw o instanceof Error?o:ono(o,o.message)}},stringify:function(r,e,o){try{var t=("string"==typeof o?o.length:o)||2;return yaml.safeDump(r,{indent:t})}catch(n){throw n instanceof Error?n:ono(n,n.message)}}}; - -},{"js-yaml":38,"ono":69}],21:[function(require,module,exports){ -"use strict";module.exports={order:100,canValidate:function(e){return!!e.resolved},validate:function(e){}}; - -},{}],22:[function(require,module,exports){ -var lookup="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(t){"use strict";function r(t){var r=t.charCodeAt(0);return r===h||r===u?62:r===c||r===f?63:o>r?-1:o+10>r?r-o+26+26:i+26>r?r-i:A+26>r?r-A+26:void 0}function e(t){function e(t){i[f++]=t}var n,h,c,o,A,i;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var u=t.length;A="="===t.charAt(u-2)?2:"="===t.charAt(u-1)?1:0,i=new a(3*t.length/4-A),c=A>0?t.length-4:t.length;var f=0;for(n=0,h=0;c>n;n+=4,h+=3)o=r(t.charAt(n))<<18|r(t.charAt(n+1))<<12|r(t.charAt(n+2))<<6|r(t.charAt(n+3)),e((16711680&o)>>16),e((65280&o)>>8),e(255&o);return 2===A?(o=r(t.charAt(n))<<2|r(t.charAt(n+1))>>4,e(255&o)):1===A&&(o=r(t.charAt(n))<<10|r(t.charAt(n+1))<<4|r(t.charAt(n+2))>>2,e(o>>8&255),e(255&o)),i}function n(t){function r(t){return lookup.charAt(t)}function e(t){return r(t>>18&63)+r(t>>12&63)+r(t>>6&63)+r(63&t)}var n,a,h,c=t.length%3,o="";for(n=0,h=t.length-c;h>n;n+=3)a=(t[n]<<16)+(t[n+1]<<8)+t[n+2],o+=e(a);switch(c){case 1:a=t[t.length-1],o+=r(a>>2),o+=r(a<<4&63),o+="==";break;case 2:a=(t[t.length-2]<<8)+t[t.length-1],o+=r(a>>10),o+=r(a>>4&63),o+=r(a<<2&63),o+="="}return o}var a="undefined"!=typeof Uint8Array?Uint8Array:Array,h="+".charCodeAt(0),c="/".charCodeAt(0),o="0".charCodeAt(0),A="a".charCodeAt(0),i="A".charCodeAt(0),u="-".charCodeAt(0),f="_".charCodeAt(0);t.toByteArray=e,t.fromByteArray=n}("undefined"==typeof exports?this.base64js={}:exports); - -},{}],23:[function(require,module,exports){ - -},{}],24:[function(require,module,exports){ - -},{}],25:[function(require,module,exports){ -(function (global){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> - * @license MIT - */ -"use strict";function typedArraySupport(){function t(){}try{var e=new Uint8Array(1);return e.foo=function(){return 42},e.constructor=t,42===e.foo()&&e.constructor===t&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(r){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function Buffer(t){return this instanceof Buffer?(Buffer.TYPED_ARRAY_SUPPORT||(this.length=0,this.parent=void 0),"number"==typeof t?fromNumber(this,t):"string"==typeof t?fromString(this,t,arguments.length>1?arguments[1]:"utf8"):fromObject(this,t)):arguments.length>1?new Buffer(t,arguments[1]):new Buffer(t)}function fromNumber(t,e){if(t=allocate(t,0>e?0:0|checked(e)),!Buffer.TYPED_ARRAY_SUPPORT)for(var r=0;e>r;r++)t[r]=0;return t}function fromString(t,e,r){"string"==typeof r&&""!==r||(r="utf8");var n=0|byteLength(e,r);return t=allocate(t,n),t.write(e,r),t}function fromObject(t,e){if(Buffer.isBuffer(e))return fromBuffer(t,e);if(isArray(e))return fromArray(t,e);if(null==e)throw new TypeError("must start with number, buffer, array or string");if("undefined"!=typeof ArrayBuffer){if(e.buffer instanceof ArrayBuffer)return fromTypedArray(t,e);if(e instanceof ArrayBuffer)return fromArrayBuffer(t,e)}return e.length?fromArrayLike(t,e):fromJsonObject(t,e)}function fromBuffer(t,e){var r=0|checked(e.length);return t=allocate(t,r),e.copy(t,0,0,r),t}function fromArray(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromTypedArray(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromArrayBuffer(t,e){return Buffer.TYPED_ARRAY_SUPPORT?(e.byteLength,t=Buffer._augment(new Uint8Array(e))):t=fromTypedArray(t,new Uint8Array(e)),t}function fromArrayLike(t,e){var r=0|checked(e.length);t=allocate(t,r);for(var n=0;r>n;n+=1)t[n]=255&e[n];return t}function fromJsonObject(t,e){var r,n=0;"Buffer"===e.type&&isArray(e.data)&&(r=e.data,n=0|checked(r.length)),t=allocate(t,n);for(var f=0;n>f;f+=1)t[f]=255&r[f];return t}function allocate(t,e){Buffer.TYPED_ARRAY_SUPPORT?(t=Buffer._augment(new Uint8Array(e)),t.__proto__=Buffer.prototype):(t.length=e,t._isBuffer=!0);var r=0!==e&&e<=Buffer.poolSize>>>1;return r&&(t.parent=rootParent),t}function checked(t){if(t>=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|t}function SlowBuffer(t,e){if(!(this instanceof SlowBuffer))return new SlowBuffer(t,e);var r=new Buffer(t,e);return delete r.parent,r}function byteLength(t,e){"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"binary":case"raw":case"raws":return r;case"utf8":case"utf-8":return utf8ToBytes(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(t).length;default:if(n)return utf8ToBytes(t).length;e=(""+e).toLowerCase(),n=!0}}function slowToString(t,e,r){var n=!1;if(e=0|e,r=void 0===r||r===1/0?this.length:0|r,t||(t="utf8"),0>e&&(e=0),r>this.length&&(r=this.length),e>=r)return"";for(;;)switch(t){case"hex":return hexSlice(this,e,r);case"utf8":case"utf-8":return utf8Slice(this,e,r);case"ascii":return asciiSlice(this,e,r);case"binary":return binarySlice(this,e,r);case"base64":return base64Slice(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function hexWrite(t,e,r,n){r=Number(r)||0;var f=t.length-r;n?(n=Number(n),n>f&&(n=f)):n=f;var i=e.length;if(i%2!==0)throw new Error("Invalid hex string");n>i/2&&(n=i/2);for(var o=0;n>o;o++){var u=parseInt(e.substr(2*o,2),16);if(isNaN(u))throw new Error("Invalid hex string");t[r+o]=u}return o}function utf8Write(t,e,r,n){return blitBuffer(utf8ToBytes(e,t.length-r),t,r,n)}function asciiWrite(t,e,r,n){return blitBuffer(asciiToBytes(e),t,r,n)}function binaryWrite(t,e,r,n){return asciiWrite(t,e,r,n)}function base64Write(t,e,r,n){return blitBuffer(base64ToBytes(e),t,r,n)}function ucs2Write(t,e,r,n){return blitBuffer(utf16leToBytes(e,t.length-r),t,r,n)}function base64Slice(t,e,r){return 0===e&&r===t.length?base64.fromByteArray(t):base64.fromByteArray(t.slice(e,r))}function utf8Slice(t,e,r){r=Math.min(t.length,r);for(var n=[],f=e;r>f;){var i=t[f],o=null,u=i>239?4:i>223?3:i>191?2:1;if(r>=f+u){var s,a,h,c;switch(u){case 1:128>i&&(o=i);break;case 2:s=t[f+1],128===(192&s)&&(c=(31&i)<<6|63&s,c>127&&(o=c));break;case 3:s=t[f+1],a=t[f+2],128===(192&s)&&128===(192&a)&&(c=(15&i)<<12|(63&s)<<6|63&a,c>2047&&(55296>c||c>57343)&&(o=c));break;case 4:s=t[f+1],a=t[f+2],h=t[f+3],128===(192&s)&&128===(192&a)&&128===(192&h)&&(c=(15&i)<<18|(63&s)<<12|(63&a)<<6|63&h,c>65535&&1114112>c&&(o=c))}}null===o?(o=65533,u=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),f+=u}return decodeCodePointsArray(n)}function decodeCodePointsArray(t){var e=t.length;if(MAX_ARGUMENTS_LENGTH>=e)return String.fromCharCode.apply(String,t);for(var r="",n=0;e>n;)r+=String.fromCharCode.apply(String,t.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(t,e,r){var n="";r=Math.min(t.length,r);for(var f=e;r>f;f++)n+=String.fromCharCode(127&t[f]);return n}function binarySlice(t,e,r){var n="";r=Math.min(t.length,r);for(var f=e;r>f;f++)n+=String.fromCharCode(t[f]);return n}function hexSlice(t,e,r){var n=t.length;(!e||0>e)&&(e=0),(!r||0>r||r>n)&&(r=n);for(var f="",i=e;r>i;i++)f+=toHex(t[i]);return f}function utf16leSlice(t,e,r){for(var n=t.slice(e,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(t,e,r){if(t%1!==0||0>t)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(t,e,r,n,f,i){if(!Buffer.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");if(e>f||i>e)throw new RangeError("value is out of bounds");if(r+n>t.length)throw new RangeError("index out of range")}function objectWriteUInt16(t,e,r,n){0>e&&(e=65535+e+1);for(var f=0,i=Math.min(t.length-r,2);i>f;f++)t[r+f]=(e&255<<8*(n?f:1-f))>>>8*(n?f:1-f)}function objectWriteUInt32(t,e,r,n){0>e&&(e=4294967295+e+1);for(var f=0,i=Math.min(t.length-r,4);i>f;f++)t[r+f]=e>>>8*(n?f:3-f)&255}function checkIEEE754(t,e,r,n,f,i){if(e>f||i>e)throw new RangeError("value is out of bounds");if(r+n>t.length)throw new RangeError("index out of range");if(0>r)throw new RangeError("index out of range")}function writeFloat(t,e,r,n,f){return f||checkIEEE754(t,e,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(t,e,r,n,23,4),r+4}function writeDouble(t,e,r,n,f){return f||checkIEEE754(t,e,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(t,e,r,n,52,8),r+8}function base64clean(t){if(t=stringtrim(t).replace(INVALID_BASE64_RE,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function stringtrim(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function toHex(t){return 16>t?"0"+t.toString(16):t.toString(16)}function utf8ToBytes(t,e){e=e||1/0;for(var r,n=t.length,f=null,i=[],o=0;n>o;o++){if(r=t.charCodeAt(o),r>55295&&57344>r){if(!f){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(56320>r){(e-=3)>-1&&i.push(239,191,189),f=r;continue}r=(f-55296<<10|r-56320)+65536}else f&&(e-=3)>-1&&i.push(239,191,189);if(f=null,128>r){if((e-=1)<0)break;i.push(r)}else if(2048>r){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(65536>r){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(1114112>r))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(t){for(var e=[],r=0;r<t.length;r++)e.push(255&t.charCodeAt(r));return e}function utf16leToBytes(t,e){for(var r,n,f,i=[],o=0;o<t.length&&!((e-=2)<0);o++)r=t.charCodeAt(o),n=r>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(t){return base64.toByteArray(base64clean(t))}function blitBuffer(t,e,r,n){for(var f=0;n>f&&!(f+r>=e.length||f>=t.length);f++)e[f+r]=t[f];return f}var base64=require("base64-js"),ieee754=require("ieee754"),isArray=require("isarray");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.poolSize=8192;var rootParent={};Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT?(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array):(Buffer.prototype.length=void 0,Buffer.prototype.parent=void 0),Buffer.isBuffer=function(t){return!(null==t||!t._isBuffer)},Buffer.compare=function(t,e){if(!Buffer.isBuffer(t)||!Buffer.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,f=0,i=Math.min(r,n);i>f&&t[f]===e[f];)++f;return f!==i&&(r=t[f],n=e[f]),n>r?-1:r>n?1:0},Buffer.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(t,e){if(!isArray(t))throw new TypeError("list argument must be an Array of Buffers.");if(0===t.length)return new Buffer(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;r++)e+=t[r].length;var n=new Buffer(e),f=0;for(r=0;r<t.length;r++){var i=t[r];i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?utf8Slice(this,0,t):slowToString.apply(this,arguments)},Buffer.prototype.equals=function(t){if(!Buffer.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:0===Buffer.compare(this,t)},Buffer.prototype.inspect=function(){var t="",e=exports.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),"<Buffer "+t+">"},Buffer.prototype.compare=function(t){if(!Buffer.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?0:Buffer.compare(this,t)},Buffer.prototype.indexOf=function(t,e){function r(t,e,r){for(var n=-1,f=0;r+f<t.length;f++)if(t[r+f]===e[-1===n?0:f-n]){if(-1===n&&(n=f),f-n+1===e.length)return r+n}else n=-1;return-1}if(e>2147483647?e=2147483647:-2147483648>e&&(e=-2147483648),e>>=0,0===this.length)return-1;if(e>=this.length)return-1;if(0>e&&(e=Math.max(this.length+e,0)),"string"==typeof t)return 0===t.length?-1:String.prototype.indexOf.call(this,t,e);if(Buffer.isBuffer(t))return r(this,t,e);if("number"==typeof t)return Buffer.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,t,e):r(this,[t],e);throw new TypeError("val must be string, number or Buffer")},Buffer.prototype.get=function(t){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(t)},Buffer.prototype.set=function(t,e){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(t,e)},Buffer.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else if(isFinite(e))e=0|e,isFinite(r)?(r=0|r,void 0===n&&(n="utf8")):(n=r,r=void 0);else{var f=n;n=e,e=0|r,r=f}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(0>r||0>e)||e>this.length)throw new RangeError("attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return hexWrite(this,t,e,r);case"utf8":case"utf-8":return utf8Write(this,t,e,r);case"ascii":return asciiWrite(this,t,e,r);case"binary":return binaryWrite(this,t,e,r);case"base64":return base64Write(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;Buffer.prototype.slice=function(t,e){var r=this.length;t=~~t,e=void 0===e?r:~~e,0>t?(t+=r,0>t&&(t=0)):t>r&&(t=r),0>e?(e+=r,0>e&&(e=0)):e>r&&(e=r),t>e&&(e=t);var n;if(Buffer.TYPED_ARRAY_SUPPORT)n=Buffer._augment(this.subarray(t,e));else{var f=e-t;n=new Buffer(f,void 0);for(var i=0;f>i;i++)n[i]=this[i+t]}return n.length&&(n.parent=this.parent||this),n},Buffer.prototype.readUIntLE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t],f=1,i=0;++i<e&&(f*=256);)n+=this[t+i]*f;return n},Buffer.prototype.readUIntBE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t+--e],f=1;e>0&&(f*=256);)n+=this[t+--e]*f;return n},Buffer.prototype.readUInt8=function(t,e){return e||checkOffset(t,1,this.length),this[t]},Buffer.prototype.readUInt16LE=function(t,e){return e||checkOffset(t,2,this.length),this[t]|this[t+1]<<8},Buffer.prototype.readUInt16BE=function(t,e){return e||checkOffset(t,2,this.length),this[t]<<8|this[t+1]},Buffer.prototype.readUInt32LE=function(t,e){return e||checkOffset(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Buffer.prototype.readUInt32BE=function(t,e){return e||checkOffset(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Buffer.prototype.readIntLE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=this[t],f=1,i=0;++i<e&&(f*=256);)n+=this[t+i]*f;return f*=128,n>=f&&(n-=Math.pow(2,8*e)),n},Buffer.prototype.readIntBE=function(t,e,r){t=0|t,e=0|e,r||checkOffset(t,e,this.length);for(var n=e,f=1,i=this[t+--n];n>0&&(f*=256);)i+=this[t+--n]*f;return f*=128,i>=f&&(i-=Math.pow(2,8*e)),i},Buffer.prototype.readInt8=function(t,e){return e||checkOffset(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Buffer.prototype.readInt16LE=function(t,e){e||checkOffset(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(t,e){e||checkOffset(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(t,e){return e||checkOffset(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Buffer.prototype.readInt32BE=function(t,e){return e||checkOffset(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Buffer.prototype.readFloatLE=function(t,e){return e||checkOffset(t,4,this.length),ieee754.read(this,t,!0,23,4)},Buffer.prototype.readFloatBE=function(t,e){return e||checkOffset(t,4,this.length),ieee754.read(this,t,!1,23,4)},Buffer.prototype.readDoubleLE=function(t,e){return e||checkOffset(t,8,this.length),ieee754.read(this,t,!0,52,8)},Buffer.prototype.readDoubleBE=function(t,e){return e||checkOffset(t,8,this.length),ieee754.read(this,t,!1,52,8)},Buffer.prototype.writeUIntLE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||checkInt(this,t,e,r,Math.pow(2,8*r),0);var f=1,i=0;for(this[e]=255&t;++i<r&&(f*=256);)this[e+i]=t/f&255;return e+r},Buffer.prototype.writeUIntBE=function(t,e,r,n){t=+t,e=0|e,r=0|r,n||checkInt(this,t,e,r,Math.pow(2,8*r),0);var f=r-1,i=1;for(this[e+f]=255&t;--f>=0&&(i*=256);)this[e+f]=t/i&255;return e+r},Buffer.prototype.writeUInt8=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},Buffer.prototype.writeUInt16LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):objectWriteUInt16(this,t,e,!0),e+2},Buffer.prototype.writeUInt16BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):objectWriteUInt16(this,t,e,!1),e+2},Buffer.prototype.writeUInt32LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):objectWriteUInt32(this,t,e,!0),e+4},Buffer.prototype.writeUInt32BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):objectWriteUInt32(this,t,e,!1),e+4},Buffer.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e=0|e,!n){var f=Math.pow(2,8*r-1);checkInt(this,t,e,r,f-1,-f)}var i=0,o=1,u=0>t?1:0;for(this[e]=255&t;++i<r&&(o*=256);)this[e+i]=(t/o>>0)-u&255;return e+r},Buffer.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=0|e,!n){var f=Math.pow(2,8*r-1);checkInt(this,t,e,r,f-1,-f)}var i=r-1,o=1,u=0>t?1:0;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=(t/o>>0)-u&255;return e+r},Buffer.prototype.writeInt8=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),0>t&&(t=255+t+1),this[e]=255&t,e+1},Buffer.prototype.writeInt16LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):objectWriteUInt16(this,t,e,!0),e+2},Buffer.prototype.writeInt16BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):objectWriteUInt16(this,t,e,!1),e+2},Buffer.prototype.writeInt32LE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):objectWriteUInt32(this,t,e,!0),e+4},Buffer.prototype.writeInt32BE=function(t,e,r){return t=+t,e=0|e,r||checkInt(this,t,e,4,2147483647,-2147483648),0>t&&(t=4294967295+t+1),Buffer.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):objectWriteUInt32(this,t,e,!1),e+4},Buffer.prototype.writeFloatLE=function(t,e,r){return writeFloat(this,t,e,!0,r)},Buffer.prototype.writeFloatBE=function(t,e,r){return writeFloat(this,t,e,!1,r)},Buffer.prototype.writeDoubleLE=function(t,e,r){return writeDouble(this,t,e,!0,r)},Buffer.prototype.writeDoubleBE=function(t,e,r){return writeDouble(this,t,e,!1,r)},Buffer.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&r>n&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(0>e)throw new RangeError("targetStart out of bounds");if(0>r||r>=this.length)throw new RangeError("sourceStart out of bounds");if(0>n)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var f,i=n-r;if(this===t&&e>r&&n>e)for(f=i-1;f>=0;f--)t[f+e]=this[f+r];else if(1e3>i||!Buffer.TYPED_ARRAY_SUPPORT)for(f=0;i>f;f++)t[f+e]=this[f+r];else t._set(this.subarray(r,r+i),e);return i},Buffer.prototype.fill=function(t,e,r){if(t||(t=0),e||(e=0),r||(r=this.length),e>r)throw new RangeError("end < start");if(r!==e&&0!==this.length){if(0>e||e>=this.length)throw new RangeError("start out of bounds");if(0>r||r>this.length)throw new RangeError("end out of bounds");var n;if("number"==typeof t)for(n=e;r>n;n++)this[n]=t;else{var f=utf8ToBytes(t.toString()),i=f.length;for(n=e;r>n;n++)this[n]=f[n%i]}return this}},Buffer.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(Buffer.TYPED_ARRAY_SUPPORT)return new Buffer(this).buffer;for(var t=new Uint8Array(this.length),e=0,r=t.length;r>e;e+=1)t[e]=this[e];return t.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var BP=Buffer.prototype;Buffer._augment=function(t){return t.constructor=Buffer,t._isBuffer=!0,t._set=t.set,t.get=BP.get,t.set=BP.set,t.write=BP.write,t.toString=BP.toString,t.toLocaleString=BP.toString,t.toJSON=BP.toJSON,t.equals=BP.equals,t.compare=BP.compare,t.indexOf=BP.indexOf,t.copy=BP.copy,t.slice=BP.slice,t.readUIntLE=BP.readUIntLE,t.readUIntBE=BP.readUIntBE,t.readUInt8=BP.readUInt8,t.readUInt16LE=BP.readUInt16LE,t.readUInt16BE=BP.readUInt16BE,t.readUInt32LE=BP.readUInt32LE,t.readUInt32BE=BP.readUInt32BE,t.readIntLE=BP.readIntLE,t.readIntBE=BP.readIntBE,t.readInt8=BP.readInt8,t.readInt16LE=BP.readInt16LE,t.readInt16BE=BP.readInt16BE,t.readInt32LE=BP.readInt32LE,t.readInt32BE=BP.readInt32BE,t.readFloatLE=BP.readFloatLE,t.readFloatBE=BP.readFloatBE,t.readDoubleLE=BP.readDoubleLE,t.readDoubleBE=BP.readDoubleBE,t.writeUInt8=BP.writeUInt8,t.writeUIntLE=BP.writeUIntLE,t.writeUIntBE=BP.writeUIntBE,t.writeUInt16LE=BP.writeUInt16LE,t.writeUInt16BE=BP.writeUInt16BE,t.writeUInt32LE=BP.writeUInt32LE,t.writeUInt32BE=BP.writeUInt32BE,t.writeIntLE=BP.writeIntLE,t.writeIntBE=BP.writeIntBE,t.writeInt8=BP.writeInt8,t.writeInt16LE=BP.writeInt16LE,t.writeInt16BE=BP.writeInt16BE,t.writeInt32LE=BP.writeInt32LE,t.writeInt32BE=BP.writeInt32BE,t.writeFloatLE=BP.writeFloatLE,t.writeFloatBE=BP.writeFloatBE,t.writeDoubleLE=BP.writeDoubleLE,t.writeDoubleBE=BP.writeDoubleBE,t.fill=BP.fill,t.inspect=BP.inspect,t.toArrayBuffer=BP.toArrayBuffer,t};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"base64-js":22,"ieee754":34,"isarray":37}],26:[function(require,module,exports){ -module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}; - -},{}],27:[function(require,module,exports){ -(function (process,global){ -"use strict";var next=global.process&&process.nextTick||global.setImmediate||function(n){setTimeout(n,0)};module.exports=function(n,t){return n?void t.then(function(t){next(function(){n(null,t)})},function(t){next(function(){n(t)})}):t}; - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"_process":71}],28:[function(require,module,exports){ -(function (Buffer){ -function isArray(r){return Array.isArray?Array.isArray(r):"[object Array]"===objectToString(r)}function isBoolean(r){return"boolean"==typeof r}function isNull(r){return null===r}function isNullOrUndefined(r){return null==r}function isNumber(r){return"number"==typeof r}function isString(r){return"string"==typeof r}function isSymbol(r){return"symbol"==typeof r}function isUndefined(r){return void 0===r}function isRegExp(r){return"[object RegExp]"===objectToString(r)}function isObject(r){return"object"==typeof r&&null!==r}function isDate(r){return"[object Date]"===objectToString(r)}function isError(r){return"[object Error]"===objectToString(r)||r instanceof Error}function isFunction(r){return"function"==typeof r}function isPrimitive(r){return null===r||"boolean"==typeof r||"number"==typeof r||"string"==typeof r||"symbol"==typeof r||"undefined"==typeof r}function objectToString(r){return Object.prototype.toString.call(r)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer; - -}).call(this,{"isBuffer":require("../../is-buffer/index.js")}) - -},{"../../is-buffer/index.js":36}],29:[function(require,module,exports){ -function useColors(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function formatArgs(){var o=arguments,e=this.useColors;if(o[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+o[0]+(e?"%c ":" ")+"+"+exports.humanize(this.diff),!e)return o;var r="color: "+this.color;o=[o[0],r,"color: inherit"].concat(Array.prototype.slice.call(o,1));var t=0,s=0;return o[0].replace(/%[a-z%]/g,function(o){"%%"!==o&&(t++,"%c"===o&&(s=t))}),o.splice(s,0,r),o}function log(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(o){try{null==o?exports.storage.removeItem("debug"):exports.storage.debug=o}catch(e){}}function load(){var o;try{o=exports.storage.debug}catch(e){}return o}function localstorage(){try{return window.localStorage}catch(o){}}exports=module.exports=require("./debug"),exports.log=log,exports.formatArgs=formatArgs,exports.save=save,exports.load=load,exports.useColors=useColors,exports.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage(),exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],exports.formatters.j=function(o){return JSON.stringify(o)},exports.enable(load()); - -},{"./debug":30}],30:[function(require,module,exports){ -function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(e){function r(){}function o(){var e=o,r=+new Date,s=r-(prevTime||r);e.diff=s,e.prev=prevTime,e.curr=r,prevTime=r,null==e.useColors&&(e.useColors=exports.useColors()),null==e.color&&e.useColors&&(e.color=selectColor());var t=Array.prototype.slice.call(arguments);t[0]=exports.coerce(t[0]),"string"!=typeof t[0]&&(t=["%o"].concat(t));var n=0;t[0]=t[0].replace(/%([a-z%])/g,function(r,o){if("%%"===r)return r;n++;var s=exports.formatters[o];if("function"==typeof s){var p=t[n];r=s.call(e,p),t.splice(n,1),n--}return r}),"function"==typeof exports.formatArgs&&(t=exports.formatArgs.apply(e,t));var p=o.log||exports.log||console.log.bind(console);p.apply(e,t)}r.enabled=!1,o.enabled=!0;var s=exports.enabled(e)?o:r;return s.namespace=e,s}function enable(e){exports.save(e);for(var r=(e||"").split(/[\s,]+/),o=r.length,s=0;o>s;s++)r[s]&&(e=r[s].replace(/\*/g,".*?"),"-"===e[0]?exports.skips.push(new RegExp("^"+e.substr(1)+"$")):exports.names.push(new RegExp("^"+e+"$")))}function disable(){exports.enable("")}function enabled(e){var r,o;for(r=0,o=exports.skips.length;o>r;r++)if(exports.skips[r].test(e))return!1;for(r=0,o=exports.names.length;o>r;r++)if(exports.names[r].test(e))return!0;return!1}function coerce(e){return e instanceof Error?e.stack||e.message:e}exports=module.exports=debug,exports.coerce=coerce,exports.disable=disable,exports.enable=enable,exports.enabled=enabled,exports.humanize=require("ms"),exports.names=[],exports.skips=[],exports.formatters={};var prevColor=0,prevTime; - -},{"ms":68}],31:[function(require,module,exports){ -(function (process,global){ -/*! - * @overview es6-promise - a tiny implementation of Promises/A+. - * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) - * @license Licensed under MIT license - * See https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE - * @version 3.1.2 - */ -(function(){"use strict";function t(t){return"function"==typeof t||"object"==typeof t&&null!==t}function e(t){return"function"==typeof t}function n(t){W=t}function r(t){H=t}function o(){return function(){process.nextTick(a)}}function i(){return function(){U(a)}}function s(){var t=0,e=new Q(a),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function u(){var t=new MessageChannel;return t.port1.onmessage=a,function(){t.port2.postMessage(0)}}function c(){return function(){setTimeout(a,1)}}function a(){for(var t=0;G>t;t+=2){var e=X[t],n=X[t+1];e(n),X[t]=void 0,X[t+1]=void 0}G=0}function f(){try{var t=require,e=t("vertx");return U=e.runOnLoop||e.runOnContext,i()}catch(n){return c()}}function l(t,e){var n=this,r=n._state;if(r===et&&!t||r===nt&&!e)return this;var o=new this.constructor(p),i=n._result;if(r){var s=arguments[r-1];H(function(){C(r,o,s,i)})}else j(n,o,t,e);return o}function h(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(p);return g(n,t),n}function p(){}function _(){return new TypeError("You cannot resolve a promise with itself")}function v(){return new TypeError("A promises callback cannot return that same promise.")}function d(t){try{return t.then}catch(e){return rt.error=e,rt}}function y(t,e,n,r){try{t.call(e,n,r)}catch(o){return o}}function m(t,e,n){H(function(t){var r=!1,o=y(n,e,function(n){r||(r=!0,e!==n?g(t,n):E(t,n))},function(e){r||(r=!0,S(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&o&&(r=!0,S(t,o))},t)}function w(t,e){e._state===et?E(t,e._result):e._state===nt?S(t,e._result):j(e,void 0,function(e){g(t,e)},function(e){S(t,e)})}function b(t,n,r){n.constructor===t.constructor&&r===Z&&constructor.resolve===$?w(t,n):r===rt?S(t,rt.error):void 0===r?E(t,n):e(r)?m(t,n,r):E(t,n)}function g(e,n){e===n?S(e,_()):t(n)?b(e,n,d(n)):E(e,n)}function A(t){t._onerror&&t._onerror(t._result),T(t)}function E(t,e){t._state===tt&&(t._result=e,t._state=et,0!==t._subscribers.length&&H(T,t))}function S(t,e){t._state===tt&&(t._state=nt,t._result=e,H(A,t))}function j(t,e,n,r){var o=t._subscribers,i=o.length;t._onerror=null,o[i]=e,o[i+et]=n,o[i+nt]=r,0===i&&t._state&&H(T,t)}function T(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,o,i=t._result,s=0;s<e.length;s+=3)r=e[s],o=e[s+n],r?C(n,r,o,i):o(i);t._subscribers.length=0}}function P(){this.error=null}function x(t,e){try{return t(e)}catch(n){return ot.error=n,ot}}function C(t,n,r,o){var i,s,u,c,a=e(r);if(a){if(i=x(r,o),i===ot?(c=!0,s=i.error,i=null):u=!0,n===i)return void S(n,v())}else i=o,u=!0;n._state!==tt||(a&&u?g(n,i):c?S(n,s):t===et?E(n,i):t===nt&&S(n,i))}function M(t,e){try{e(function(e){g(t,e)},function(e){S(t,e)})}catch(n){S(t,n)}}function O(t){return new ft(this,t).promise}function k(t){function e(t){g(o,t)}function n(t){S(o,t)}var r=this,o=new r(p);if(!B(t))return S(o,new TypeError("You must pass an array to race.")),o;for(var i=t.length,s=0;o._state===tt&&i>s;s++)j(r.resolve(t[s]),void 0,e,n);return o}function Y(t){var e=this,n=new e(p);return S(n,t),n}function q(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function F(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function D(t){this._id=ct++,this._state=void 0,this._result=void 0,this._subscribers=[],p!==t&&("function"!=typeof t&&q(),this instanceof D?M(this,t):F())}function K(t,e){this._instanceConstructor=t,this.promise=new t(p),Array.isArray(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?E(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&E(this.promise,this._result))):S(this.promise,this._validationError())}function L(){var t;if("undefined"!=typeof global)t=global;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;n&&"[object Promise]"===Object.prototype.toString.call(n.resolve())&&!n.cast||(t.Promise=at)}var N;N=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var U,W,z,B=N,G=0,H=function(t,e){X[G]=t,X[G+1]=e,G+=2,2===G&&(W?W(a):z())},I="undefined"!=typeof window?window:void 0,J=I||{},Q=J.MutationObserver||J.WebKitMutationObserver,R="undefined"!=typeof process&&"[object process]"==={}.toString.call(process),V="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,X=new Array(1e3);z=R?o():Q?s():V?u():void 0===I&&"function"==typeof require?f():c();var Z=l,$=h,tt=void 0,et=1,nt=2,rt=new P,ot=new P,it=O,st=k,ut=Y,ct=0,at=D;D.all=it,D.race=st,D.resolve=$,D.reject=ut,D._setScheduler=n,D._setAsap=r,D._asap=H,D.prototype={constructor:D,then:Z,"catch":function(t){return this.then(null,t)}};var ft=K;K.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},K.prototype._enumerate=function(){for(var t=this.length,e=this._input,n=0;this._state===tt&&t>n;n++)this._eachEntry(e[n],n)},K.prototype._eachEntry=function(t,e){var n=this._instanceConstructor,r=n.resolve;if(r===$){var o=d(t);if(o===Z&&t._state!==tt)this._settledAt(t._state,e,t._result);else if("function"!=typeof o)this._remaining--,this._result[e]=t;else if(n===at){var i=new n(p);b(i,t,o),this._willSettleAt(i,e)}else this._willSettleAt(new n(function(e){e(t)}),e)}else this._willSettleAt(r(t),e)},K.prototype._settledAt=function(t,e,n){var r=this.promise;r._state===tt&&(this._remaining--,t===nt?S(r,n):this._result[e]=n),0===this._remaining&&E(r,this._result)},K.prototype._willSettleAt=function(t,e){var n=this;j(t,void 0,function(t){n._settledAt(et,e,t)},function(t){n._settledAt(nt,e,t)})};var lt=L,ht={Promise:at,polyfill:lt};"function"==typeof define&&define.amd?define(function(){return ht}):"undefined"!=typeof module&&module.exports?module.exports=ht:"undefined"!=typeof this&&(this.ES6Promise=ht),lt()}).call(this); - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"_process":71}],32:[function(require,module,exports){ -function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(e){return"function"==typeof e}function isNumber(e){return"number"==typeof e}function isObject(e){return"object"==typeof e&&null!==e}function isUndefined(e){return void 0===e}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(e){if(!isNumber(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},EventEmitter.prototype.emit=function(e){var t,i,n,s,r,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(i=this._events[e],isUndefined(i))return!1;if(isFunction(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),i.apply(this,s)}else if(isObject(i))for(s=Array.prototype.slice.call(arguments,1),o=i.slice(),n=o.length,r=0;n>r;r++)o[r].apply(this,s);return!0},EventEmitter.prototype.addListener=function(e,t){var i;if(!isFunction(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,isFunction(t.listener)?t.listener:t),this._events[e]?isObject(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,isObject(this._events[e])&&!this._events[e].warned&&(i=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,i&&i>0&&this._events[e].length>i&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(e,t){function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}if(!isFunction(t))throw TypeError("listener must be a function");var n=!1;return i.listener=t,this.on(e,i),this},EventEmitter.prototype.removeListener=function(e,t){var i,n,s,r;if(!isFunction(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(i=this._events[e],s=i.length,n=-1,i===t||isFunction(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(isObject(i)){for(r=s;r-- >0;)if(i[r]===t||i[r].listener&&i[r].listener===t){n=r;break}if(0>n)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},EventEmitter.prototype.removeAllListeners=function(e){var t,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[e],isFunction(i))this.removeListener(e,i);else if(i)for(;i.length;)this.removeListener(e,i[i.length-1]);return delete this._events[e],this},EventEmitter.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?isFunction(this._events[e])?[this._events[e]]:this._events[e].slice():[]},EventEmitter.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(isFunction(t))return 1;if(t)return t.length}return 0},EventEmitter.listenerCount=function(e,t){return e.listenerCount(t)}; - -},{}],33:[function(require,module,exports){ -var http=require("http"),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);https.request=function(t,e){return t||(t={}),t.scheme="https",t.protocol="https:",http.request.call(this,t,e)}; - -},{"http":87}],34:[function(require,module,exports){ -exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:(s?-1:1)*(1/0);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=0>o||0===o&&0>1/o?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),o+=p+N>=1?n/f:n*Math.pow(2,1-N),o*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l}; - -},{}],35:[function(require,module,exports){ -"function"==typeof Object.create?module.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(t,e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}; - -},{}],36:[function(require,module,exports){ -module.exports=function(r){return!(null==r||!(r._isBuffer||r.constructor&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)))}; - -},{}],37:[function(require,module,exports){ -var toString={}.toString;module.exports=Array.isArray||function(r){return"[object Array]"==toString.call(r)}; - -},{}],38:[function(require,module,exports){ -"use strict";var yaml=require("./lib/js-yaml.js");module.exports=yaml; - -},{"./lib/js-yaml.js":39}],39:[function(require,module,exports){ -"use strict";function deprecated(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var loader=require("./js-yaml/loader"),dumper=require("./js-yaml/dumper");module.exports.Type=require("./js-yaml/type"),module.exports.Schema=require("./js-yaml/schema"),module.exports.FAILSAFE_SCHEMA=require("./js-yaml/schema/failsafe"),module.exports.JSON_SCHEMA=require("./js-yaml/schema/json"),module.exports.CORE_SCHEMA=require("./js-yaml/schema/core"),module.exports.DEFAULT_SAFE_SCHEMA=require("./js-yaml/schema/default_safe"),module.exports.DEFAULT_FULL_SCHEMA=require("./js-yaml/schema/default_full"),module.exports.load=loader.load,module.exports.loadAll=loader.loadAll,module.exports.safeLoad=loader.safeLoad,module.exports.safeLoadAll=loader.safeLoadAll,module.exports.dump=dumper.dump,module.exports.safeDump=dumper.safeDump,module.exports.YAMLException=require("./js-yaml/exception"),module.exports.MINIMAL_SCHEMA=require("./js-yaml/schema/failsafe"),module.exports.SAFE_SCHEMA=require("./js-yaml/schema/default_safe"),module.exports.DEFAULT_SCHEMA=require("./js-yaml/schema/default_full"),module.exports.scan=deprecated("scan"),module.exports.parse=deprecated("parse"),module.exports.compose=deprecated("compose"),module.exports.addConstructor=deprecated("addConstructor"); - -},{"./js-yaml/dumper":41,"./js-yaml/exception":42,"./js-yaml/loader":43,"./js-yaml/schema":45,"./js-yaml/schema/core":46,"./js-yaml/schema/default_full":47,"./js-yaml/schema/default_safe":48,"./js-yaml/schema/failsafe":49,"./js-yaml/schema/json":50,"./js-yaml/type":51}],40:[function(require,module,exports){ -"use strict";function isNothing(e){return"undefined"==typeof e||null===e}function isObject(e){return"object"==typeof e&&null!==e}function toArray(e){return Array.isArray(e)?e:isNothing(e)?[]:[e]}function extend(e,t){var r,o,n,i;if(t)for(i=Object.keys(t),r=0,o=i.length;o>r;r+=1)n=i[r],e[n]=t[n];return e}function repeat(e,t){var r,o="";for(r=0;t>r;r+=1)o+=e;return o}function isNegativeZero(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}module.exports.isNothing=isNothing,module.exports.isObject=isObject,module.exports.toArray=toArray,module.exports.repeat=repeat,module.exports.isNegativeZero=isNegativeZero,module.exports.extend=extend; - -},{}],41:[function(require,module,exports){ -"use strict";function compileStyleMap(e,t){var n,i,r,E,o,l,a;if(null===t)return{};for(n={},i=Object.keys(t),r=0,E=i.length;E>r;r+=1)o=i[r],l=String(t[o]),"!!"===o.slice(0,2)&&(o="tag:yaml.org,2002:"+o.slice(2)),a=e.compiledTypeMap[o],a&&_hasOwnProperty.call(a.styleAliases,l)&&(l=a.styleAliases[l]),n[o]=l;return n}function encodeHex(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n="x",i=2;else if(65535>=e)n="u",i=4;else{if(!(4294967295>=e))throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+common.repeat("0",i-t.length)+t}function State(e){this.schema=e.schema||DEFAULT_FULL_SCHEMA,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=common.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=compileStyleMap(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function indentString(e,t){for(var n,i=common.repeat(" ",t),r=0,E=-1,o="",l=e.length;l>r;)E=e.indexOf("\n",r),-1===E?(n=e.slice(r),r=l):(n=e.slice(r,E+1),r=E+1),n.length&&"\n"!==n&&(o+=i),o+=n;return o}function generateNextLine(e,t){return"\n"+common.repeat(" ",e.indent*t)}function testImplicitResolving(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function isWhitespace(e){return e===CHAR_SPACE||e===CHAR_TAB}function isPrintable(e){return e>=32&&126>=e||e>=161&&55295>=e&&8232!==e&&8233!==e||e>=57344&&65533>=e&&65279!==e||e>=65536&&1114111>=e}function isPlainSafe(e){return isPrintable(e)&&65279!==e&&e!==CHAR_COMMA&&e!==CHAR_LEFT_SQUARE_BRACKET&&e!==CHAR_RIGHT_SQUARE_BRACKET&&e!==CHAR_LEFT_CURLY_BRACKET&&e!==CHAR_RIGHT_CURLY_BRACKET&&e!==CHAR_COLON&&e!==CHAR_SHARP}function isPlainSafeFirst(e){return isPrintable(e)&&65279!==e&&!isWhitespace(e)&&e!==CHAR_MINUS&&e!==CHAR_QUESTION&&e!==CHAR_COLON&&e!==CHAR_COMMA&&e!==CHAR_LEFT_SQUARE_BRACKET&&e!==CHAR_RIGHT_SQUARE_BRACKET&&e!==CHAR_LEFT_CURLY_BRACKET&&e!==CHAR_RIGHT_CURLY_BRACKET&&e!==CHAR_SHARP&&e!==CHAR_AMPERSAND&&e!==CHAR_ASTERISK&&e!==CHAR_EXCLAMATION&&e!==CHAR_VERTICAL_LINE&&e!==CHAR_GREATER_THAN&&e!==CHAR_SINGLE_QUOTE&&e!==CHAR_DOUBLE_QUOTE&&e!==CHAR_PERCENT&&e!==CHAR_COMMERCIAL_AT&&e!==CHAR_GRAVE_ACCENT}function chooseScalarStyle(e,t,n,i,r){var E,o,l=!1,a=!1,s=-1!==i,c=-1,A=isPlainSafeFirst(e.charCodeAt(0))&&!isWhitespace(e.charCodeAt(e.length-1));if(t)for(E=0;E<e.length;E++){if(o=e.charCodeAt(E),!isPrintable(o))return STYLE_DOUBLE;A=A&&isPlainSafe(o)}else{for(E=0;E<e.length;E++){if(o=e.charCodeAt(E),o===CHAR_LINE_FEED)l=!0,s&&(a=a||E-c-1>i&&" "!==e[c+1],c=E);else if(!isPrintable(o))return STYLE_DOUBLE;A=A&&isPlainSafe(o)}a=a||s&&E-c-1>i&&" "!==e[c+1]}return l||a?" "===e[0]&&n>9?STYLE_DOUBLE:a?STYLE_FOLDED:STYLE_LITERAL:A&&!r(e)?STYLE_PLAIN:STYLE_SINGLE}function writeScalar(e,t,n,i){e.dump=function(){function r(t){return testImplicitResolving(e,t)}if(0===t.length)return"''";if(!e.noCompatMode&&-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(t))return"'"+t+"'";var E=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-E),l=i||e.flowLevel>-1&&n>=e.flowLevel;switch(chooseScalarStyle(t,l,e.indent,o,r)){case STYLE_PLAIN:return t;case STYLE_SINGLE:return"'"+t.replace(/'/g,"''")+"'";case STYLE_LITERAL:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,E));case STYLE_FOLDED:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,o),E));case STYLE_DOUBLE:return'"'+escapeString(t,o)+'"';default:throw new YAMLException("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var n=" "===e[0]?String(t):"",i="\n"===e[e.length-1],r=i&&("\n"===e[e.length-2]||"\n"===e),E=r?"+":i?"":"-";return n+E+"\n"}function dropEndingNewline(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function foldString(e,t){for(var n,i,r=/(\n+)([^\n]*)/g,E=function(){var n=e.indexOf("\n");return n=-1!==n?n:e.length,r.lastIndex=n,foldLine(e.slice(0,n),t)}(),o="\n"===e[0]||" "===e[0];i=r.exec(e);){var l=i[1],a=i[2];n=" "===a[0],E+=l+(o||n||""===a?"":"\n")+foldLine(a,t),o=n}return E}function foldLine(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,E=0,o=0,l=0,a="";n=r.exec(e);)l=n.index,l-E>t&&(i=o>E?o:l,a+="\n"+e.slice(E,i),E=i+1),o=l;return a+="\n",a+=e.length-E>t&&o>E?e.slice(E,o)+"\n"+e.slice(o+1):e.slice(E),a.slice(1)}function escapeString(e){for(var t,n,i="",r=0;r<e.length;r++)t=e.charCodeAt(r),n=ESCAPE_SEQUENCES[t],i+=!n&&isPrintable(t)?e[r]:n||encodeHex(t);return i}function writeFlowSequence(e,t,n){var i,r,E="",o=e.tag;for(i=0,r=n.length;r>i;i+=1)writeNode(e,t,n[i],!1,!1)&&(0!==i&&(E+=", "),E+=e.dump);e.tag=o,e.dump="["+E+"]"}function writeBlockSequence(e,t,n,i){var r,E,o="",l=e.tag;for(r=0,E=n.length;E>r;r+=1)writeNode(e,t+1,n[r],!0,!0)&&(i&&0===r||(o+=generateNextLine(e,t)),o+="- "+e.dump);e.tag=l,e.dump=o||"[]"}function writeFlowMapping(e,t,n){var i,r,E,o,l,a="",s=e.tag,c=Object.keys(n);for(i=0,r=c.length;r>i;i+=1)l="",0!==i&&(l+=", "),E=c[i],o=n[E],writeNode(e,t,E,!1,!1)&&(e.dump.length>1024&&(l+="? "),l+=e.dump+": ",writeNode(e,t,o,!1,!1)&&(l+=e.dump,a+=l));e.tag=s,e.dump="{"+a+"}"}function writeBlockMapping(e,t,n,i){var r,E,o,l,a,s,c="",A=e.tag,u=Object.keys(n);if(e.sortKeys===!0)u.sort();else if("function"==typeof e.sortKeys)u.sort(e.sortKeys);else if(e.sortKeys)throw new YAMLException("sortKeys must be a boolean or a function");for(r=0,E=u.length;E>r;r+=1)s="",i&&0===r||(s+=generateNextLine(e,t)),o=u[r],l=n[o],writeNode(e,t+1,o,!0,!0,!0)&&(a=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024,a&&(s+=e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?"?":"? "),s+=e.dump,a&&(s+=generateNextLine(e,t)),writeNode(e,t+1,l,!0,a)&&(s+=e.dump&&CHAR_LINE_FEED===e.dump.charCodeAt(0)?":":": ",s+=e.dump,c+=s));e.tag=A,e.dump=c||"{}"}function detectType(e,t,n){var i,r,E,o,l,a;for(r=n?e.explicitTypes:e.implicitTypes,E=0,o=r.length;o>E;E+=1)if(l=r[E],(l.instanceOf||l.predicate)&&(!l.instanceOf||"object"==typeof t&&t instanceof l.instanceOf)&&(!l.predicate||l.predicate(t))){if(e.tag=n?l.tag:"?",l.represent){if(a=e.styleMap[l.tag]||l.defaultStyle,"[object Function]"===_toString.call(l.represent))i=l.represent(t,a);else{if(!_hasOwnProperty.call(l.represent,a))throw new YAMLException("!<"+l.tag+'> tag resolver accepts not "'+a+'" style');i=l.represent[a](t,a)}e.dump=i}return!0}return!1}function writeNode(e,t,n,i,r,E){e.tag=null,e.dump=n,detectType(e,n,!1)||detectType(e,n,!0);var o=_toString.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var l,a,s="[object Object]"===o||"[object Array]"===o;if(s&&(l=e.duplicates.indexOf(n),a=-1!==l),(null!==e.tag&&"?"!==e.tag||a||2!==e.indent&&t>0)&&(r=!1),a&&e.usedDuplicates[l])e.dump="*ref_"+l;else{if(s&&a&&!e.usedDuplicates[l]&&(e.usedDuplicates[l]=!0),"[object Object]"===o)i&&0!==Object.keys(e.dump).length?(writeBlockMapping(e,t,e.dump,r),a&&(e.dump="&ref_"+l+e.dump)):(writeFlowMapping(e,t,e.dump),a&&(e.dump="&ref_"+l+" "+e.dump));else if("[object Array]"===o)i&&0!==e.dump.length?(writeBlockSequence(e,t,e.dump,r),a&&(e.dump="&ref_"+l+e.dump)):(writeFlowSequence(e,t,e.dump),a&&(e.dump="&ref_"+l+" "+e.dump));else{if("[object String]"!==o){if(e.skipInvalid)return!1;throw new YAMLException("unacceptable kind of an object to dump "+o)}"?"!==e.tag&&writeScalar(e,e.dump,t,E)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function getDuplicateReferences(e,t){var n,i,r=[],E=[];for(inspectNode(e,r,E),n=0,i=E.length;i>n;n+=1)t.duplicates.push(r[E[n]]);t.usedDuplicates=new Array(i)}function inspectNode(e,t,n){var i,r,E;if(null!==e&&"object"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,E=e.length;E>r;r+=1)inspectNode(e[r],t,n);else for(i=Object.keys(e),r=0,E=i.length;E>r;r+=1)inspectNode(e[i[r]],t,n)}function dump(e,t){t=t||{};var n=new State(t);return n.noRefs||getDuplicateReferences(e,n),writeNode(n,0,e,!0,!0)?n.dump+"\n":""}function safeDump(e,t){return dump(e,common.extend({schema:DEFAULT_SAFE_SCHEMA},t))}var common=require("./common"),YAMLException=require("./exception"),DEFAULT_FULL_SCHEMA=require("./schema/default_full"),DEFAULT_SAFE_SCHEMA=require("./schema/default_safe"),_toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,CHAR_TAB=9,CHAR_LINE_FEED=10,CHAR_SPACE=32,CHAR_EXCLAMATION=33,CHAR_DOUBLE_QUOTE=34,CHAR_SHARP=35,CHAR_PERCENT=37,CHAR_AMPERSAND=38,CHAR_SINGLE_QUOTE=39,CHAR_ASTERISK=42,CHAR_COMMA=44,CHAR_MINUS=45,CHAR_COLON=58,CHAR_GREATER_THAN=62,CHAR_QUESTION=63,CHAR_COMMERCIAL_AT=64,CHAR_LEFT_SQUARE_BRACKET=91,CHAR_RIGHT_SQUARE_BRACKET=93,CHAR_GRAVE_ACCENT=96,CHAR_LEFT_CURLY_BRACKET=123,CHAR_VERTICAL_LINE=124,CHAR_RIGHT_CURLY_BRACKET=125,ESCAPE_SEQUENCES={};ESCAPE_SEQUENCES[0]="\\0",ESCAPE_SEQUENCES[7]="\\a",ESCAPE_SEQUENCES[8]="\\b",ESCAPE_SEQUENCES[9]="\\t",ESCAPE_SEQUENCES[10]="\\n",ESCAPE_SEQUENCES[11]="\\v",ESCAPE_SEQUENCES[12]="\\f",ESCAPE_SEQUENCES[13]="\\r",ESCAPE_SEQUENCES[27]="\\e",ESCAPE_SEQUENCES[34]='\\"',ESCAPE_SEQUENCES[92]="\\\\",ESCAPE_SEQUENCES[133]="\\N",ESCAPE_SEQUENCES[160]="\\_",ESCAPE_SEQUENCES[8232]="\\L",ESCAPE_SEQUENCES[8233]="\\P";var DEPRECATED_BOOLEANS_SYNTAX=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],STYLE_PLAIN=1,STYLE_SINGLE=2,STYLE_LITERAL=3,STYLE_FOLDED=4,STYLE_DOUBLE=5;module.exports.dump=dump,module.exports.safeDump=safeDump; - -},{"./common":40,"./exception":42,"./schema/default_full":47,"./schema/default_safe":48}],42:[function(require,module,exports){ -"use strict";function YAMLException(t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=t,this.mark=r,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}YAMLException.prototype=Object.create(Error.prototype),YAMLException.prototype.constructor=YAMLException,YAMLException.prototype.toString=function(t){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!t&&this.mark&&(r+=" "+this.mark.toString()),r},module.exports=YAMLException; - -},{}],43:[function(require,module,exports){ -"use strict";function is_EOL(e){return 10===e||13===e}function is_WHITE_SPACE(e){return 9===e||32===e}function is_WS_OR_EOL(e){return 9===e||32===e||10===e||13===e}function is_FLOW_INDICATOR(e){return 44===e||91===e||93===e||123===e||125===e}function fromHexCode(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function escapedHexLen(e){return 120===e?2:117===e?4:85===e?8:0}function fromDecimalCode(e){return e>=48&&57>=e?e-48:-1}function simpleEscapeSequence(e){return 48===e?"\x00":97===e?"":98===e?"\b":116===e?" ":9===e?" ":110===e?"\n":118===e?"\x0B":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"
":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function charFromCodepoint(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function State(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||DEFAULT_FULL_SCHEMA,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function generateError(e,t){return new YAMLException(t,new Mark(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){e.onWarning&&e.onWarning.call(null,generateError(e,t))}function captureSegment(e,t,n,i){var o,r,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(o=0,r=s.length;r>o;o+=1)a=s.charCodeAt(o),9===a||a>=32&&1114111>=a||throwError(e,"expected valid JSON character");else PATTERN_NON_PRINTABLE.test(s)&&throwError(e,"the stream contains non-printable characters");e.result+=s}}function mergeMappings(e,t,n,i){var o,r,a,s;for(common.isObject(n)||throwError(e,"cannot merge mappings; the provided source object is unacceptable"),o=Object.keys(n),a=0,s=o.length;s>a;a+=1)r=o[a],_hasOwnProperty.call(t,r)||(t[r]=n[r],i[r]=!0)}function storeMappingPair(e,t,n,i,o,r){var a,s;if(o=String(o),null===t&&(t={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(r))for(a=0,s=r.length;s>a;a+=1)mergeMappings(e,t,r[a],n);else mergeMappings(e,t,r,n);else e.json||_hasOwnProperty.call(n,o)||!_hasOwnProperty.call(t,o)||throwError(e,"duplicated mapping key"),t[o]=r,delete n[o];return t}function readLineBreak(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):throwError(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function skipSeparationSpace(e,t,n){for(var i=0,o=e.input.charCodeAt(e.position);0!==o;){for(;is_WHITE_SPACE(o);)o=e.input.charCodeAt(++e.position);if(t&&35===o)do o=e.input.charCodeAt(++e.position);while(10!==o&&13!==o&&0!==o);if(!is_EOL(o))break;for(readLineBreak(e),o=e.input.charCodeAt(e.position),i++,e.lineIndent=0;32===o;)e.lineIndent++,o=e.input.charCodeAt(++e.position)}return-1!==n&&0!==i&&e.lineIndent<n&&throwWarning(e,"deficient indentation"),i}function testDocumentSeparator(e){var t,n=e.position;return t=e.input.charCodeAt(n),(45===t||46===t)&&t===e.input.charCodeAt(n+1)&&t===e.input.charCodeAt(n+2)&&(n+=3,t=e.input.charCodeAt(n),0===t||is_WS_OR_EOL(t))}function writeFoldedLines(e,t){1===t?e.result+=" ":t>1&&(e.result+=common.repeat("\n",t-1))}function readPlainScalar(e,t,n){var i,o,r,a,s,p,c,l,u,d=e.kind,h=e.result;if(u=e.input.charCodeAt(e.position),is_WS_OR_EOL(u)||is_FLOW_INDICATOR(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)||n&&is_FLOW_INDICATOR(o)))return!1;for(e.kind="scalar",e.result="",r=a=e.position,s=!1;0!==u;){if(58===u){if(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)||n&&is_FLOW_INDICATOR(o))break}else if(35===u){if(i=e.input.charCodeAt(e.position-1),is_WS_OR_EOL(i))break}else{if(e.position===e.lineStart&&testDocumentSeparator(e)||n&&is_FLOW_INDICATOR(u))break;if(is_EOL(u)){if(p=e.line,c=e.lineStart,l=e.lineIndent,skipSeparationSpace(e,!1,-1),e.lineIndent>=t){s=!0,u=e.input.charCodeAt(e.position);continue}e.position=a,e.line=p,e.lineStart=c,e.lineIndent=l;break}}s&&(captureSegment(e,r,a,!1),writeFoldedLines(e,e.line-p),r=a=e.position,s=!1),is_WHITE_SPACE(u)||(a=e.position+1),u=e.input.charCodeAt(++e.position)}return captureSegment(e,r,a,!1),e.result?!0:(e.kind=d,e.result=h,!1)}function readSingleQuotedScalar(e,t){var n,i,o;if(n=e.input.charCodeAt(e.position),39!==n)return!1;for(e.kind="scalar",e.result="",e.position++,i=o=e.position;0!==(n=e.input.charCodeAt(e.position));)if(39===n){if(captureSegment(e,i,e.position,!0),n=e.input.charCodeAt(++e.position),39!==n)return!0;i=o=e.position,e.position++}else is_EOL(n)?(captureSegment(e,i,o,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),i=o=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var n,i,o,r,a,s;if(s=e.input.charCodeAt(e.position),34!==s)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;0!==(s=e.input.charCodeAt(e.position));){if(34===s)return captureSegment(e,n,e.position,!0),e.position++,!0;if(92===s){if(captureSegment(e,n,e.position,!0),s=e.input.charCodeAt(++e.position),is_EOL(s))skipSeparationSpace(e,!1,t);else if(256>s&&simpleEscapeCheck[s])e.result+=simpleEscapeMap[s],e.position++;else if((a=escapedHexLen(s))>0){for(o=a,r=0;o>0;o--)s=e.input.charCodeAt(++e.position),(a=fromHexCode(s))>=0?r=(r<<4)+a:throwError(e,"expected hexadecimal character");e.result+=charFromCodepoint(r),e.position++}else throwError(e,"unknown escape sequence");n=i=e.position}else is_EOL(s)?(captureSegment(e,n,i,!0),writeFoldedLines(e,skipSeparationSpace(e,!1,t)),n=i=e.position):e.position===e.lineStart&&testDocumentSeparator(e)?throwError(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var n,i,o,r,a,s,p,c,l,u,d,h=!0,f=e.tag,_=e.anchor,A={};if(d=e.input.charCodeAt(e.position),91===d)r=93,p=!1,i=[];else{if(123!==d)return!1;r=125,p=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),d=e.input.charCodeAt(++e.position);0!==d;){if(skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),d===r)return e.position++,e.tag=f,e.anchor=_,e.kind=p?"mapping":"sequence",e.result=i,!0;h||throwError(e,"missed comma between flow collection entries"),l=c=u=null,a=s=!1,63===d&&(o=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(o)&&(a=s=!0,e.position++,skipSeparationSpace(e,!0,t))),n=e.line,composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),l=e.tag,c=e.result,skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),!s&&e.line!==n||58!==d||(a=!0,d=e.input.charCodeAt(++e.position),skipSeparationSpace(e,!0,t),composeNode(e,t,CONTEXT_FLOW_IN,!1,!0),u=e.result),p?storeMappingPair(e,i,A,l,c,u):a?i.push(storeMappingPair(e,null,A,l,c,u)):i.push(c),skipSeparationSpace(e,!0,t),d=e.input.charCodeAt(e.position),44===d?(h=!0,d=e.input.charCodeAt(++e.position)):h=!1}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var n,i,o,r,a=CHOMPING_CLIP,s=!1,p=!1,c=t,l=0,u=!1;if(r=e.input.charCodeAt(e.position),124===r)i=!1;else{if(62!==r)return!1;i=!0}for(e.kind="scalar",e.result="";0!==r;)if(r=e.input.charCodeAt(++e.position),43===r||45===r)CHOMPING_CLIP===a?a=43===r?CHOMPING_KEEP:CHOMPING_STRIP:throwError(e,"repeat of a chomping mode identifier");else{if(!((o=fromDecimalCode(r))>=0))break;0===o?throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?throwError(e,"repeat of an indentation width identifier"):(c=t+o-1,p=!0)}if(is_WHITE_SPACE(r)){do r=e.input.charCodeAt(++e.position);while(is_WHITE_SPACE(r));if(35===r)do r=e.input.charCodeAt(++e.position);while(!is_EOL(r)&&0!==r)}for(;0!==r;){for(readLineBreak(e),e.lineIndent=0,r=e.input.charCodeAt(e.position);(!p||e.lineIndent<c)&&32===r;)e.lineIndent++,r=e.input.charCodeAt(++e.position);if(!p&&e.lineIndent>c&&(c=e.lineIndent),is_EOL(r))l++;else{if(e.lineIndent<c){a===CHOMPING_KEEP?e.result+=common.repeat("\n",s?1+l:l):a===CHOMPING_CLIP&&s&&(e.result+="\n");break}for(i?is_WHITE_SPACE(r)?(u=!0,e.result+=common.repeat("\n",s?1+l:l)):u?(u=!1,e.result+=common.repeat("\n",l+1)):0===l?s&&(e.result+=" "):e.result+=common.repeat("\n",l):e.result+=common.repeat("\n",s?1+l:l),s=!0,p=!0,l=0,n=e.position;!is_EOL(r)&&0!==r;)r=e.input.charCodeAt(++e.position);captureSegment(e,n,e.position,!1)}}return!0}function readBlockSequence(e,t){var n,i,o,r=e.tag,a=e.anchor,s=[],p=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=s),o=e.input.charCodeAt(e.position);0!==o&&45===o&&(i=e.input.charCodeAt(e.position+1),is_WS_OR_EOL(i));)if(p=!0,e.position++,skipSeparationSpace(e,!0,-1)&&e.lineIndent<=t)s.push(null),o=e.input.charCodeAt(e.position);else if(n=e.line,composeNode(e,t,CONTEXT_BLOCK_IN,!1,!0),s.push(e.result),skipSeparationSpace(e,!0,-1),o=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==o)throwError(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return p?(e.tag=r,e.anchor=a,e.kind="sequence",e.result=s,!0):!1}function readBlockMapping(e,t,n){var i,o,r,a,s=e.tag,p=e.anchor,c={},l={},u=null,d=null,h=null,f=!1,_=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=c),a=e.input.charCodeAt(e.position);0!==a;){if(i=e.input.charCodeAt(e.position+1),r=e.line,63!==a&&58!==a||!is_WS_OR_EOL(i)){if(!composeNode(e,n,CONTEXT_FLOW_OUT,!1,!0))break;if(e.line===r){for(a=e.input.charCodeAt(e.position);is_WHITE_SPACE(a);)a=e.input.charCodeAt(++e.position);if(58===a)a=e.input.charCodeAt(++e.position),is_WS_OR_EOL(a)||throwError(e,"a whitespace character is expected after the key-value separator within a block mapping"),f&&(storeMappingPair(e,c,l,u,d,null),u=d=h=null),_=!0,f=!1,o=!1,u=e.tag,d=e.result;else{if(!_)return e.tag=s,e.anchor=p,!0;throwError(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!_)return e.tag=s,e.anchor=p,!0;throwError(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===a?(f&&(storeMappingPair(e,c,l,u,d,null),u=d=h=null),_=!0,f=!0,o=!0):f?(f=!1,o=!0):throwError(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,a=i;if((e.line===r||e.lineIndent>t)&&(composeNode(e,t,CONTEXT_BLOCK_OUT,!0,o)&&(f?d=e.result:h=e.result),f||(storeMappingPair(e,c,l,u,d,h),u=d=h=null),skipSeparationSpace(e,!0,-1),a=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==a)throwError(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return f&&storeMappingPair(e,c,l,u,d,null),_&&(e.tag=s,e.anchor=p,e.kind="mapping",e.result=c),_}function readTagProperty(e){var t,n,i,o,r=!1,a=!1;if(o=e.input.charCodeAt(e.position),33!==o)return!1;if(null!==e.tag&&throwError(e,"duplication of a tag property"),o=e.input.charCodeAt(++e.position),60===o?(r=!0,o=e.input.charCodeAt(++e.position)):33===o?(a=!0,n="!!",o=e.input.charCodeAt(++e.position)):n="!",t=e.position,r){do o=e.input.charCodeAt(++e.position);while(0!==o&&62!==o);e.position<e.length?(i=e.input.slice(t,e.position),o=e.input.charCodeAt(++e.position)):throwError(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==o&&!is_WS_OR_EOL(o);)33===o&&(a?throwError(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),PATTERN_TAG_HANDLE.test(n)||throwError(e,"named tag handle cannot contain such characters"),a=!0,t=e.position+1)),o=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),PATTERN_FLOW_INDICATORS.test(i)&&throwError(e,"tag suffix cannot contain flow indicator characters")}return i&&!PATTERN_TAG_URI.test(i)&&throwError(e,"tag name cannot contain such characters: "+i),r?e.tag=i:_hasOwnProperty.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:throwError(e,'undeclared tag handle "'+n+'"'),!0}function readAnchorProperty(e){var t,n;if(n=e.input.charCodeAt(e.position),38!==n)return!1;for(null!==e.anchor&&throwError(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!is_WS_OR_EOL(n)&&!is_FLOW_INDICATOR(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&throwError(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function readAlias(e){var t,n,i;if(i=e.input.charCodeAt(e.position),42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!is_WS_OR_EOL(i)&&!is_FLOW_INDICATOR(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&throwError(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||throwError(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],skipSeparationSpace(e,!0,-1),!0}function composeNode(e,t,n,i,o){var r,a,s,p,c,l,u,d,h=1,f=!1,_=!1;if(null!==e.listener&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,r=a=s=CONTEXT_BLOCK_OUT===n||CONTEXT_BLOCK_IN===n,i&&skipSeparationSpace(e,!0,-1)&&(f=!0,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)),1===h)for(;readTagProperty(e)||readAnchorProperty(e);)skipSeparationSpace(e,!0,-1)?(f=!0,s=r,e.lineIndent>t?h=1:e.lineIndent===t?h=0:e.lineIndent<t&&(h=-1)):s=!1;if(s&&(s=f||o),1!==h&&CONTEXT_BLOCK_OUT!==n||(u=CONTEXT_FLOW_IN===n||CONTEXT_FLOW_OUT===n?t:t+1,d=e.position-e.lineStart,1===h?s&&(readBlockSequence(e,d)||readBlockMapping(e,d,u))||readFlowCollection(e,u)?_=!0:(a&&readBlockScalar(e,u)||readSingleQuotedScalar(e,u)||readDoubleQuotedScalar(e,u)?_=!0:readAlias(e)?(_=!0,null===e.tag&&null===e.anchor||throwError(e,"alias node should not have any properties")):readPlainScalar(e,u,CONTEXT_FLOW_IN===n)&&(_=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===h&&(_=s&&readBlockSequence(e,d))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(p=0,c=e.implicitTypes.length;c>p;p+=1)if(l=e.implicitTypes[p],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else _hasOwnProperty.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&throwError(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):throwError(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||_}function readDocument(e){var t,n,i,o,r=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(o=e.input.charCodeAt(e.position))&&(skipSeparationSpace(e,!0,-1),o=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==o));){for(a=!0,o=e.input.charCodeAt(++e.position),t=e.position;0!==o&&!is_WS_OR_EOL(o);)o=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&throwError(e,"directive name must not be less than one character in length");0!==o;){for(;is_WHITE_SPACE(o);)o=e.input.charCodeAt(++e.position);if(35===o){do o=e.input.charCodeAt(++e.position);while(0!==o&&!is_EOL(o));break}if(is_EOL(o))break;for(t=e.position;0!==o&&!is_WS_OR_EOL(o);)o=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==o&&readLineBreak(e),_hasOwnProperty.call(directiveHandlers,n)?directiveHandlers[n](e,n,i):throwWarning(e,'unknown document directive "'+n+'"')}return skipSeparationSpace(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,skipSeparationSpace(e,!0,-1)):a&&throwError(e,"directives end mark is expected"),composeNode(e,e.lineIndent-1,CONTEXT_BLOCK_OUT,!1,!0),skipSeparationSpace(e,!0,-1),e.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(e.input.slice(r,e.position))&&throwWarning(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&testDocumentSeparator(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,skipSeparationSpace(e,!0,-1))):void(e.position<e.length-1&&throwError(e,"end of the stream or a document separator is expected"))}function loadDocuments(e,t){e=String(e),t=t||{},0!==e.length&&(10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n"),65279===e.charCodeAt(0)&&(e=e.slice(1)));var n=new State(e,t);for(n.input+="\x00";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)readDocument(n);return n.documents}function loadAll(e,t,n){var i,o,r=loadDocuments(e,n);for(i=0,o=r.length;o>i;i+=1)t(r[i])}function load(e,t){var n=loadDocuments(e,t);if(0!==n.length){if(1===n.length)return n[0];throw new YAMLException("expected a single document in the stream, but found more")}}function safeLoadAll(e,t,n){loadAll(e,t,common.extend({schema:DEFAULT_SAFE_SCHEMA},n))}function safeLoad(e,t){return load(e,common.extend({schema:DEFAULT_SAFE_SCHEMA},t))}for(var common=require("./common"),YAMLException=require("./exception"),Mark=require("./mark"),DEFAULT_SAFE_SCHEMA=require("./schema/default_safe"),DEFAULT_FULL_SCHEMA=require("./schema/default_full"),_hasOwnProperty=Object.prototype.hasOwnProperty,CONTEXT_FLOW_IN=1,CONTEXT_FLOW_OUT=2,CONTEXT_BLOCK_IN=3,CONTEXT_BLOCK_OUT=4,CHOMPING_CLIP=1,CHOMPING_STRIP=2,CHOMPING_KEEP=3,PATTERN_NON_PRINTABLE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,PATTERN_NON_ASCII_LINE_BREAKS=/[\x85\u2028\u2029]/,PATTERN_FLOW_INDICATORS=/[,\[\]\{\}]/,PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\-]+!)$/i,PATTERN_TAG_URI=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,simpleEscapeCheck=new Array(256),simpleEscapeMap=new Array(256),i=0;256>i;i++)simpleEscapeCheck[i]=simpleEscapeSequence(i)?1:0,simpleEscapeMap[i]=simpleEscapeSequence(i);var directiveHandlers={YAML:function(e,t,n){var i,o,r;null!==e.version&&throwError(e,"duplication of %YAML directive"),1!==n.length&&throwError(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===i&&throwError(e,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),r=parseInt(i[2],10),1!==o&&throwError(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=2>r,1!==r&&2!==r&&throwWarning(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,o;2!==n.length&&throwError(e,"TAG directive accepts exactly two arguments"),i=n[0],o=n[1],PATTERN_TAG_HANDLE.test(i)||throwError(e,"ill-formed tag handle (first argument) of the TAG directive"),_hasOwnProperty.call(e.tagMap,i)&&throwError(e,'there is a previously declared suffix for "'+i+'" tag handle'),PATTERN_TAG_URI.test(o)||throwError(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=o}};module.exports.loadAll=loadAll,module.exports.load=load,module.exports.safeLoadAll=safeLoadAll,module.exports.safeLoad=safeLoad; - -},{"./common":40,"./exception":42,"./mark":44,"./schema/default_full":47,"./schema/default_safe":48}],44:[function(require,module,exports){ -"use strict";function Mark(t,i,n,e,r){this.name=t,this.buffer=i,this.position=n,this.line=e,this.column=r}var common=require("./common");Mark.prototype.getSnippet=function(t,i){var n,e,r,o,s;if(!this.buffer)return null;for(t=t||4,i=i||75,n="",e=this.position;e>0&&-1==="\x00\r\n
\u2028\u2029".indexOf(this.buffer.charAt(e-1));)if(e-=1,this.position-e>i/2-1){n=" ... ",e+=5;break}for(r="",o=this.position;o<this.buffer.length&&-1==="\x00\r\n
\u2028\u2029".indexOf(this.buffer.charAt(o));)if(o+=1,o-this.position>i/2-1){r=" ... ",o-=5;break}return s=this.buffer.slice(e,o),common.repeat(" ",t)+n+s+r+"\n"+common.repeat(" ",t+this.position-e+n.length)+"^"},Mark.prototype.toString=function(t){var i,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(i=this.getSnippet(),i&&(n+=":\n"+i)),n},module.exports=Mark; - -},{"./common":40}],45:[function(require,module,exports){ -"use strict";function compileList(i,e,t){var c=[];return i.include.forEach(function(i){t=compileList(i,e,t)}),i[e].forEach(function(i){t.forEach(function(e,t){e.tag===i.tag&&c.push(t)}),t.push(i)}),t.filter(function(i,e){return-1===c.indexOf(e)})}function compileMap(){function i(i){c[i.tag]=i}var e,t,c={};for(e=0,t=arguments.length;t>e;e+=1)arguments[e].forEach(i);return c}function Schema(i){this.include=i.include||[],this.implicit=i.implicit||[],this.explicit=i.explicit||[],this.implicit.forEach(function(i){if(i.loadKind&&"scalar"!==i.loadKind)throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=compileList(this,"implicit",[]),this.compiledExplicit=compileList(this,"explicit",[]),this.compiledTypeMap=compileMap(this.compiledImplicit,this.compiledExplicit)}var common=require("./common"),YAMLException=require("./exception"),Type=require("./type");Schema.DEFAULT=null,Schema.create=function(){var i,e;switch(arguments.length){case 1:i=Schema.DEFAULT,e=arguments[0];break;case 2:i=arguments[0],e=arguments[1];break;default:throw new YAMLException("Wrong number of arguments for Schema.create function")}if(i=common.toArray(i),e=common.toArray(e),!i.every(function(i){return i instanceof Schema}))throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!e.every(function(i){return i instanceof Type}))throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new Schema({include:i,explicit:e})},module.exports=Schema; - -},{"./common":40,"./exception":42,"./type":51}],46:[function(require,module,exports){ -"use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./json")]}); - -},{"../schema":45,"./json":50}],47:[function(require,module,exports){ -"use strict";var Schema=require("../schema");module.exports=Schema.DEFAULT=new Schema({include:[require("./default_safe")],explicit:[require("../type/js/undefined"),require("../type/js/regexp"),require("../type/js/function")]}); - -},{"../schema":45,"../type/js/function":56,"../type/js/regexp":57,"../type/js/undefined":58,"./default_safe":48}],48:[function(require,module,exports){ -"use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./core")],implicit:[require("../type/timestamp"),require("../type/merge")],explicit:[require("../type/binary"),require("../type/omap"),require("../type/pairs"),require("../type/set")]}); - -},{"../schema":45,"../type/binary":52,"../type/merge":60,"../type/omap":62,"../type/pairs":63,"../type/set":65,"../type/timestamp":67,"./core":46}],49:[function(require,module,exports){ -"use strict";var Schema=require("../schema");module.exports=new Schema({explicit:[require("../type/str"),require("../type/seq"),require("../type/map")]}); - -},{"../schema":45,"../type/map":59,"../type/seq":64,"../type/str":66}],50:[function(require,module,exports){ -"use strict";var Schema=require("../schema");module.exports=new Schema({include:[require("./failsafe")],implicit:[require("../type/null"),require("../type/bool"),require("../type/int"),require("../type/float")]}); - -},{"../schema":45,"../type/bool":53,"../type/float":54,"../type/int":55,"../type/null":61,"./failsafe":49}],51:[function(require,module,exports){ -"use strict";function compileStyleAliases(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function Type(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===TYPE_CONSTRUCTOR_OPTIONS.indexOf(t))throw new YAMLException('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=compileStyleAliases(t.styleAliases||null),-1===YAML_NODE_KINDS.indexOf(this.kind))throw new YAMLException('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var YAMLException=require("./exception"),TYPE_CONSTRUCTOR_OPTIONS=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],YAML_NODE_KINDS=["scalar","sequence","mapping"];module.exports=Type; - -},{"./exception":42}],52:[function(require,module,exports){ -"use strict";function resolveYamlBinary(r){if(null===r)return!1;var e,n,u=0,t=r.length,a=BASE64_MAP;for(n=0;t>n;n++)if(e=a.indexOf(r.charAt(n)),!(e>64)){if(0>e)return!1;u+=6}return u%8===0}function constructYamlBinary(r){var e,n,u=r.replace(/[\r\n=]/g,""),t=u.length,a=BASE64_MAP,f=0,i=[];for(e=0;t>e;e++)e%4===0&&e&&(i.push(f>>16&255),i.push(f>>8&255),i.push(255&f)),f=f<<6|a.indexOf(u.charAt(e));return n=t%4*6,0===n?(i.push(f>>16&255),i.push(f>>8&255),i.push(255&f)):18===n?(i.push(f>>10&255),i.push(f>>2&255)):12===n&&i.push(f>>4&255),NodeBuffer?new NodeBuffer(i):i}function representYamlBinary(r){var e,n,u="",t=0,a=r.length,f=BASE64_MAP;for(e=0;a>e;e++)e%3===0&&e&&(u+=f[t>>18&63],u+=f[t>>12&63],u+=f[t>>6&63],u+=f[63&t]),t=(t<<8)+r[e];return n=a%3,0===n?(u+=f[t>>18&63],u+=f[t>>12&63],u+=f[t>>6&63],u+=f[63&t]):2===n?(u+=f[t>>10&63],u+=f[t>>4&63],u+=f[t<<2&63],u+=f[64]):1===n&&(u+=f[t>>2&63],u+=f[t<<4&63],u+=f[64],u+=f[64]),u}function isBinary(r){return NodeBuffer&&NodeBuffer.isBuffer(r)}var NodeBuffer;try{var _require=require;NodeBuffer=_require("buffer").Buffer}catch(__){}var Type=require("../type"),BASE64_MAP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";module.exports=new Type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary}); - -},{"../type":51}],53:[function(require,module,exports){ -"use strict";function resolveYamlBoolean(e){if(null===e)return!1;var r=e.length;return 4===r&&("true"===e||"True"===e||"TRUE"===e)||5===r&&("false"===e||"False"===e||"FALSE"===e)}function constructYamlBoolean(e){return"true"===e||"True"===e||"TRUE"===e}function isBoolean(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"}); - -},{"../type":51}],54:[function(require,module,exports){ -"use strict";function resolveYamlFloat(e){return null===e?!1:!!YAML_FLOAT_PATTERN.test(e)}function constructYamlFloat(e){var r,t,a,n;return r=e.replace(/_/g,"").toLowerCase(),t="-"===r[0]?-1:1,n=[],"+-".indexOf(r[0])>=0&&(r=r.slice(1)),".inf"===r?1===t?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===r?NaN:r.indexOf(":")>=0?(r.split(":").forEach(function(e){n.unshift(parseFloat(e,10))}),r=0,a=1,n.forEach(function(e){r+=e*a,a*=60}),t*r):t*parseFloat(r,10)}function representYamlFloat(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(common.isNegativeZero(e))return"-0.0";return t=e.toString(10),SCIENTIFIC_WITHOUT_DOT.test(t)?t.replace("e",".e"):t}function isFloat(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!==0||common.isNegativeZero(e))}var common=require("../common"),Type=require("../type"),YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;module.exports=new Type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"}); - -},{"../common":40,"../type":51}],55:[function(require,module,exports){ -"use strict";function isHexCode(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function isOctCode(e){return e>=48&&55>=e}function isDecCode(e){return e>=48&&57>=e}function resolveYamlInteger(e){if(null===e)return!1;var r,t=e.length,n=0,i=!1;if(!t)return!1;if(r=e[n],"-"!==r&&"+"!==r||(r=e[++n]),"0"===r){if(n+1===t)return!0;if(r=e[++n],"b"===r){for(n++;t>n;n++)if(r=e[n],"_"!==r){if("0"!==r&&"1"!==r)return!1;i=!0}return i}if("x"===r){for(n++;t>n;n++)if(r=e[n],"_"!==r){if(!isHexCode(e.charCodeAt(n)))return!1;i=!0}return i}for(;t>n;n++)if(r=e[n],"_"!==r){if(!isOctCode(e.charCodeAt(n)))return!1;i=!0}return i}for(;t>n;n++)if(r=e[n],"_"!==r){if(":"===r)break;if(!isDecCode(e.charCodeAt(n)))return!1;i=!0}return i?":"!==r?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(n)):!1}function constructYamlInteger(e){var r,t,n=e,i=1,o=[];return-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),r=n[0],"-"!==r&&"+"!==r||("-"===r&&(i=-1),n=n.slice(1),r=n[0]),"0"===n?0:"0"===r?"b"===n[1]?i*parseInt(n.slice(2),2):"x"===n[1]?i*parseInt(n,16):i*parseInt(n,8):-1!==n.indexOf(":")?(n.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),n=0,t=1,o.forEach(function(e){n+=e*t,t*=60}),i*n):i*parseInt(n,10)}function isInteger(e){return"[object Number]"===Object.prototype.toString.call(e)&&e%1===0&&!common.isNegativeZero(e)}var common=require("../common"),Type=require("../type");module.exports=new Type("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}); - -},{"../common":40,"../type":51}],56:[function(require,module,exports){ -"use strict";function resolveJavascriptFunction(e){if(null===e)return!1;try{var r="("+e+")",n=esprima.parse(r,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&"FunctionExpression"===n.body[0].expression.type}catch(t){return!1}}function constructJavascriptFunction(e){var r,n="("+e+")",t=esprima.parse(n,{range:!0}),o=[];if("Program"!==t.type||1!==t.body.length||"ExpressionStatement"!==t.body[0].type||"FunctionExpression"!==t.body[0].expression.type)throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(e){o.push(e.name)}),r=t.body[0].expression.body.range,new Function(o,n.slice(r[0]+1,r[1]-1))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return"[object Function]"===Object.prototype.toString.call(e)}var esprima;try{var _require=require;esprima=_require("esprima")}catch(_){"undefined"!=typeof window&&(esprima=window.esprima)}var Type=require("../../type");module.exports=new Type("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction}); - -},{"../../type":51}],57:[function(require,module,exports){ -"use strict";function resolveJavascriptRegExp(e){if(null===e)return!1;if(0===e.length)return!1;var r=e,t=/\/([gim]*)$/.exec(e),n="";if("/"===r[0]){if(t&&(n=t[1]),n.length>3)return!1;if("/"!==r[r.length-n.length-1])return!1}return!0}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),n="";return"/"===r[0]&&(t&&(n=t[1]),r=r.slice(1,r.length-n.length-1)),new RegExp(r,n)}function representJavascriptRegExp(e){var r="/"+e.source+"/";return e.global&&(r+="g"),e.multiline&&(r+="m"),e.ignoreCase&&(r+="i"),r}function isRegExp(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var Type=require("../../type");module.exports=new Type("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp}); - -},{"../../type":51}],58:[function(require,module,exports){ -"use strict";function resolveJavascriptUndefined(){return!0}function constructJavascriptUndefined(){}function representJavascriptUndefined(){return""}function isUndefined(e){return"undefined"==typeof e}var Type=require("../../type");module.exports=new Type("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined}); - -},{"../../type":51}],59:[function(require,module,exports){ -"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}}); - -},{"../type":51}],60:[function(require,module,exports){ -"use strict";function resolveYamlMerge(e){return"<<"===e||null===e}var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge}); - -},{"../type":51}],61:[function(require,module,exports){ -"use strict";function resolveYamlNull(l){if(null===l)return!0;var e=l.length;return 1===e&&"~"===l||4===e&&("null"===l||"Null"===l||"NULL"===l)}function constructYamlNull(){return null}function isNull(l){return null===l}var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"}); - -},{"../type":51}],62:[function(require,module,exports){ -"use strict";function resolveYamlOmap(r){if(null===r)return!0;var t,e,n,o,u,a=[],l=r;for(t=0,e=l.length;e>t;t+=1){if(n=l[t],u=!1,"[object Object]"!==_toString.call(n))return!1;for(o in n)if(_hasOwnProperty.call(n,o)){if(u)return!1;u=!0}if(!u)return!1;if(-1!==a.indexOf(o))return!1;a.push(o)}return!0}function constructYamlOmap(r){return null!==r?r:[]}var Type=require("../type"),_hasOwnProperty=Object.prototype.hasOwnProperty,_toString=Object.prototype.toString;module.exports=new Type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap}); - -},{"../type":51}],63:[function(require,module,exports){ -"use strict";function resolveYamlPairs(r){if(null===r)return!0;var e,t,n,l,o,a=r;for(o=new Array(a.length),e=0,t=a.length;t>e;e+=1){if(n=a[e],"[object Object]"!==_toString.call(n))return!1;if(l=Object.keys(n),1!==l.length)return!1;o[e]=[l[0],n[l[0]]]}return!0}function constructYamlPairs(r){if(null===r)return[];var e,t,n,l,o,a=r;for(o=new Array(a.length),e=0,t=a.length;t>e;e+=1)n=a[e],l=Object.keys(n),o[e]=[l[0],n[l[0]]];return o}var Type=require("../type"),_toString=Object.prototype.toString;module.exports=new Type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs}); - -},{"../type":51}],64:[function(require,module,exports){ -"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}}); - -},{"../type":51}],65:[function(require,module,exports){ -"use strict";function resolveYamlSet(e){if(null===e)return!0;var r,t=e;for(r in t)if(_hasOwnProperty.call(t,r)&&null!==t[r])return!1;return!0}function constructYamlSet(e){return null!==e?e:{}}var Type=require("../type"),_hasOwnProperty=Object.prototype.hasOwnProperty;module.exports=new Type("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet}); - -},{"../type":51}],66:[function(require,module,exports){ -"use strict";var Type=require("../type");module.exports=new Type("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return null!==r?r:""}}); - -},{"../type":51}],67:[function(require,module,exports){ -"use strict";function resolveYamlTimestamp(e){return null===e?!1:null!==YAML_DATE_REGEXP.exec(e)?!0:null!==YAML_TIMESTAMP_REGEXP.exec(e)}function constructYamlTimestamp(e){var t,r,n,l,a,m,s,T,i,E,u=0,o=null;if(t=YAML_DATE_REGEXP.exec(e),null===t&&(t=YAML_TIMESTAMP_REGEXP.exec(e)),null===t)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,l=+t[3],!t[4])return new Date(Date.UTC(r,n,l));if(a=+t[4],m=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+="0";u=+u}return t[9]&&(T=+t[10],i=+(t[11]||0),o=6e4*(60*T+i),"-"===t[9]&&(o=-o)),E=new Date(Date.UTC(r,n,l,a,m,s,u)),o&&E.setTime(E.getTime()-o),E}function representYamlTimestamp(e){return e.toISOString()}var Type=require("../type"),YAML_DATE_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),YAML_TIMESTAMP_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");module.exports=new Type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp}); - -},{"../type":51}],68:[function(require,module,exports){ -function parse(e){if(e=""+e,!(e.length>1e4)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(a){var r=parseFloat(a[1]),c=(a[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return r*y;case"days":case"day":case"d":return r*d;case"hours":case"hour":case"hrs":case"hr":case"h":return r*h;case"minutes":case"minute":case"mins":case"min":case"m":return r*m;case"seconds":case"second":case"secs":case"sec":case"s":return r*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r}}}}function short(e){return e>=d?Math.round(e/d)+"d":e>=h?Math.round(e/h)+"h":e>=m?Math.round(e/m)+"m":e>=s?Math.round(e/s)+"s":e+"ms"}function long(e){return plural(e,d,"day")||plural(e,h,"hour")||plural(e,m,"minute")||plural(e,s,"second")||e+" ms"}function plural(s,e,a){return e>s?void 0:1.5*e>s?Math.floor(s/e)+" "+a:Math.ceil(s/e)+" "+a+"s"}var s=1e3,m=60*s,h=60*m,d=24*h,y=365.25*d;module.exports=function(s,e){return e=e||{},"string"==typeof s?parse(s):e["long"]?long(s):short(s)}; - -},{}],69:[function(require,module,exports){ -/**! - * Ono v2.2.1 - * - * @link https://github.com/BigstickCarpet/ono - * @license MIT - */ -"use strict";function create(e){return function(r,t,o,n){var c,a=module.exports.formatter;"string"==typeof r?(c=a.apply(null,arguments),r=t=void 0):c="string"==typeof t?a.apply(null,slice.call(arguments,1)):a.apply(null,slice.call(arguments,2)),r instanceof Error||(t=r,r=void 0),r&&(c+=(c?" \n":"")+r.message);var i=new e(c);return extendError(i,r),extendToJSON(i),extend(i,t),i}}function extendError(e,r){r&&(extendStack(e,r),extend(e,r,!0))}function extendToJSON(e){e.toJSON=errorToJSON,e.inspect=errorToString}function extend(e,r,t){if(r&&"object"==typeof r)for(var o=Object.keys(r),n=0;n<o.length;n++){var c=o[n];if(!(t&&vendorSpecificErrorProperties.indexOf(c)>=0))try{e[c]=r[c]}catch(a){}}}function errorToJSON(){var e={},r=Object.keys(this);r=r.concat(vendorSpecificErrorProperties);for(var t=0;t<r.length;t++){var o=r[t],n=this[o],c=typeof n;"undefined"!==c&&"function"!==c&&(e[o]=n)}return e}function errorToString(){return JSON.stringify(this,null,2).replace(/\\n/g,"\n")}function extendStack(e,r){if(hasLazyStack(r))extendStackProperty(e,r);else{var t=r.stack;t&&(e.stack+=" \n\n"+r.stack)}}function hasLazyStack(e){if(!supportsLazyStack)return!1;var r=Object.getOwnPropertyDescriptor(e,"stack");return r?"function"==typeof r.get:!1}function extendStackProperty(e,r){var t=Object.getOwnPropertyDescriptor(r,"stack");if(t){var o=Object.getOwnPropertyDescriptor(e,"stack");Object.defineProperty(e,"stack",{get:function(){return o.get.apply(e)+" \n\n"+r.stack},enumerable:!1,configurable:!0})}}var util=require("util"),slice=Array.prototype.slice,vendorSpecificErrorProperties=["name","message","description","number","fileName","lineNumber","columnNumber","sourceURL","line","column","stack"];module.exports=create(Error),module.exports.error=create(Error),module.exports.eval=create(EvalError),module.exports.range=create(RangeError),module.exports.reference=create(ReferenceError),module.exports.syntax=create(SyntaxError),module.exports.type=create(TypeError),module.exports.uri=create(URIError),module.exports.formatter=util.format;var supportsLazyStack=function(){return!(!Object.getOwnPropertyDescriptor||!Object.defineProperty||"undefined"!=typeof navigator&&/Android/.test(navigator.userAgent))}(); - -},{"util":97}],70:[function(require,module,exports){ -(function (process){ -"use strict";function nextTick(e){for(var s=new Array(arguments.length-1),n=0;n<s.length;)s[n++]=arguments[n];process.nextTick(function(){e.apply(null,s)})}!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?module.exports=nextTick:module.exports=process.nextTick; - -}).call(this,require('_process')) - -},{"_process":71}],71:[function(require,module,exports){ -function cleanUpNextTick(){draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue()}function drainQueue(){if(!draining){var e=setTimeout(cleanUpNextTick);draining=!0;for(var n=queue.length;n;){for(currentQueue=queue,queue=[];++queueIndex<n;)currentQueue&¤tQueue[queueIndex].run();queueIndex=-1,n=queue.length}currentQueue=null,draining=!1,clearTimeout(e)}}function Item(e,n){this.fun=e,this.array=n}function noop(){}var process=module.exports={},queue=[],draining=!1,currentQueue,queueIndex=-1;process.nextTick=function(e){var n=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)n[r-1]=arguments[r];queue.push(new Item(e,n)),1!==queue.length||draining||setTimeout(drainQueue,0)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}; - -},{}],72:[function(require,module,exports){ -(function (global){ -/*! https://mths.be/punycode v1.4.1 by @mathias */ -!function(e){function o(e){throw new RangeError(T[e])}function n(e,o){for(var n=e.length,r=[];n--;)r[n]=o(e[n]);return r}function r(e,o){var r=e.split("@"),t="";r.length>1&&(t=r[0]+"@",e=r[1]),e=e.replace(S,".");var u=e.split("."),i=n(u,o).join(".");return t+i}function t(e){for(var o,n,r=[],t=0,u=e.length;u>t;)o=e.charCodeAt(t++),o>=55296&&56319>=o&&u>t?(n=e.charCodeAt(t++),56320==(64512&n)?r.push(((1023&o)<<10)+(1023&n)+65536):(r.push(o),t--)):r.push(o);return r}function u(e){return n(e,function(e){var o="";return e>65535&&(e-=65536,o+=P(e>>>10&1023|55296),e=56320|1023&e),o+=P(e)}).join("")}function i(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:b}function f(e,o){return e+22+75*(26>e)-((0!=o)<<5)}function c(e,o,n){var r=0;for(e=n?M(e/j):e>>1,e+=M(e/o);e>L*C>>1;r+=b)e=M(e/L);return M(r+(L+1)*e/(e+m))}function l(e){var n,r,t,f,l,s,d,a,p,h,v=[],g=e.length,w=0,m=I,j=A;for(r=e.lastIndexOf(E),0>r&&(r=0),t=0;r>t;++t)e.charCodeAt(t)>=128&&o("not-basic"),v.push(e.charCodeAt(t));for(f=r>0?r+1:0;g>f;){for(l=w,s=1,d=b;f>=g&&o("invalid-input"),a=i(e.charCodeAt(f++)),(a>=b||a>M((x-w)/s))&&o("overflow"),w+=a*s,p=j>=d?y:d>=j+C?C:d-j,!(p>a);d+=b)h=b-p,s>M(x/h)&&o("overflow"),s*=h;n=v.length+1,j=c(w-l,n,0==l),M(w/n)>x-m&&o("overflow"),m+=M(w/n),w%=n,v.splice(w++,0,m)}return u(v)}function s(e){var n,r,u,i,l,s,d,a,p,h,v,g,w,m,j,F=[];for(e=t(e),g=e.length,n=I,r=0,l=A,s=0;g>s;++s)v=e[s],128>v&&F.push(P(v));for(u=i=F.length,i&&F.push(E);g>u;){for(d=x,s=0;g>s;++s)v=e[s],v>=n&&d>v&&(d=v);for(w=u+1,d-n>M((x-r)/w)&&o("overflow"),r+=(d-n)*w,n=d,s=0;g>s;++s)if(v=e[s],n>v&&++r>x&&o("overflow"),v==n){for(a=r,p=b;h=l>=p?y:p>=l+C?C:p-l,!(h>a);p+=b)j=a-h,m=b-h,F.push(P(f(h+j%m,0))),a=M(j/m);F.push(P(f(a,0))),l=c(r,w,u==i),r=0,++u}++r,++n}return F.join("")}function d(e){return r(e,function(e){return F.test(e)?l(e.slice(4).toLowerCase()):e})}function a(e){return r(e,function(e){return O.test(e)?"xn--"+s(e):e})}var p="object"==typeof exports&&exports&&!exports.nodeType&&exports,h="object"==typeof module&&module&&!module.nodeType&&module,v="object"==typeof global&&global;v.global!==v&&v.window!==v&&v.self!==v||(e=v);var g,w,x=2147483647,b=36,y=1,C=26,m=38,j=700,A=72,I=128,E="-",F=/^xn--/,O=/[^\x20-\x7E]/,S=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=b-y,M=Math.floor,P=String.fromCharCode;if(g={version:"1.4.1",ucs2:{decode:t,encode:u},decode:l,encode:s,toASCII:a,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return g});else if(p&&h)if(module.exports==p)h.exports=g;else for(w in g)g.hasOwnProperty(w)&&(p[w]=g[w]);else e.punycode=g}(this); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{}],73:[function(require,module,exports){ -"use strict";function hasOwnProperty(r,e){return Object.prototype.hasOwnProperty.call(r,e)}module.exports=function(r,e,t,n){e=e||"&",t=t||"=";var o={};if("string"!=typeof r||0===r.length)return o;var a=/\+/g;r=r.split(e);var s=1e3;n&&"number"==typeof n.maxKeys&&(s=n.maxKeys);var p=r.length;s>0&&p>s&&(p=s);for(var y=0;p>y;++y){var u,c,i,l,f=r[y].replace(a,"%20"),v=f.indexOf(t);v>=0?(u=f.substr(0,v),c=f.substr(v+1)):(u=f,c=""),i=decodeURIComponent(u),l=decodeURIComponent(c),hasOwnProperty(o,i)?isArray(o[i])?o[i].push(l):o[i]=[o[i],l]:o[i]=l}return o};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)}; - -},{}],74:[function(require,module,exports){ -"use strict";function map(r,e){if(r.map)return r.map(e);for(var t=[],n=0;n<r.length;n++)t.push(e(r[n],n));return t}var stringifyPrimitive=function(r){switch(typeof r){case"string":return r;case"boolean":return r?"true":"false";case"number":return isFinite(r)?r:"";default:return""}};module.exports=function(r,e,t,n){return e=e||"&",t=t||"=",null===r&&(r=void 0),"object"==typeof r?map(objectKeys(r),function(n){var i=encodeURIComponent(stringifyPrimitive(n))+t;return isArray(r[n])?map(r[n],function(r){return i+encodeURIComponent(stringifyPrimitive(r))}).join(e):i+encodeURIComponent(stringifyPrimitive(r[n]))}).join(e):n?encodeURIComponent(stringifyPrimitive(n))+t+encodeURIComponent(stringifyPrimitive(r)):""};var isArray=Array.isArray||function(r){return"[object Array]"===Object.prototype.toString.call(r)},objectKeys=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e}; - -},{}],75:[function(require,module,exports){ -"use strict";exports.decode=exports.parse=require("./decode"),exports.encode=exports.stringify=require("./encode"); - -},{"./decode":73,"./encode":74}],76:[function(require,module,exports){ -module.exports=require("./lib/_stream_duplex.js"); - -},{"./lib/_stream_duplex.js":77}],77:[function(require,module,exports){ -"use strict";function Duplex(e){return this instanceof Duplex?(Readable.call(this,e),Writable.call(this,e),e&&e.readable===!1&&(this.readable=!1),e&&e.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,e&&e.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",onend)):new Duplex(e)}function onend(){this.allowHalfOpen||this._writableState.ended||processNextTick(onEndNT,this)}function onEndNT(e){e.end()}function forEach(e,t){for(var r=0,i=e.length;i>r;r++)t(e[r],r)}var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var processNextTick=require("process-nextick-args"),util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])} - -},{"./_stream_readable":79,"./_stream_writable":81,"core-util-is":28,"inherits":35,"process-nextick-args":70}],78:[function(require,module,exports){ -"use strict";function PassThrough(r){return this instanceof PassThrough?void Transform.call(this,r):new PassThrough(r)}module.exports=PassThrough;var Transform=require("./_stream_transform"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,i){i(null,r)}; - -},{"./_stream_transform":80,"core-util-is":28,"inherits":35}],79:[function(require,module,exports){ -(function (process){ -"use strict";function ReadableState(e,t){Duplex=Duplex||require("./_stream_duplex"),e=e||{},this.objectMode=!!e.objectMode,t instanceof Duplex&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,n=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:n,this.highWaterMark=~~this.highWaterMark,this.buffer=[],this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Readable?(this._readableState=new ReadableState(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),void Stream.call(this)):new Readable(e)}function readableAddChunk(e,t,r,n,a){var i=chunkInvalid(t,r);if(i)e.emit("error",i);else if(null===r)t.reading=!1,onEofChunk(e,t);else if(t.objectMode||r&&r.length>0)if(t.ended&&!a){var d=new Error("stream.push() after EOF");e.emit("error",d)}else if(t.endEmitted&&a){var d=new Error("stream.unshift() after end event");e.emit("error",d)}else{var o;!t.decoder||a||n||(r=t.decoder.write(r),o=!t.objectMode&&0===r.length),a||(t.reading=!1),o||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",r),e.read(0)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e))),maybeReadMore(e,t)}else a||(t.reading=!1);return needMoreData(t)}function needMoreData(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return 0===t.length&&t.ended?0:t.objectMode?0===e?0:1:null===e||isNaN(e)?t.flowing&&t.buffer.length?t.buffer[0].length:t.length:0>=e?0:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e>t.length?t.ended?t.length:(t.needReadable=!0,0):e)}function chunkInvalid(e,t){var r=null;return Buffer.isBuffer(t)||"string"==typeof t||null===t||void 0===t||e.objectMode||(r=new TypeError("Invalid non-string/buffer chunk")),r}function onEofChunk(e,t){if(!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,emitReadable(e)}}function emitReadable(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?processNextTick(emitReadable_,e):emitReadable_(e))}function emitReadable_(e){debug("emit readable"),e.emit("readable"),flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,processNextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(var r=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(debug("maybeReadMore read 0"),e.read(0),r!==t.length);)r=t.length;t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,processNextTick(resume_,e,t))}function resume_(e,t){t.reading||(debug("resume read 0"),e.read(0)),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;if(debug("flow",t.flowing),t.flowing)do var r=e.read();while(null!==r&&t.flowing)}function fromList(e,t){var r,n=t.buffer,a=t.length,i=!!t.decoder,d=!!t.objectMode;if(0===n.length)return null;if(0===a)r=null;else if(d)r=n.shift();else if(!e||e>=a)r=i?n.join(""):1===n.length?n[0]:Buffer.concat(n,a),n.length=0;else if(e<n[0].length){var o=n[0];r=o.slice(0,e),n[0]=o.slice(e)}else if(e===n[0].length)r=n.shift();else{r=i?"":new Buffer(e);for(var l=0,u=0,s=n.length;s>u&&e>l;u++){var o=n[0],h=Math.min(e-l,o.length);i?r+=o.slice(0,h):o.copy(r,l,0,h),h<o.length?n[0]=o.slice(h):n.shift(),l+=h}}return r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error("endReadable called on non-empty stream");t.endEmitted||(t.ended=!0,processNextTick(endReadableNT,t,e))}function endReadableNT(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function forEach(e,t){for(var r=0,n=e.length;n>r;r++)t(e[r],r)}function indexOf(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1}module.exports=Readable;var processNextTick=require("process-nextick-args"),isArray=require("isarray"),Buffer=require("buffer").Buffer;Readable.ReadableState=ReadableState;var EE=require("events"),EElistenerCount=function(e,t){return e.listeners(t).length},Stream;!function(){try{Stream=require("stream")}catch(e){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer,util=require("core-util-is");util.inherits=require("inherits");var debugUtil=require("util"),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder;util.inherits(Readable,Stream);var Duplex,Duplex;Readable.prototype.push=function(e,t){var r=this._readableState;return r.objectMode||"string"!=typeof e||(t=t||r.defaultEncoding,t!==r.encoding&&(e=new Buffer(e,t),t="")),readableAddChunk(this,r,e,t,!1)},Readable.prototype.unshift=function(e){var t=this._readableState;return readableAddChunk(this,t,e,"",!0)},Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(e){return StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this._readableState.decoder=new StringDecoder(e),this._readableState.encoding=e,this};var MAX_HWM=8388608;Readable.prototype.read=function(e){debug("read",e);var t=this._readableState,r=e;if(("number"!=typeof e||e>0)&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(e=howMuchToRead(e,t),0===e&&t.ended)return 0===t.length&&endReadable(this),null;var n=t.needReadable;debug("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&(n=!0,debug("length less than watermark",n)),(t.ended||t.reading)&&(n=!1,debug("reading or ended",n)),n&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1),n&&!t.reading&&(e=howMuchToRead(r,t));var a;return a=e>0?fromList(e,t):null,null===a&&(t.needReadable=!0,e=0),t.length-=e,0!==t.length||t.ended||(t.needReadable=!0),r!==e&&t.ended&&0===t.length&&endReadable(this),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){this.emit("error",new Error("not implemented"))},Readable.prototype.pipe=function(e,t){function r(e){debug("onunpipe"),e===s&&a()}function n(){debug("onend"),e.end()}function a(){debug("cleanup"),e.removeListener("close",o),e.removeListener("finish",l),e.removeListener("drain",c),e.removeListener("error",d),e.removeListener("unpipe",r),s.removeListener("end",n),s.removeListener("end",a),s.removeListener("data",i),b=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||c()}function i(t){debug("ondata");var r=e.write(t);!1===r&&(1!==h.pipesCount||h.pipes[0]!==e||1!==s.listenerCount("data")||b||(debug("false write response, pause",s._readableState.awaitDrain),s._readableState.awaitDrain++),s.pause())}function d(t){debug("onerror",t),u(),e.removeListener("error",d),0===EElistenerCount(e,"error")&&e.emit("error",t)}function o(){e.removeListener("finish",l),u()}function l(){debug("onfinish"),e.removeListener("close",o),u()}function u(){debug("unpipe"),s.unpipe(e)}var s=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,debug("pipe count=%d opts=%j",h.pipesCount,t);var f=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,p=f?n:a;h.endEmitted?processNextTick(p):s.once("end",p),e.on("unpipe",r);var c=pipeOnDrain(s);e.on("drain",c);var b=!1;return s.on("data",i),e._events&&e._events.error?isArray(e._events.error)?e._events.error.unshift(d):e._events.error=[d,e._events.error]:e.on("error",d),e.once("close",o),e.once("finish",l),e.emit("pipe",s),h.flowing||(debug("pipe resume"),s.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this),this);if(!e){var r=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;n>a;a++)r[a].emit("unpipe",this);return this}var i=indexOf(t.pipes,e);return-1===i?this:(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t);if("data"===e&&!1!==this._readableState.flowing&&this.resume(),"readable"===e&&!this._readableState.endEmitted){var n=this._readableState;n.readableListening||(n.readableListening=!0,n.emittedReadable=!1,n.needReadable=!0,n.reading?n.length&&emitReadable(this,n):processNextTick(nReadingNextTick,this))}return r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!0,resume(this,e)),this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Readable.prototype.wrap=function(e){var t=this._readableState,r=!1,n=this;e.on("end",function(){if(debug("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&n.push(e)}n.push(null)}),e.on("data",function(a){if(debug("wrapped data"),t.decoder&&(a=t.decoder.write(a)),(!t.objectMode||null!==a&&void 0!==a)&&(t.objectMode||a&&a.length)){var i=n.push(a);i||(r=!0,e.pause())}});for(var a in e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));var i=["error","close","destroy","pause","resume"];return forEach(i,function(t){e.on(t,n.emit.bind(n,t))}),n._read=function(t){debug("wrapped _read",t),r&&(r=!1,e.resume())},n},Readable._fromList=fromList; - -}).call(this,require('_process')) - -},{"./_stream_duplex":77,"_process":71,"buffer":25,"core-util-is":28,"events":32,"inherits":35,"isarray":37,"process-nextick-args":70,"stream":86,"string_decoder/":91,"util":23}],80:[function(require,module,exports){ -"use strict";function TransformState(r){this.afterTransform=function(t,n){return afterTransform(r,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function afterTransform(r,t,n){var e=r._transformState;e.transforming=!1;var i=e.writecb;if(!i)return r.emit("error",new Error("no writecb in Transform class"));e.writechunk=null,e.writecb=null,null!==n&&void 0!==n&&r.push(n),i(t);var a=r._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&r._read(a.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState=new TransformState(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(r){done(t,r)}):done(t)})}function done(r,t){if(t)return r.emit("error",t);var n=r._writableState,e=r._transformState;if(n.length)throw new Error("calling transform done when ws.length != 0");if(e.transforming)throw new Error("calling transform done when still transforming");return r.push(null)}module.exports=Transform;var Duplex=require("./_stream_duplex"),util=require("core-util-is");util.inherits=require("inherits"),util.inherits(Transform,Duplex),Transform.prototype.push=function(r,t){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,t)},Transform.prototype._transform=function(r,t,n){throw new Error("not implemented")},Transform.prototype._write=function(r,t,n){var e=this._transformState;if(e.writecb=n,e.writechunk=r,e.writeencoding=t,!e.transforming){var i=this._readableState;(e.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0}; - -},{"./_stream_duplex":77,"core-util-is":28,"inherits":35}],81:[function(require,module,exports){ -(function (process){ -"use strict";function nop(){}function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function WritableState(e,t){Duplex=Duplex||require("./_stream_duplex"),e=e||{},this.objectMode=!!e.objectMode,t instanceof Duplex&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this),this.corkedRequestsFree.next=new CorkedRequest(this)}function Writable(e){return Duplex=Duplex||require("./_stream_duplex"),this instanceof Writable||this instanceof Duplex?(this._writableState=new WritableState(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),void Stream.call(this)):new Writable(e)}function writeAfterEnd(e,t){var r=new Error("write after end");e.emit("error",r),processNextTick(t,r)}function validChunk(e,t,r,i){var n=!0;if(!Buffer.isBuffer(r)&&"string"!=typeof r&&null!==r&&void 0!==r&&!t.objectMode){var s=new TypeError("Invalid non-string/buffer chunk");e.emit("error",s),processNextTick(i,s),n=!1}return n}function decodeChunk(e,t,r){return e.objectMode||e.decodeStrings===!1||"string"!=typeof t||(t=new Buffer(t,r)),t}function writeOrBuffer(e,t,r,i,n){r=decodeChunk(t,r,i),Buffer.isBuffer(r)&&(i="buffer");var s=t.objectMode?1:r.length;t.length+=s;var f=t.length<t.highWaterMark;if(f||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest=new WriteReq(r,i,n),u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,s,r,i,n);return f}function doWrite(e,t,r,i,n,s,f){t.writelen=i,t.writecb=f,t.writing=!0,t.sync=!0,r?e._writev(n,t.onwrite):e._write(n,s,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?processNextTick(n,i):n(i),e._writableState.errorEmitted=!0,e.emit("error",i)}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var s=needFinish(r);s||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?asyncWrite(afterWrite,e,r,s,n):afterWrite(e,r,s,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),s=t.corkedRequestsFree;s.entry=r;for(var f=0;r;)n[f]=r,r=r.next,f+=1;doWrite(e,t,!0,t.length,n,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,t.corkedRequestsFree=s.next,s.next=null}else{for(;r;){var u=r.chunk,o=r.encoding,a=r.callback,c=t.objectMode?1:u.length;if(doWrite(e,t,!1,c,u,o,a),r=r.next,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function prefinish(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function finishMaybe(e,t){var r=needFinish(t);return r&&(0===t.pendingcb?(prefinish(e,t),t.finished=!0,e.emit("finish")):prefinish(e,t)),r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?processNextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(r){var i=t.entry;for(t.entry=null;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}module.exports=Writable;var processNextTick=require("process-nextick-args"),asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:processNextTick,Buffer=require("buffer").Buffer;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var internalUtil={deprecate:require("util-deprecate")},Stream;!function(){try{Stream=require("stream")}catch(e){}finally{Stream||(Stream=require("events").EventEmitter)}}();var Buffer=require("buffer").Buffer;util.inherits(Writable,Stream);var Duplex;WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(e){}}();var Duplex;Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe. Not readable."))},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1;return"function"==typeof t&&(r=t,t=null),Buffer.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ended?writeAfterEnd(this,r):validChunk(this,i,e,r)&&(i.pendingcb++,n=writeOrBuffer(this,i,e,t,r)),n},Writable.prototype.cork=function(){var e=this._writableState;e.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e},Writable.prototype._write=function(e,t,r){r(new Error("not implemented"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!==e&&void 0!==e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||endWritable(this,i,r)}; - -}).call(this,require('_process')) - -},{"./_stream_duplex":77,"_process":71,"buffer":25,"core-util-is":28,"events":32,"inherits":35,"process-nextick-args":70,"stream":86,"util-deprecate":95}],82:[function(require,module,exports){ -module.exports=require("./lib/_stream_passthrough.js"); - -},{"./lib/_stream_passthrough.js":78}],83:[function(require,module,exports){ -var Stream=function(){try{return require("stream")}catch(r){}}();exports=module.exports=require("./lib/_stream_readable.js"),exports.Stream=Stream||exports,exports.Readable=exports,exports.Writable=require("./lib/_stream_writable.js"),exports.Duplex=require("./lib/_stream_duplex.js"),exports.Transform=require("./lib/_stream_transform.js"),exports.PassThrough=require("./lib/_stream_passthrough.js"); - -},{"./lib/_stream_duplex.js":77,"./lib/_stream_passthrough.js":78,"./lib/_stream_readable.js":79,"./lib/_stream_transform.js":80,"./lib/_stream_writable.js":81,"stream":86}],84:[function(require,module,exports){ -module.exports=require("./lib/_stream_transform.js"); - -},{"./lib/_stream_transform.js":80}],85:[function(require,module,exports){ -module.exports=require("./lib/_stream_writable.js"); - -},{"./lib/_stream_writable.js":81}],86:[function(require,module,exports){ -function Stream(){EE.call(this)}module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");inherits(Stream,EE),Stream.Readable=require("readable-stream/readable.js"),Stream.Writable=require("readable-stream/writable.js"),Stream.Duplex=require("readable-stream/duplex.js"),Stream.Transform=require("readable-stream/transform.js"),Stream.PassThrough=require("readable-stream/passthrough.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){function t(r){e.writable&&!1===e.write(r)&&m.pause&&m.pause()}function n(){m.readable&&m.resume&&m.resume()}function a(){u||(u=!0,e.end())}function o(){u||(u=!0,"function"==typeof e.destroy&&e.destroy())}function i(e){if(s(),0===EE.listenerCount(this,"error"))throw e}function s(){m.removeListener("data",t),e.removeListener("drain",n),m.removeListener("end",a),m.removeListener("close",o),m.removeListener("error",i),e.removeListener("error",i),m.removeListener("end",s),m.removeListener("close",s),e.removeListener("close",s)}var m=this;m.on("data",t),e.on("drain",n),e._isStdio||r&&r.end===!1||(m.on("end",a),m.on("close",o));var u=!1;return m.on("error",i),e.on("error",i),m.on("end",s),m.on("close",s),e.on("close",s),e.emit("pipe",m),e}; - -},{"events":32,"inherits":35,"readable-stream/duplex.js":76,"readable-stream/passthrough.js":82,"readable-stream/readable.js":83,"readable-stream/transform.js":84,"readable-stream/writable.js":85}],87:[function(require,module,exports){ -(function (global){ -var ClientRequest=require("./lib/request"),extend=require("xtend"),statusCodes=require("builtin-status-codes"),url=require("url"),http=exports;http.request=function(t,e){t="string"==typeof t?url.parse(t):extend(t);var r=-1===global.location.protocol.search(/^https?:$/)?"http:":"",s=t.protocol||r,o=t.hostname||t.host,n=t.port,u=t.path||"/";o&&-1!==o.indexOf(":")&&(o="["+o+"]"),t.url=(o?s+"//"+o:"")+(n?":"+n:"")+u,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var C=new ClientRequest(t);return e&&C.on("response",e),C},http.get=function(t,e){var r=http.request(t,e);return r.end(),r},http.Agent=function(){},http.Agent.defaultMaxSockets=4,http.STATUS_CODES=statusCodes,http.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"./lib/request":89,"builtin-status-codes":26,"url":93,"xtend":98}],88:[function(require,module,exports){ -(function (global){ -function checkTypeSupport(e){try{return xhr.responseType=e,xhr.responseType===e}catch(r){}return!1}function isFunction(e){return"function"==typeof e}exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableByteStream),exports.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),exports.blobConstructor=!0}catch(e){}var xhr=new global.XMLHttpRequest;xhr.open("GET",global.location.host?"/":"https://example.com");var haveArrayBuffer="undefined"!=typeof global.ArrayBuffer,haveSlice=haveArrayBuffer&&isFunction(global.ArrayBuffer.prototype.slice);exports.arraybuffer=haveArrayBuffer&&checkTypeSupport("arraybuffer"),exports.msstream=!exports.fetch&&haveSlice&&checkTypeSupport("ms-stream"),exports.mozchunkedarraybuffer=!exports.fetch&&haveArrayBuffer&&checkTypeSupport("moz-chunked-arraybuffer"),exports.overrideMimeType=isFunction(xhr.overrideMimeType),exports.vbArray=isFunction(global.VBArray),xhr=null; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{}],89:[function(require,module,exports){ -(function (process,global,Buffer){ -function decideMode(e){return capability.fetch?"fetch":capability.mozchunkedarraybuffer?"moz-chunked-arraybuffer":capability.msstream?"ms-stream":capability.arraybuffer&&e?"arraybuffer":capability.vbArray&&e?"text:vbarray":"text"}function statusValid(e){try{var t=e.status;return null!==t&&0!==t}catch(r){return!1}}var capability=require("./capability"),inherits=require("inherits"),response=require("./response"),stream=require("stream"),toArrayBuffer=require("to-arraybuffer"),IncomingMessage=response.IncomingMessage,rStates=response.readyStates,ClientRequest=module.exports=function(e){var t=this;stream.Writable.call(t),t._opts=e,t._body=[],t._headers={},e.auth&&t.setHeader("Authorization","Basic "+new Buffer(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(r){t.setHeader(r,e.headers[r])});var r;if("prefer-streaming"===e.mode)r=!1;else if("allow-wrong-content-type"===e.mode)r=!capability.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");r=!0}t._mode=decideMode(r),t.on("finish",function(){t._onFinish()})};inherits(ClientRequest,stream.Writable),ClientRequest.prototype.setHeader=function(e,t){var r=this,o=e.toLowerCase();-1===unsafeHeaders.indexOf(o)&&(r._headers[o]={name:e,value:t})},ClientRequest.prototype.getHeader=function(e){var t=this;return t._headers[e.toLowerCase()].value},ClientRequest.prototype.removeHeader=function(e){var t=this;delete t._headers[e.toLowerCase()]},ClientRequest.prototype._onFinish=function(){var e=this;if(!e._destroyed){var t,r=e._opts,o=e._headers;if("POST"!==r.method&&"PUT"!==r.method&&"PATCH"!==r.method||(t=capability.blobConstructor?new global.Blob(e._body.map(function(e){return toArrayBuffer(e)}),{type:(o["content-type"]||{}).value||""}):Buffer.concat(e._body).toString()),"fetch"===e._mode){var n=Object.keys(o).map(function(e){return[o[e].name,o[e].value]});global.fetch(e._opts.url,{method:e._opts.method,headers:n,body:t,mode:"cors",credentials:r.withCredentials?"include":"same-origin"}).then(function(t){e._fetchResponse=t,e._connect()},function(t){e.emit("error",t)})}else{var s=e._xhr=new global.XMLHttpRequest;try{s.open(e._opts.method,e._opts.url,!0)}catch(i){return void process.nextTick(function(){e.emit("error",i)})}"responseType"in s&&(s.responseType=e._mode.split(":")[0]),"withCredentials"in s&&(s.withCredentials=!!r.withCredentials),"text"===e._mode&&"overrideMimeType"in s&&s.overrideMimeType("text/plain; charset=x-user-defined"),Object.keys(o).forEach(function(e){s.setRequestHeader(o[e].name,o[e].value)}),e._response=null,s.onreadystatechange=function(){switch(s.readyState){case rStates.LOADING:case rStates.DONE:e._onXHRProgress()}},"moz-chunked-arraybuffer"===e._mode&&(s.onprogress=function(){e._onXHRProgress()}),s.onerror=function(){e._destroyed||e.emit("error",new Error("XHR error"))};try{s.send(t)}catch(i){return void process.nextTick(function(){e.emit("error",i)})}}}},ClientRequest.prototype._onXHRProgress=function(){var e=this;statusValid(e._xhr)&&!e._destroyed&&(e._response||e._connect(),e._response._onXHRProgress())},ClientRequest.prototype._connect=function(){var e=this;e._destroyed||(e._response=new IncomingMessage(e._xhr,e._fetchResponse,e._mode),e.emit("response",e._response))},ClientRequest.prototype._write=function(e,t,r){var o=this;o._body.push(e),r()},ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(){var e=this;e._destroyed=!0,e._response&&(e._response._destroyed=!0),e._xhr&&e._xhr.abort()},ClientRequest.prototype.end=function(e,t,r){var o=this;"function"==typeof e&&(r=e,e=void 0),stream.Writable.prototype.end.call(o,e,t,r)},ClientRequest.prototype.flushHeaders=function(){},ClientRequest.prototype.setTimeout=function(){},ClientRequest.prototype.setNoDelay=function(){},ClientRequest.prototype.setSocketKeepAlive=function(){};var unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]; - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) - -},{"./capability":88,"./response":90,"_process":71,"buffer":25,"inherits":35,"stream":86,"to-arraybuffer":92}],90:[function(require,module,exports){ -(function (process,global,Buffer){ -var capability=require("./capability"),inherits=require("inherits"),stream=require("stream"),rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},IncomingMessage=exports.IncomingMessage=function(e,r,s){function a(){u.read().then(function(e){if(!t._destroyed){if(e.done)return void t.push(null);t.push(new Buffer(e.value)),a()}})}var t=this;if(stream.Readable.call(t),t._mode=s,t.headers={},t.rawHeaders=[],t.trailers={},t.rawTrailers=[],t.on("end",function(){process.nextTick(function(){t.emit("close")})}),"fetch"===s){t._fetchResponse=r,t.statusCode=r.status,t.statusMessage=r.statusText;for(var n,o,i=r.headers[Symbol.iterator]();n=(o=i.next()).value,!o.done;)t.headers[n[0].toLowerCase()]=n[1],t.rawHeaders.push(n[0],n[1]);var u=r.body.getReader();a()}else{t._xhr=e,t._pos=0,t.statusCode=e.status,t.statusMessage=e.statusText;var h=e.getAllResponseHeaders().split(/\r?\n/);if(h.forEach(function(e){var r=e.match(/^([^:]+):\s*(.*)/);if(r){var s=r[1].toLowerCase();"set-cookie"===s?(void 0===t.headers[s]&&(t.headers[s]=[]),t.headers[s].push(r[2])):void 0!==t.headers[s]?t.headers[s]+=", "+r[2]:t.headers[s]=r[2],t.rawHeaders.push(r[1],r[2])}}),t._charset="x-user-defined",!capability.overrideMimeType){var d=t.rawHeaders["mime-type"];if(d){var f=d.match(/;\s*charset=([^;])(;|$)/);f&&(t._charset=f[1].toLowerCase())}t._charset||(t._charset="utf-8")}}};inherits(IncomingMessage,stream.Readable),IncomingMessage.prototype._read=function(){},IncomingMessage.prototype._onXHRProgress=function(){var e=this,r=e._xhr,s=null;switch(e._mode){case"text:vbarray":if(r.readyState!==rStates.DONE)break;try{s=new global.VBArray(r.responseBody).toArray()}catch(a){}if(null!==s){e.push(new Buffer(s));break}case"text":try{s=r.responseText}catch(a){e._mode="text:vbarray";break}if(s.length>e._pos){var t=s.substr(e._pos);if("x-user-defined"===e._charset){for(var n=new Buffer(t.length),o=0;o<t.length;o++)n[o]=255&t.charCodeAt(o);e.push(n)}else e.push(t,e._charset);e._pos=s.length}break;case"arraybuffer":if(r.readyState!==rStates.DONE)break;s=r.response,e.push(new Buffer(new Uint8Array(s)));break;case"moz-chunked-arraybuffer":if(s=r.response,r.readyState!==rStates.LOADING||!s)break;e.push(new Buffer(new Uint8Array(s)));break;case"ms-stream":if(s=r.response,r.readyState!==rStates.LOADING)break;var i=new global.MSStreamReader;i.onprogress=function(){i.result.byteLength>e._pos&&(e.push(new Buffer(new Uint8Array(i.result.slice(e._pos)))),e._pos=i.result.byteLength)},i.onload=function(){e.push(null)},i.readAsArrayBuffer(s)}e._xhr.readyState===rStates.DONE&&"ms-stream"!==e._mode&&e.push(null)}; - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer) - -},{"./capability":88,"_process":71,"buffer":25,"inherits":35,"stream":86}],91:[function(require,module,exports){ -function assertEncoding(e){if(e&&!isBufferEncoding(e))throw new Error("Unknown encoding: "+e)}function passThroughWrite(e){return e.toString(this.encoding)}function utf16DetectIncompleteChar(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}var Buffer=require("buffer").Buffer,isBufferEncoding=Buffer.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},StringDecoder=exports.StringDecoder=function(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),assertEncoding(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=base64DetectIncompleteChar;break;default:return void(this.write=passThroughWrite)}this.charBuffer=new Buffer(6),this.charReceived=0,this.charLength=0};StringDecoder.prototype.write=function(e){for(var t="";this.charLength;){var r=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,r),this.charReceived+=r,this.charReceived<this.charLength)return"";e=e.slice(r,e.length),t=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var h=t.charCodeAt(t.length-1);if(!(h>=55296&&56319>=h)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived),t+=e.toString(this.encoding,0,i);var i=t.length-1,h=t.charCodeAt(i);if(h>=55296&&56319>=h){var c=this.surrogateSize;return this.charLength+=c,this.charReceived+=c,this.charBuffer.copy(this.charBuffer,c,0,c),e.copy(this.charBuffer,0,0,c),t.substring(0,i)}return t},StringDecoder.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var r=e[e.length-t];if(1==t&&r>>5==6){this.charLength=2;break}if(2>=t&&r>>4==14){this.charLength=3;break}if(3>=t&&r>>3==30){this.charLength=4;break}}this.charReceived=t},StringDecoder.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var r=this.charReceived,h=this.charBuffer,i=this.encoding;t+=h.slice(0,r).toString(i)}return t}; - -},{"buffer":25}],92:[function(require,module,exports){ -var Buffer=require("buffer").Buffer;module.exports=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(Buffer.isBuffer(e)){for(var f=new Uint8Array(e.length),r=e.length,t=0;r>t;t++)f[t]=e[t];return f.buffer}throw new Error("Argument must be a Buffer")}; - -},{"buffer":25}],93:[function(require,module,exports){ -"use strict";function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function urlParse(t,s,e){if(t&&util.isObject(t)&&t instanceof Url)return t;var h=new Url;return h.parse(t,s,e),h}function urlFormat(t){return util.isString(t)&&(t=urlParse(t)),t instanceof Url?t.format():Url.prototype.format.call(t)}function urlResolve(t,s){return urlParse(t,!1,!0).resolve(s)}function urlResolveObject(t,s){return t?urlParse(t,!1,!0).resolveObject(s):s}var punycode=require("punycode"),util=require("./util");exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n"," "],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=require("querystring");Url.prototype.parse=function(t,s,e){if(!util.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var h=t.indexOf("?"),r=-1!==h&&h<t.indexOf("#")?"?":"#",a=t.split(r),o=/\\/g;a[0]=a[0].replace(o,"/"),t=a.join(r);var n=t;if(n=n.trim(),!e&&1===t.split("#").length){var i=simplePathPattern.exec(n);if(i)return this.path=n,this.href=n,this.pathname=i[1],i[2]?(this.search=i[2],s?this.query=querystring.parse(this.search.substr(1)):this.query=this.search.substr(1)):s&&(this.search="",this.query={}),this}var l=protocolPattern.exec(n);if(l){l=l[0];var u=l.toLowerCase();this.protocol=u,n=n.substr(l.length)}if(e||l||n.match(/^\/\/[^@\/]+@[^@\/]+/)){var p="//"===n.substr(0,2);!p||l&&hostlessProtocol[l]||(n=n.substr(2),this.slashes=!0)}if(!hostlessProtocol[l]&&(p||l&&!slashedProtocol[l])){for(var c=-1,f=0;f<hostEndingChars.length;f++){var m=n.indexOf(hostEndingChars[f]);-1!==m&&(-1===c||c>m)&&(c=m)}var v,g;g=-1===c?n.lastIndexOf("@"):n.lastIndexOf("@",c),-1!==g&&(v=n.slice(0,g),n=n.slice(g+1),this.auth=decodeURIComponent(v)),c=-1;for(var f=0;f<nonHostChars.length;f++){var m=n.indexOf(nonHostChars[f]);-1!==m&&(-1===c||c>m)&&(c=m)}-1===c&&(c=n.length),this.host=n.slice(0,c),n=n.slice(c),this.parseHost(),this.hostname=this.hostname||"";var y="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!y)for(var P=this.hostname.split(/\./),f=0,d=P.length;d>f;f++){var q=P[f];if(q&&!q.match(hostnamePartPattern)){for(var b="",O=0,j=q.length;j>O;O++)b+=q.charCodeAt(O)>127?"x":q[O];if(!b.match(hostnamePartPattern)){var x=P.slice(0,f),U=P.slice(f+1),C=q.match(hostnamePartStart);C&&(x.push(C[1]),U.unshift(C[2])),U.length&&(n="/"+U.join(".")+n),this.hostname=x.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),y||(this.hostname=punycode.toASCII(this.hostname));var A=this.port?":"+this.port:"",w=this.hostname||"";this.host=w+A,this.href+=this.host,y&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==n[0]&&(n="/"+n))}if(!unsafeProtocol[u])for(var f=0,d=autoEscape.length;d>f;f++){var E=autoEscape[f];if(-1!==n.indexOf(E)){var I=encodeURIComponent(E);I===E&&(I=escape(E)),n=n.split(E).join(I)}}var R=n.indexOf("#");-1!==R&&(this.hash=n.substr(R),n=n.slice(0,R));var S=n.indexOf("?");if(-1!==S?(this.search=n.substr(S),this.query=n.substr(S+1),s&&(this.query=querystring.parse(this.query)),n=n.slice(0,S)):s&&(this.search="",this.query={}),n&&(this.pathname=n),slashedProtocol[u]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var A=this.pathname||"",k=this.search||"";this.path=A+k}return this.href=this.format(),this},Url.prototype.format=function(){var t=this.auth||"";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,":"),t+="@");var s=this.protocol||"",e=this.pathname||"",h=this.hash||"",r=!1,a="";this.host?r=t+this.host:this.hostname&&(r=t+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(r+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(a=querystring.stringify(this.query));var o=this.search||a&&"?"+a||"";return s&&":"!==s.substr(-1)&&(s+=":"),this.slashes||(!s||slashedProtocol[s])&&r!==!1?(r="//"+(r||""),e&&"/"!==e.charAt(0)&&(e="/"+e)):r||(r=""),h&&"#"!==h.charAt(0)&&(h="#"+h),o&&"?"!==o.charAt(0)&&(o="?"+o),e=e.replace(/[?#]/g,function(t){return encodeURIComponent(t)}),o=o.replace("#","%23"),s+r+e+o+h},Url.prototype.resolve=function(t){return this.resolveObject(urlParse(t,!1,!0)).format()},Url.prototype.resolveObject=function(t){if(util.isString(t)){var s=new Url;s.parse(t,!1,!0),t=s}for(var e=new Url,h=Object.keys(this),r=0;r<h.length;r++){var a=h[r];e[a]=this[a]}if(e.hash=t.hash,""===t.href)return e.href=e.format(),e;if(t.slashes&&!t.protocol){for(var o=Object.keys(t),n=0;n<o.length;n++){var i=o[n];"protocol"!==i&&(e[i]=t[i])}return slashedProtocol[e.protocol]&&e.hostname&&!e.pathname&&(e.path=e.pathname="/"),e.href=e.format(),e}if(t.protocol&&t.protocol!==e.protocol){if(!slashedProtocol[t.protocol]){for(var l=Object.keys(t),u=0;u<l.length;u++){var p=l[u];e[p]=t[p]}return e.href=e.format(),e}if(e.protocol=t.protocol,t.host||hostlessProtocol[t.protocol])e.pathname=t.pathname;else{for(var c=(t.pathname||"").split("/");c.length&&!(t.host=c.shift()););t.host||(t.host=""),t.hostname||(t.hostname=""),""!==c[0]&&c.unshift(""),c.length<2&&c.unshift(""),e.pathname=c.join("/")}if(e.search=t.search,e.query=t.query,e.host=t.host||"",e.auth=t.auth,e.hostname=t.hostname||t.host,e.port=t.port,e.pathname||e.search){var f=e.pathname||"",m=e.search||"";e.path=f+m}return e.slashes=e.slashes||t.slashes,e.href=e.format(),e}var v=e.pathname&&"/"===e.pathname.charAt(0),g=t.host||t.pathname&&"/"===t.pathname.charAt(0),y=g||v||e.host&&t.pathname,P=y,d=e.pathname&&e.pathname.split("/")||[],c=t.pathname&&t.pathname.split("/")||[],q=e.protocol&&!slashedProtocol[e.protocol];if(q&&(e.hostname="",e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host="",t.protocol&&(t.hostname=null,t.port=null,t.host&&(""===c[0]?c[0]=t.host:c.unshift(t.host)),t.host=null),y=y&&(""===c[0]||""===d[0])),g)e.host=t.host||""===t.host?t.host:e.host,e.hostname=t.hostname||""===t.hostname?t.hostname:e.hostname,e.search=t.search,e.query=t.query,d=c;else if(c.length)d||(d=[]),d.pop(),d=d.concat(c),e.search=t.search,e.query=t.query;else if(!util.isNullOrUndefined(t.search)){if(q){e.hostname=e.host=d.shift();var b=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;b&&(e.auth=b.shift(),e.host=e.hostname=b.shift())}return e.search=t.search,e.query=t.query,util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.href=e.format(),e}if(!d.length)return e.pathname=null,e.search?e.path="/"+e.search:e.path=null,e.href=e.format(),e;for(var O=d.slice(-1)[0],j=(e.host||t.host||d.length>1)&&("."===O||".."===O)||""===O,x=0,U=d.length;U>=0;U--)O=d[U],"."===O?d.splice(U,1):".."===O?(d.splice(U,1),x++):x&&(d.splice(U,1),x--);if(!y&&!P)for(;x--;x)d.unshift("..");!y||""===d[0]||d[0]&&"/"===d[0].charAt(0)||d.unshift(""),j&&"/"!==d.join("/").substr(-1)&&d.push("");var C=""===d[0]||d[0]&&"/"===d[0].charAt(0);if(q){e.hostname=e.host=C?"":d.length?d.shift():"";var b=e.host&&e.host.indexOf("@")>0?e.host.split("@"):!1;b&&(e.auth=b.shift(),e.host=e.hostname=b.shift())}return y=y||e.host&&d.length,y&&!C&&d.unshift(""),d.length?e.pathname=d.join("/"):(e.pathname=null,e.path=null),util.isNull(e.pathname)&&util.isNull(e.search)||(e.path=(e.pathname?e.pathname:"")+(e.search?e.search:"")),e.auth=t.auth||e.auth,e.slashes=e.slashes||t.slashes,e.href=e.format(),e},Url.prototype.parseHost=function(){var t=this.host,s=portPattern.exec(t);s&&(s=s[0],":"!==s&&(this.port=s.substr(1)),t=t.substr(0,t.length-s.length)),t&&(this.hostname=t)}; - -},{"./util":94,"punycode":72,"querystring":75}],94:[function(require,module,exports){ -"use strict";module.exports={isString:function(n){return"string"==typeof n},isObject:function(n){return"object"==typeof n&&null!==n},isNull:function(n){return null===n},isNullOrUndefined:function(n){return null==n}}; - -},{}],95:[function(require,module,exports){ -(function (global){ -function deprecate(r,e){function o(){if(!t){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),t=!0}return r.apply(this,arguments)}if(config("noDeprecation"))return r;var t=!1;return o}function config(r){try{if(!global.localStorage)return!1}catch(e){return!1}var o=global.localStorage[r];return null==o?!1:"true"===String(o).toLowerCase()}module.exports=deprecate; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{}],96:[function(require,module,exports){ -module.exports=function(o){return o&&"object"==typeof o&&"function"==typeof o.copy&&"function"==typeof o.fill&&"function"==typeof o.readUInt8}; - -},{}],97:[function(require,module,exports){ -(function (process,global){ -function inspect(e,r){var t={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(t.depth=arguments[2]),arguments.length>=4&&(t.colors=arguments[3]),isBoolean(r)?t.showHidden=r:r&&exports._extend(t,r),isUndefined(t.showHidden)&&(t.showHidden=!1),isUndefined(t.depth)&&(t.depth=2),isUndefined(t.colors)&&(t.colors=!1),isUndefined(t.customInspect)&&(t.customInspect=!0),t.colors&&(t.stylize=stylizeWithColor),formatValue(t,e,t.depth)}function stylizeWithColor(e,r){var t=inspect.styles[r];return t?"["+inspect.colors[t][0]+"m"+e+"["+inspect.colors[t][1]+"m":e}function stylizeNoColor(e,r){return e}function arrayToHash(e){var r={};return e.forEach(function(e,t){r[e]=!0}),r}function formatValue(e,r,t){if(e.customInspect&&r&&isFunction(r.inspect)&&r.inspect!==exports.inspect&&(!r.constructor||r.constructor.prototype!==r)){var n=r.inspect(t,e);return isString(n)||(n=formatValue(e,n,t)),n}var i=formatPrimitive(e,r);if(i)return i;var o=Object.keys(r),s=arrayToHash(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(r)),isError(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return formatError(r);if(0===o.length){if(isFunction(r)){var u=r.name?": "+r.name:"";return e.stylize("[Function"+u+"]","special")}if(isRegExp(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(isDate(r))return e.stylize(Date.prototype.toString.call(r),"date");if(isError(r))return formatError(r)}var c="",a=!1,l=["{","}"];if(isArray(r)&&(a=!0,l=["[","]"]),isFunction(r)){var p=r.name?": "+r.name:"";c=" [Function"+p+"]"}if(isRegExp(r)&&(c=" "+RegExp.prototype.toString.call(r)),isDate(r)&&(c=" "+Date.prototype.toUTCString.call(r)),isError(r)&&(c=" "+formatError(r)),0===o.length&&(!a||0==r.length))return l[0]+c+l[1];if(0>t)return isRegExp(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special");e.seen.push(r);var f;return f=a?formatArray(e,r,t,s,o):o.map(function(n){return formatProperty(e,r,t,s,n,a)}),e.seen.pop(),reduceToSingleString(f,c,l)}function formatPrimitive(e,r){if(isUndefined(r))return e.stylize("undefined","undefined");if(isString(r)){var t="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return isNumber(r)?e.stylize(""+r,"number"):isBoolean(r)?e.stylize(""+r,"boolean"):isNull(r)?e.stylize("null","null"):void 0}function formatError(e){return"["+Error.prototype.toString.call(e)+"]"}function formatArray(e,r,t,n,i){for(var o=[],s=0,u=r.length;u>s;++s)hasOwnProperty(r,String(s))?o.push(formatProperty(e,r,t,n,String(s),!0)):o.push("");return i.forEach(function(i){i.match(/^\d+$/)||o.push(formatProperty(e,r,t,n,i,!0))}),o}function formatProperty(e,r,t,n,i,o){var s,u,c;if(c=Object.getOwnPropertyDescriptor(r,i)||{value:r[i]},c.get?u=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(u=e.stylize("[Setter]","special")),hasOwnProperty(n,i)||(s="["+i+"]"),u||(e.seen.indexOf(c.value)<0?(u=isNull(t)?formatValue(e,c.value,null):formatValue(e,c.value,t-1),u.indexOf("\n")>-1&&(u=o?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special")),isUndefined(s)){if(o&&i.match(/^\d+$/))return u;s=JSON.stringify(""+i),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function reduceToSingleString(e,r,t){var n=0,i=e.reduce(function(e,r){return n++,r.indexOf("\n")>=0&&n++,e+r.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?t[0]+(""===r?"":r+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+r+" "+e.join(", ")+" "+t[1]}function isArray(e){return Array.isArray(e)}function isBoolean(e){return"boolean"==typeof e}function isNull(e){return null===e}function isNullOrUndefined(e){return null==e}function isNumber(e){return"number"==typeof e}function isString(e){return"string"==typeof e}function isSymbol(e){return"symbol"==typeof e}function isUndefined(e){return void 0===e}function isRegExp(e){return isObject(e)&&"[object RegExp]"===objectToString(e)}function isObject(e){return"object"==typeof e&&null!==e}function isDate(e){return isObject(e)&&"[object Date]"===objectToString(e)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(e){return"function"==typeof e}function isPrimitive(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||"undefined"==typeof e}function objectToString(e){return Object.prototype.toString.call(e)}function pad(e){return 10>e?"0"+e.toString(10):e.toString(10)}function timestamp(){var e=new Date,r=[pad(e.getHours()),pad(e.getMinutes()),pad(e.getSeconds())].join(":");return[e.getDate(),months[e.getMonth()],r].join(" ")}function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}var formatRegExp=/%[sdj%]/g;exports.format=function(e){if(!isString(e)){for(var r=[],t=0;t<arguments.length;t++)r.push(inspect(arguments[t]));return r.join(" ")}for(var t=1,n=arguments,i=n.length,o=String(e).replace(formatRegExp,function(e){if("%%"===e)return"%";if(t>=i)return e;switch(e){case"%s":return String(n[t++]);case"%d":return Number(n[t++]);case"%j":try{return JSON.stringify(n[t++])}catch(r){return"[Circular]"}default:return e}}),s=n[t];i>t;s=n[++t])o+=isNull(s)||!isObject(s)?" "+s:" "+inspect(s);return o},exports.deprecate=function(e,r){function t(){if(!n){if(process.throwDeprecation)throw new Error(r);process.traceDeprecation?console.trace(r):console.error(r),n=!0}return e.apply(this,arguments)}if(isUndefined(global.process))return function(){return exports.deprecate(e,r).apply(this,arguments)};if(process.noDeprecation===!0)return e;var n=!1;return t};var debugs={},debugEnviron;exports.debuglog=function(e){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!debugs[e])if(new RegExp("\\b"+e+"\\b","i").test(debugEnviron)){var r=process.pid;debugs[e]=function(){var t=exports.format.apply(exports,arguments);console.error("%s %d: %s",e,r,t)}}else debugs[e]=function(){};return debugs[e]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=require("./support/isBuffer");var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=require("inherits"),exports._extend=function(e,r){if(!r||!isObject(r))return e;for(var t=Object.keys(r),n=t.length;n--;)e[t[n]]=r[t[n]];return e}; - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"./support/isBuffer":96,"_process":71,"inherits":35}],98:[function(require,module,exports){ -function extend(){for(var r={},e=0;e<arguments.length;e++){var t=arguments[e];for(var n in t)hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty; - -},{}]},{},[3])(3) -}); -</script> - - <script> -// https://github.com/isaacs/json-stringify-safe v5.0.1 -function stringify(obj, replacer, spaces, cycleReplacer) { - return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces) -} - -function serializer(replacer, cycleReplacer) { - var stack = [], keys = [] - - if (cycleReplacer == null) cycleReplacer = function(key, value) { - if (stack[0] === value) return "[Circular ~]" - return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]" - } - - return function(key, value) { - if (stack.length > 0) { - var thisPos = stack.indexOf(this) - ~thisPos ? stack.splice(thisPos + 1) : stack.push(this) - ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key) - if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value) - } - else stack.push(value) - - return replacer == null ? value : replacer.call(this, key, value) - } -} -</script> - - <script> -/* Web Font Loader v1.6.24 - (c) Adobe Systems, Google. License: Apache 2.0 */ -(function(){function aa(a,b,d){return a.call.apply(a.bind,arguments)}function ba(a,b,d){if(!a)throw Error();if(2<arguments.length){var c=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(d,c);return a.apply(b,d)}}return function(){return a.apply(b,arguments)}}function p(a,b,d){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?aa:ba;return p.apply(null,arguments)}var q=Date.now||function(){return+new Date};function ca(a,b){this.a=a;this.m=b||a;this.c=this.m.document}var da=!!window.FontFace;function t(a,b,d,c){b=a.c.createElement(b);if(d)for(var e in d)d.hasOwnProperty(e)&&("style"==e?b.style.cssText=d[e]:b.setAttribute(e,d[e]));c&&b.appendChild(a.c.createTextNode(c));return b}function u(a,b,d){a=a.c.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(d,a.lastChild)}function v(a){a.parentNode&&a.parentNode.removeChild(a)} -function w(a,b,d){b=b||[];d=d||[];for(var c=a.className.split(/\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<c.length;g+=1)if(b[e]===c[g]){f=!0;break}f||c.push(b[e])}b=[];for(e=0;e<c.length;e+=1){f=!1;for(g=0;g<d.length;g+=1)if(c[e]===d[g]){f=!0;break}f||b.push(c[e])}a.className=b.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function y(a,b){for(var d=a.className.split(/\s+/),c=0,e=d.length;c<e;c++)if(d[c]==b)return!0;return!1} -function z(a){if("string"===typeof a.f)return a.f;var b=a.m.location.protocol;"about:"==b&&(b=a.a.location.protocol);return"https:"==b?"https:":"http:"}function ea(a){return a.m.location.hostname||a.a.location.hostname} -function A(a,b,d){function c(){k&&e&&f&&(k(g),k=null)}b=t(a,"link",{rel:"stylesheet",href:b,media:"all"});var e=!1,f=!0,g=null,k=d||null;da?(b.onload=function(){e=!0;c()},b.onerror=function(){e=!0;g=Error("Stylesheet failed to load");c()}):setTimeout(function(){e=!0;c()},0);u(a,"head",b)} -function B(a,b,d,c){var e=a.c.getElementsByTagName("head")[0];if(e){var f=t(a,"script",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(g=!0,d&&d(null),f.onload=f.onreadystatechange=null,"HEAD"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,d&&d(Error("Script load timeout")))},c||5E3);return f}return null};function C(){this.a=0;this.c=null}function D(a){a.a++;return function(){a.a--;E(a)}}function F(a,b){a.c=b;E(a)}function E(a){0==a.a&&a.c&&(a.c(),a.c=null)};function G(a){this.a=a||"-"}G.prototype.c=function(a){for(var b=[],d=0;d<arguments.length;d++)b.push(arguments[d].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.a)};function H(a,b){this.c=a;this.f=4;this.a="n";var d=(b||"n4").match(/^([nio])([1-9])$/i);d&&(this.a=d[1],this.f=parseInt(d[2],10))}function fa(a){return I(a)+" "+(a.f+"00")+" 300px "+J(a.c)}function J(a){var b=[];a=a.split(/,\s*/);for(var d=0;d<a.length;d++){var c=a[d].replace(/['"]/g,"");-1!=c.indexOf(" ")||/^\d/.test(c)?b.push("'"+c+"'"):b.push(c)}return b.join(",")}function K(a){return a.a+a.f}function I(a){var b="normal";"o"===a.a?b="oblique":"i"===a.a&&(b="italic");return b} -function ga(a){var b=4,d="n",c=null;a&&((c=a.match(/(normal|oblique|italic)/i))&&c[1]&&(d=c[1].substr(0,1).toLowerCase()),(c=a.match(/([1-9]00|normal|bold)/i))&&c[1]&&(/bold/i.test(c[1])?b=7:/[1-9]00/.test(c[1])&&(b=parseInt(c[1].substr(0,1),10))));return d+b};function ha(a,b){this.c=a;this.f=a.m.document.documentElement;this.h=b;this.a=new G("-");this.j=!1!==b.events;this.g=!1!==b.classes}function ia(a){a.g&&w(a.f,[a.a.c("wf","loading")]);L(a,"loading")}function M(a){if(a.g){var b=y(a.f,a.a.c("wf","active")),d=[],c=[a.a.c("wf","loading")];b||d.push(a.a.c("wf","inactive"));w(a.f,d,c)}L(a,"inactive")}function L(a,b,d){if(a.j&&a.h[b])if(d)a.h[b](d.c,K(d));else a.h[b]()};function ja(){this.c={}}function ka(a,b,d){var c=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.c[e];f&&c.push(f(b[e],d))}return c};function N(a,b){this.c=a;this.f=b;this.a=t(this.c,"span",{"aria-hidden":"true"},this.f)}function O(a){u(a.c,"body",a.a)}function P(a){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+J(a.c)+";"+("font-style:"+I(a)+";font-weight:"+(a.f+"00")+";")};function Q(a,b,d,c,e,f){this.g=a;this.j=b;this.a=c;this.c=d;this.f=e||3E3;this.h=f||void 0}Q.prototype.start=function(){var a=this.c.m.document,b=this,d=q(),c=new Promise(function(c,e){function k(){q()-d>=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?c():setTimeout(k,25)},function(){e()})}k()}),e=new Promise(function(a,c){setTimeout(c,b.f)});Promise.race([e,c]).then(function(){b.g(b.a)},function(){b.j(b.a)})};function R(a,b,d,c,e,f,g){this.v=a;this.B=b;this.c=d;this.a=c;this.s=g||"BESbswy";this.f={};this.w=e||3E3;this.u=f||null;this.o=this.j=this.h=this.g=null;this.g=new N(this.c,this.s);this.h=new N(this.c,this.s);this.j=new N(this.c,this.s);this.o=new N(this.c,this.s);a=new H(this.a.c+",serif",K(this.a));a=P(a);this.g.a.style.cssText=a;a=new H(this.a.c+",sans-serif",K(this.a));a=P(a);this.h.a.style.cssText=a;a=new H("serif",K(this.a));a=P(a);this.j.a.style.cssText=a;a=new H("sans-serif",K(this.a));a= -P(a);this.o.a.style.cssText=a;O(this.g);O(this.h);O(this.j);O(this.o)}var S={D:"serif",C:"sans-serif"},T=null;function U(){if(null===T){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);T=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return T}R.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f["sans-serif"]=this.o.a.offsetWidth;this.A=q();la(this)}; -function ma(a,b,d){for(var c in S)if(S.hasOwnProperty(c)&&b===a.f[S[c]]&&d===a.f[S[c]])return!0;return!1}function la(a){var b=a.g.a.offsetWidth,d=a.h.a.offsetWidth,c;(c=b===a.f.serif&&d===a.f["sans-serif"])||(c=U()&&ma(a,b,d));c?q()-a.A>=a.w?U()&&ma(a,b,d)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):na(a):V(a,a.v)}function na(a){setTimeout(p(function(){la(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.o.a);b(this.a)},a),0)};function W(a,b,d){this.c=a;this.a=b;this.f=0;this.o=this.j=!1;this.s=d}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c("wf",a.c,K(a).toString(),"active")],[b.a.c("wf",a.c,K(a).toString(),"loading"),b.a.c("wf",a.c,K(a).toString(),"inactive")]);L(b,"fontactive",a);this.o=!0;oa(this)}; -W.prototype.h=function(a){var b=this.a;if(b.g){var d=y(b.f,b.a.c("wf",a.c,K(a).toString(),"active")),c=[],e=[b.a.c("wf",a.c,K(a).toString(),"loading")];d||c.push(b.a.c("wf",a.c,K(a).toString(),"inactive"));w(b.f,c,e)}L(b,"fontinactive",a);oa(this)};function oa(a){0==--a.f&&a.j&&(a.o?(a=a.a,a.g&&w(a.f,[a.a.c("wf","active")],[a.a.c("wf","loading"),a.a.c("wf","inactive")]),L(a,"active")):M(a.a))};function pa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}pa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;qa(this,new ha(this.c,a),a)}; -function ra(a,b,d,c,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,k=c||null||{};if(0===d.length&&f)M(b.a);else{b.f+=d.length;f&&(b.j=f);var h,m=[];for(h=0;h<d.length;h++){var l=d[h],n=k[l.c],r=b.a,x=l;r.g&&w(r.f,[r.a.c("wf",x.c,K(x).toString(),"loading")]);L(r,"fontloading",x);r=null;null===X&&(X=window.FontFace?(x=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent))?42<parseInt(x[1],10):!0:!1);X?r=new Q(p(b.g,b),p(b.h,b),b.c,l,b.s,n):r=new R(p(b.g,b),p(b.h,b),b.c,l,b.s,a, -n);m.push(r)}for(h=0;h<m.length;h++)m[h].start()}},0)}function qa(a,b,d){var c=[],e=d.timeout;ia(b);var c=ka(a.a,d,a.c),f=new W(a.c,b,e);a.h=c.length;b=0;for(d=c.length;b<d;b++)c[b].load(function(b,c,d){ra(a,f,b,c,d)})};function sa(a,b){this.c=a;this.a=b}function ta(a,b,d){var c=z(a.c);a=(a.a.api||"fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return c+"//"+a+"/"+b+".js"+(d?"?v="+d:"")} -sa.prototype.load=function(a){function b(){if(e["__mti_fntLst"+d]){var c=e["__mti_fntLst"+d](),g=[],k;if(c)for(var h=0;h<c.length;h++){var m=c[h].fontfamily;void 0!=c[h].fontStyle&&void 0!=c[h].fontWeight?(k=c[h].fontStyle+c[h].fontWeight,g.push(new H(m,k))):g.push(new H(m))}a(g)}else setTimeout(function(){b()},50)}var d=this.a.projectId,c=this.a.version;if(d){var e=this.c.m;B(this.c,ta(this,d,c),function(c){c?a([]):b()}).id="__MonotypeAPIScript__"+d}else a([])};function ua(a,b){this.c=a;this.a=b}ua.prototype.load=function(a){var b,d,c=this.a.urls||[],e=this.a.families||[],f=this.a.testStrings||{},g=new C;b=0;for(d=c.length;b<d;b++)A(this.c,c[b],D(g));var k=[];b=0;for(d=e.length;b<d;b++)if(c=e[b].split(":"),c[1])for(var h=c[1].split(","),m=0;m<h.length;m+=1)k.push(new H(c[0],h[m]));else k.push(new H(c[0]));F(g,function(){a(k,f)})};function va(a,b,d){a?this.c=a:this.c=b+wa;this.a=[];this.f=[];this.g=d||""}var wa="//fonts.googleapis.com/css";function xa(a,b){for(var d=b.length,c=0;c<d;c++){var e=b[c].split(":");3==e.length&&a.f.push(e.pop());var f="";2==e.length&&""!=e[1]&&(f=":");a.a.push(e.join(f))}} -function ya(a){if(0==a.a.length)throw Error("No fonts to load!");if(-1!=a.c.indexOf("kit="))return a.c;for(var b=a.a.length,d=[],c=0;c<b;c++)d.push(a.a[c].replace(/ /g,"+"));b=a.c+"?family="+d.join("%7C");0<a.f.length&&(b+="&subset="+a.f.join(","));0<a.g.length&&(b+="&text="+encodeURIComponent(a.g));return b};function za(a){this.f=a;this.a=[];this.c={}} -var Aa={latin:"BESbswy",cyrillic:"\u0439\u044f\u0416",greek:"\u03b1\u03b2\u03a3",khmer:"\u1780\u1781\u1782",Hanuman:"\u1780\u1781\u1782"},Ba={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},Ca={i:"i",italic:"i",n:"n",normal:"n"},Da=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/; -function Ea(a){for(var b=a.f.length,d=0;d<b;d++){var c=a.f[d].split(":"),e=c[0].replace(/\+/g," "),f=["n4"];if(2<=c.length){var g;var k=c[1];g=[];if(k)for(var k=k.split(","),h=k.length,m=0;m<h;m++){var l;l=k[m];if(l.match(/^[\w-]+$/)){var n=Da.exec(l.toLowerCase());if(null==n)l="";else{l=n[2];l=null==l||""==l?"n":Ca[l];n=n[1];if(null==n||""==n)n="4";else var r=Ba[n],n=r?r:isNaN(n)?"4":n.substr(0,1);l=[l,n].join("")}}else l="";l&&g.push(l)}0<g.length&&(f=g);3==c.length&&(c=c[2],g=[],c=c?c.split(","): -g,0<c.length&&(c=Aa[c[0]])&&(a.c[e]=c))}a.c[e]||(c=Aa[e])&&(a.c[e]=c);for(c=0;c<f.length;c+=1)a.a.push(new H(e,f[c]))}};function Fa(a,b){this.c=a;this.a=b}var Ga={Arimo:!0,Cousine:!0,Tinos:!0};Fa.prototype.load=function(a){var b=new C,d=this.c,c=new va(this.a.api,z(d),this.a.text),e=this.a.families;xa(c,e);var f=new za(e);Ea(f);A(d,ya(c),D(b));F(b,function(){a(f.a,f.c,Ga)})};function Ha(a,b){this.c=a;this.a=b}Ha.prototype.load=function(a){var b=this.a.id,d=this.c.m;b?B(this.c,(this.a.api||"https://use.typekit.net")+"/"+b+".js",function(b){if(b)a([]);else if(d.Typekit&&d.Typekit.config&&d.Typekit.config.fn){b=d.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],k=b[f+1],h=0;h<k.length;h++)e.push(new H(g,k[h]));try{d.Typekit.load({events:!1,classes:!1,async:!0})}catch(m){}a(e)}},2E3):a([])};function Ia(a,b){this.c=a;this.f=b;this.a=[]}Ia.prototype.load=function(a){var b=this.f.id,d=this.c.m,c=this;b?(d.__webfontfontdeckmodule__||(d.__webfontfontdeckmodule__={}),d.__webfontfontdeckmodule__[b]=function(b,d){for(var g=0,k=d.fonts.length;g<k;++g){var h=d.fonts[g];c.a.push(new H(h.name,ga("font-weight:"+h.weight+";font-style:"+h.style)))}a(c.a)},B(this.c,z(this.c)+(this.f.api||"//f.fontdeck.com/s/css/js/")+ea(this.c)+"/"+b+".js",function(b){b&&a([])})):a([])};var Y=new pa(window);Y.a.c.custom=function(a,b){return new ua(b,a)};Y.a.c.fontdeck=function(a,b){return new Ia(b,a)};Y.a.c.monotype=function(a,b){return new sa(b,a)};Y.a.c.typekit=function(a,b){return new Ha(b,a)};Y.a.c.google=function(a,b){return new Fa(b,a)};var Z={load:p(Y.load,Y)};"function"===typeof define&&define.amd?define(function(){return Z}):"undefined"!==typeof module&&module.exports?module.exports=Z:(window.WebFont=Z,window.WebFontConfig&&Y.load(window.WebFontConfig));}()); -</script> - - <script> - var schemaWrapper = {}; - schemaWrapper.definitions = Object.assign({}, defs); - defsParser = new $RefParser(); - defsParser.dereference(schemaWrapper).catch(function(err) { - console.log(err); - }); - </script> - <script> - $(document).ready(function () { - $('.nav-tabs-examples').find('a:first').tab('show'); - $(this).scrollspy({ target: '#scrollingNav', offset: 18 }); - }); - </script> -</body> -</html> diff --git a/mso-api-handlers/mso-api-handler-infra/pom.xml b/mso-api-handlers/mso-api-handler-infra/pom.xml index 12b4d34380..dd77c242d4 100644 --- a/mso-api-handlers/mso-api-handler-infra/pom.xml +++ b/mso-api-handlers/mso-api-handler-infra/pom.xml @@ -108,8 +108,7 @@ </dependency> <dependency> <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> + <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> <groupId>javax.interceptor</groupId> diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java index 18bcc82a32..5603ee8380 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/ServiceInstancesTest.java @@ -1657,7 +1657,7 @@ public class ServiceInstancesTest extends BaseTest{ stubFor(get(urlMatching(".*/networkResourceCustomization/3bdbb104-476c-483e-9f8b-c095b3d308ac/networkResource")) .willReturn(aResponse().withHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON) - .withBody(getWiremockResponseForCatalogdb("networkResource_Response.json")) + .withBody(getWiremockResponseForCatalogdb("networkResource_Response.json")) .withStatus(HttpStatus.SC_OK))); stubFor(get(urlMatching(".*/networkRecipe/search/findFirstByModelNameAndAction[?]" + diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/NetworkInstance.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/NetworkInstance.json index a37fe050eb..6e5eb0f533 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/NetworkInstance.json +++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/NetworkInstance.json @@ -1,7 +1,8 @@ { "requestDetails":{ "modelInfo":{ - "modelType":"network" + "modelType":"network", + "modelCustomizationId": "3bdbb104-476c-483e-9f8b-c095b3d308ac" }, "requestInfo":{ "source":"VID", diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql b/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql index eae0e3a1cb..95db1c2b7a 100644 --- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql +++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/schema.sql @@ -30,6 +30,7 @@ create table `allotted_resource_customization` ( `min_instances` int(11) default null, `max_instances` int(11) default null, `ar_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, `creation_timestamp` datetime not null default current_timestamp, primary key (`model_customization_uuid`), key `fk_allotted_resource_customization__allotted_resource1_idx` (`ar_model_uuid`), @@ -140,11 +141,11 @@ create table `network_resource` ( `model_name` varchar(200) not null, `model_invariant_uuid` varchar(200) default null, `description` varchar(1200) default null, - `heat_template_artifact_uuid` varchar(200) not null, + `heat_template_artifact_uuid` varchar(200) null, `neutron_network_type` varchar(20) default null, `model_version` varchar(20) default null, `tosca_node_type` varchar(200) default null, - `aic_version_min` varchar(20) not null, + `aic_version_min` varchar(20) null, `aic_version_max` varchar(20) default null, `orchestration_mode` varchar(20) default 'heat', `resource_category` varchar(20) default null, @@ -153,8 +154,7 @@ create table `network_resource` ( primary key (`model_uuid`), key `fk_network_resource__temp_network_heat_template_lookup1_idx` (`model_name`), key `fk_network_resource__heat_template1_idx` (`heat_template_artifact_uuid`), - constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade, - constraint `fk_network_resource__temp_network_heat_template_lookup__mod_nm1` foreign key (`model_name`) references `temp_network_heat_template_lookup` (`network_resource_model_name`) on delete no action on update no action + constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade ) engine=innodb default charset=latin1; @@ -170,6 +170,7 @@ create table `network_resource_customization` ( `network_scope` varchar(45) default null, `creation_timestamp` datetime not null default current_timestamp, `network_resource_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_network_resource_customization__network_resource1_idx` (`network_resource_model_uuid`), constraint `fk_network_resource_customization__network_resource1` foreign key (`network_resource_model_uuid`) references `network_resource` (`model_uuid`) on delete cascade on update cascade @@ -206,6 +207,7 @@ create table `service` ( `environment_context` varchar(200) default null, `workload_context` varchar(200) default null, `service_category` varchar(200) default null, + `resource_order` varchar(200) default null, primary key (`model_uuid`), key `fk_service__tosca_csar1_idx` (`tosca_csar_artifact_uuid`), constraint `fk_service__tosca_csar1` foreign key (`tosca_csar_artifact_uuid`) references `tosca_csar` (`artifact_uuid`) on delete cascade on update cascade @@ -395,6 +397,7 @@ create table `vnf_resource_customization` ( `creation_timestamp` datetime not null default current_timestamp, `vnf_resource_model_uuid` varchar(200) not null, `multi_stage_design` varchar(20) default null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_vnf_resource_customization__vnf_resource1_idx` (`vnf_resource_model_uuid`), constraint `fk_vnf_resource_customization__vnf_resource1` foreign key (`vnf_resource_model_uuid`) references `vnf_resource` (`model_uuid`) on delete cascade on update cascade diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/AllottedResourceCustomization.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/AllottedResourceCustomization.java index 00ddf35a5f..04b93c3886 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/AllottedResourceCustomization.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/AllottedResourceCustomization.java @@ -93,6 +93,9 @@ public class AllottedResourceCustomization implements Serializable { @Column(name = "MAX_INSTANCES") private Integer maxInstances; + @Column(name = "RESOURCE_INPUT") + private String resourceInput; + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "AR_MODEL_UUID") private AllottedResource allottedResource; @@ -241,4 +244,12 @@ public class AllottedResourceCustomization implements Serializable { public void setMaxInstances(Integer maxInstances) { this.maxInstances = maxInstances; } + + public String getResourceInput() { + return resourceInput; + } + + public void setResourceInput(String resourceInput) { + this.resourceInput = resourceInput; + } } diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudIdentity.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudIdentity.java index 820b47a2db..bb01f6f804 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudIdentity.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/CloudIdentity.java @@ -23,6 +23,7 @@ package org.onap.so.db.catalog.beans; import com.fasterxml.jackson.annotation.JsonProperty; import com.openpojo.business.annotation.BusinessKey; import org.apache.commons.lang3.builder.HashCodeBuilder; + import java.util.Date; import org.apache.commons.lang3.builder.EqualsBuilder; diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HomingInstance.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HomingInstance.java new file mode 100644 index 0000000000..ef474be159 --- /dev/null +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/HomingInstance.java @@ -0,0 +1,152 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018. Intel Corp. All rights reserved. + * ================================================================================ + * 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.so.db.catalog.beans; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.openpojo.business.annotation.BusinessKey; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import uk.co.blackpepper.bowman.annotation.RemoteResource; +import uk.co.blackpepper.bowman.annotation.ResourceId; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.net.URI; + +/** + * EntityBean class for a HomingInstance. This bean represents a homing instance + * of a service, populated on successful homing + * + */ +@RemoteResource("/homingInstance") +@Entity +@Table(name = "homing_instances") +public class HomingInstance { + @JsonProperty + @BusinessKey + @Id + @Column(name = "SERVICE_INSTANCE_ID") + private String serviceInstanceId; + + @JsonProperty("cloud_region_id") + @BusinessKey + @Column(name = "CLOUD_REGION_ID") + private String cloudRegionId; + + @JsonProperty("cloud_owner") + @BusinessKey + @Column(name = "CLOUD_OWNER") + private String cloudOwner; + + + + @JsonProperty("oof_directives") + @BusinessKey + @Column(name = "OOF_DIRECTIVES", columnDefinition = "LONGTEXT") + private String oofDirectives; + + @Transient + private URI uri; + + public HomingInstance () { + + } + + public HomingInstance (HomingInstance homingInstance) { + this.serviceInstanceId = homingInstance.getServiceInstanceId(); + this.cloudRegionId = homingInstance.getCloudRegionId(); + this.cloudOwner = homingInstance.getCloudOwner(); + this.oofDirectives = homingInstance.getOofDirectives(); + } + + + public String getServiceInstanceId() { + return this.serviceInstanceId; + } + + public void setServiceInstanceId(String serviceInstanceId) { + + this.serviceInstanceId = serviceInstanceId; + } + + public String getCloudRegionId() { + + return this.cloudRegionId; + } + + public void setCloudRegionId(String cloudRegionId) { + + this.cloudRegionId = cloudRegionId; + } + + public String getCloudOwner() { + + return this.cloudOwner; + } + + public void setCloudOwner (String cloudOwner) { + + this.cloudOwner = cloudOwner; + } + + public String getOofDirectives() { + return oofDirectives; + } + + public void setOofDirectives(String oofDirectives) { + this.oofDirectives = oofDirectives; + } + + @ResourceId + public URI getUri() { + return this.uri; + } + + public void setUri(URI uri) { + + this.uri = uri; + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("serviceInstanceId", serviceInstanceId) + .append("cloudRegionId", cloudRegionId) + .append("cloudOwner", cloudOwner) + .append("oofDirectives", oofDirectives).toString(); + } + + @Override + public boolean equals(final Object other) { + if (!(other instanceof HomingInstance)) { + return false; + } + HomingInstance castOther = (HomingInstance) other; + return new EqualsBuilder().append(serviceInstanceId, castOther.serviceInstanceId).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder().append(serviceInstanceId).toHashCode(); + } +} diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkResourceCustomization.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkResourceCustomization.java index 7afeac7710..1e3b6fc220 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkResourceCustomization.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/NetworkResourceCustomization.java @@ -99,6 +99,9 @@ public class NetworkResourceCustomization implements Serializable { @Column(name = "NETWORK_ROLE") private String networkRole; + @Column(name = "RESOURCE_INPUT") + private String resourceInput; + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "NETWORK_RESOURCE_MODEL_UUID") private NetworkResource networkResource = null; @@ -168,4 +171,12 @@ public class NetworkResourceCustomization implements Serializable { public String getNetworkRole() { return this.networkRole; } + + public String getResourceInput() { + return resourceInput; + } + + public void setResourceInput(String resourceInput) { + this.resourceInput = resourceInput; + } } diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchestrationStatusValidationDirective.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchestrationStatusValidationDirective.java index 544e1cbf08..f92aadf7a7 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchestrationStatusValidationDirective.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/OrchestrationStatusValidationDirective.java @@ -22,7 +22,7 @@ package org.onap.so.db.catalog.beans; //TODO find this file a new location? public enum OrchestrationStatusValidationDirective { - SILENT_SUCCESS("SilentSuccess"), CONTINUE("Continue"), FAIL("Fail"); + SILENT_SUCCESS("SilentSuccess"), CONTINUE("Continue"), FAIL("Fail"), VALIDATION_SKIPPED("ValidationSkiPped"); private final String name; diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java index 8e1d498e42..64eff56f97 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/ResourceType.java @@ -28,7 +28,7 @@ public enum ResourceType { NETWORK("Network"), NETWORK_COLLECTION("NetworkCollection"), CONFIGURATION("Configuration"), - CUSTOM("Custom"); + NO_VALIDATE("NoValidate"); private final String name; diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Service.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Service.java index 6eb453805b..28ff778d44 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Service.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/Service.java @@ -92,6 +92,9 @@ public class Service implements Serializable { @Column(name = "SERVICE_CATEGORY") private String category; + @Column(name = "RESOURCE_ORDER") + private String resourceOrder; + @OneToMany(cascade = CascadeType.ALL) @JoinTable(name = "network_resource_customization_to_service", joinColumns = @JoinColumn(name = "SERVICE_MODEL_UUID"), inverseJoinColumns = @JoinColumn(name = "RESOURCE_MODEL_CUSTOMIZATION_UUID")) private List<NetworkResourceCustomization> networkCustomizations; @@ -332,4 +335,12 @@ public class Service implements Serializable { public void setWorkloadContext(String workloadContext) { this.workloadContext = workloadContext; } + + public String getResourceOrder() { + return resourceOrder; + } + + public void setResourceOrder(String resourceOrder) { + this.resourceOrder = resourceOrder; + } } diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResource.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResource.java index 764d2b7c39..83fe051233 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResource.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResource.java @@ -43,6 +43,8 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import com.openpojo.business.annotation.BusinessKey; +import org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; import uk.co.blackpepper.bowman.annotation.LinkedResource; @Entity @@ -91,6 +93,7 @@ public class VnfResource implements Serializable { private Date created; @ManyToOne(fetch = FetchType.LAZY) + @NotFound(action = NotFoundAction.IGNORE) @JoinColumn(name = "HEAT_TEMPLATE_ARTIFACT_UUID") private HeatTemplate heatTemplates; diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResourceCustomization.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResourceCustomization.java index d286bc0727..53e8c9613e 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResourceCustomization.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/beans/VnfResourceCustomization.java @@ -97,6 +97,9 @@ public class VnfResourceCustomization implements Serializable { @Column(name = "MULTI_STAGE_DESIGN") private String multiStageDesign; + @Column(name = "RESOURCE_INPUT") + private String resourceInput; + @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = "VNF_RESOURCE_MODEL_UUID") private VnfResource vnfResources; @@ -283,4 +286,12 @@ public class VnfResourceCustomization implements Serializable { public void setCvnfcCustomization(List<CvnfcCustomization> cvnfcCustomization) { this.cvnfcCustomization = cvnfcCustomization; } + + public String getResourceInput() { + return resourceInput; + } + + public void setResourceInput(String resourceInput) { + this.resourceInput = resourceInput; + } } diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java index 3612d83359..828b2ff920 100644 --- a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/client/CatalogDbClient.java @@ -36,6 +36,7 @@ import org.onap.so.db.catalog.beans.CollectionResourceInstanceGroupCustomization import org.onap.so.db.catalog.beans.ControllerSelectionReference; import org.onap.so.db.catalog.beans.CvnfcCustomization; import org.onap.so.db.catalog.beans.ExternalServiceToInternalService; +import org.onap.so.db.catalog.beans.HomingInstance; import org.onap.so.db.catalog.beans.InstanceGroup; import org.onap.so.db.catalog.beans.NetworkCollectionResourceCustomization; import org.onap.so.db.catalog.beans.NetworkRecipe; @@ -126,6 +127,7 @@ public class CatalogDbClient { private static final String WORK_STEP = "workStep"; private static final String CLLI = "clli"; private static final String CLOUD_VERSION = "cloudVersion"; + private static final String HOMING_INSTANCE = "/homingInstance"; private static final String TARGET_ENTITY = "SO:CatalogDB"; private static final String ASTERISK = "*"; @@ -157,6 +159,8 @@ public class CatalogDbClient { private String findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType = "/findOneByActionAndRequestScopeAndIsAlacarteAndCloudOwnerAndServiceType"; private String findOneByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep = "/findOneByFlowNameAndServiceTypeAndVnfTypeAndErrorCodeAndWorkStep"; private String findByClliAndCloudVersion = "/findByClliAndCloudVersion"; + private String findServiceByServiceInstanceId = "/findServiceByServiceInstanceId"; + private String serviceURI; private String vfModuleURI; @@ -169,6 +173,7 @@ public class CatalogDbClient { private String instanceGroupURI; private String cloudifyManagerURI; private String cloudSiteURI; + private String homingInstanceURI; private final Client<Service> serviceClient; @@ -214,6 +219,8 @@ public class CatalogDbClient { private final Client<CloudSite> cloudSiteClient; + private final Client<HomingInstance> homingInstanceClient; + private final Client<CloudifyManager> cloudifyManagerClient; private Client<CvnfcCustomization> cvnfcCustomizationClient; @@ -268,6 +275,7 @@ public class CatalogDbClient { instanceGroupURI = endpoint + INSTANCE_GROUP + URI_SEPARATOR; cloudifyManagerURI = endpoint + CLOUDIFY_MANAGER + URI_SEPARATOR; cloudSiteURI = endpoint + CLOUD_SITE + URI_SEPARATOR; + homingInstanceURI = endpoint + HOMING_INSTANCE + URI_SEPARATOR; } @@ -306,6 +314,7 @@ public class CatalogDbClient { networkCollectionResourceCustomizationClient = clientFactory.create(NetworkCollectionResourceCustomization.class); collectionNetworkResourceCustomizationClient = clientFactory.create(CollectionNetworkResourceCustomization.class); cloudSiteClient = clientFactory.create(CloudSite.class); + homingInstanceClient = clientFactory.create(HomingInstance.class); cloudifyManagerClient = clientFactory.create(CloudifyManager.class); serviceRecipeClient = clientFactory.create(ServiceRecipe.class); cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class); @@ -348,6 +357,7 @@ public class CatalogDbClient { networkCollectionResourceCustomizationClient = clientFactory.create(NetworkCollectionResourceCustomization.class); collectionNetworkResourceCustomizationClient = clientFactory.create(CollectionNetworkResourceCustomization.class); cloudSiteClient = clientFactory.create(CloudSite.class); + homingInstanceClient = clientFactory.create(HomingInstance.class); cloudifyManagerClient = clientFactory.create(CloudifyManager.class); serviceRecipeClient = clientFactory.create(ServiceRecipe.class); cvnfcCustomizationClient = clientFactory.create(CvnfcCustomization.class); @@ -609,20 +619,39 @@ public class CatalogDbClient { } public CloudSite getCloudSite(String id){ - return this.getSingleResource(cloudSiteClient, getUri(cloudSiteURI + id)); + return this.getSingleResource(cloudSiteClient, + getUri(cloudSiteURI + id)); + } + + public CloudSite getCloudSite(String id, String uri){ + return this.getSingleResource(cloudSiteClient, + getUri(uri + id)); } public void postCloudSite(CloudSite cloudSite){ this.postSingleResource(cloudSiteClient, cloudSite); } - public CloudSite getCloudSiteByClliAndAicVersion (String clli, String cloudVersion){ return this.getSingleResource(cloudSiteClient, getUri(UriBuilder .fromUri(findByClliAndCloudVersion) .queryParam(CLLI,clli).queryParam(CLOUD_VERSION,cloudVersion).build().toString())); } + public HomingInstance getHomingInstance (String serviceInstanceId){ + return this.getSingleResource(homingInstanceClient, + getUri(homingInstanceURI + serviceInstanceId)); + } + + public HomingInstance getHomingInstance (String serviceInstanceId, String uri){ + return this.getSingleResource(homingInstanceClient, + getUri(uri + serviceInstanceId)); + } + + public void postHomingInstance(HomingInstance homingInstance){ + this.postSingleResource(homingInstanceClient, homingInstance); + } + public Service getServiceByModelVersionAndModelInvariantUUID(String modelVersion, String modelInvariantUUID) { return this.getSingleResource(serviceClient, getUri(UriBuilder .fromUri(findFirstByModelVersionAndModelInvariantUUIDURI) diff --git a/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/HomingInstanceRepository.java b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/HomingInstanceRepository.java new file mode 100644 index 0000000000..aea8d3e537 --- /dev/null +++ b/mso-catalog-db/src/main/java/org/onap/so/db/catalog/data/repository/HomingInstanceRepository.java @@ -0,0 +1,30 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018. Intel Corp. All rights reserved. + * ================================================================================ + * 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.so.db.catalog.data.repository; + +import org.onap.so.db.catalog.beans.HomingInstance; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.rest.core.annotation.RepositoryRestResource; + +@RepositoryRestResource(collectionResourceRel = "homingInstance", path = "homingInstance") +public interface HomingInstanceRepository extends JpaRepository<HomingInstance, String> { + HomingInstance findServiceByServiceInstanceId(String serviceInstanceId); +} diff --git a/mso-catalog-db/src/test/resources/schema.sql b/mso-catalog-db/src/test/resources/schema.sql index de2dd5e28b..d20a9adb7e 100644 --- a/mso-catalog-db/src/test/resources/schema.sql +++ b/mso-catalog-db/src/test/resources/schema.sql @@ -69,6 +69,7 @@ create table `allotted_resource_customization` ( `min_instances` int(11) default null, `max_instances` int(11) default null, `ar_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, `creation_timestamp` datetime not null default current_timestamp, primary key (`model_customization_uuid`), key `fk_allotted_resource_customization__allotted_resource1_idx` (`ar_model_uuid`), @@ -164,8 +165,8 @@ create table `network_recipe` ( create table `temp_network_heat_template_lookup` ( `network_resource_model_name` varchar(200) not null, - `heat_template_artifact_uuid` varchar(200) not null, - `aic_version_min` varchar(20) not null, + `heat_template_artifact_uuid` varchar(200) null, + `aic_version_min` varchar(20) null, `aic_version_max` varchar(20) default null, primary key (`network_resource_model_name`), key `fk_temp_network_heat_template_lookup__heat_template1_idx` (`heat_template_artifact_uuid`), @@ -179,11 +180,11 @@ create table `network_resource` ( `model_name` varchar(200) not null, `model_invariant_uuid` varchar(200) default null, `description` varchar(1200) default null, - `heat_template_artifact_uuid` varchar(200) not null, + `heat_template_artifact_uuid` varchar(200) null, `neutron_network_type` varchar(20) default null, `model_version` varchar(20) default null, `tosca_node_type` varchar(200) default null, - `aic_version_min` varchar(20) not null, + `aic_version_min` varchar(20) null, `aic_version_max` varchar(20) default null, `orchestration_mode` varchar(20) default 'heat', `resource_category` varchar(20) default null, @@ -192,8 +193,7 @@ create table `network_resource` ( primary key (`model_uuid`), key `fk_network_resource__temp_network_heat_template_lookup1_idx` (`model_name`), key `fk_network_resource__heat_template1_idx` (`heat_template_artifact_uuid`), - constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade, - constraint `fk_network_resource__temp_network_heat_template_lookup__mod_nm1` foreign key (`model_name`) references `temp_network_heat_template_lookup` (`network_resource_model_name`) on delete no action on update no action + constraint `fk_network_resource__heat_template1` foreign key (`heat_template_artifact_uuid`) references `heat_template` (`artifact_uuid`) on delete no action on update cascade ) engine=innodb default charset=latin1; @@ -209,6 +209,7 @@ create table `network_resource_customization` ( `network_scope` varchar(45) default null, `creation_timestamp` datetime not null default current_timestamp, `network_resource_model_uuid` varchar(200) not null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_network_resource_customization__network_resource1_idx` (`network_resource_model_uuid`), constraint `fk_network_resource_customization__network_resource1` foreign key (`network_resource_model_uuid`) references `network_resource` (`model_uuid`) on delete cascade on update cascade @@ -245,6 +246,7 @@ create table `service` ( `environment_context` varchar(200) default null, `workload_context` varchar(200) default null, `service_category` varchar(200) default null, + `resource_order` varchar(200) default null, primary key (`model_uuid`), key `fk_service__tosca_csar1_idx` (`tosca_csar_artifact_uuid`), constraint `fk_service__tosca_csar1` foreign key (`tosca_csar_artifact_uuid`) references `tosca_csar` (`artifact_uuid`) on delete cascade on update cascade @@ -434,6 +436,7 @@ create table `vnf_resource_customization` ( `creation_timestamp` datetime not null default current_timestamp, `vnf_resource_model_uuid` varchar(200) not null, `multi_stage_design` varchar(20) default null, + `resource_input` varchar(20000) default null, primary key (`model_customization_uuid`), key `fk_vnf_resource_customization__vnf_resource1_idx` (`vnf_resource_model_uuid`), constraint `fk_vnf_resource_customization__vnf_resource1` foreign key (`vnf_resource_model_uuid`) references `vnf_resource` (`model_uuid`) on delete cascade on update cascade @@ -737,7 +740,7 @@ create table if not exists `collection_network_resource_customization` ( `network_type` varchar(45) null, `network_role` varchar(200) null, `network_scope` varchar(45) null, -`creation_timestamp` datetime not null default current_timestamp, +`creation_timestamp` datetime not null default current_timestamp, `network_resource_model_uuid` varchar(200) not null, `instance_group_model_uuid` varchar(200) null, `crc_model_customization_uuid` varchar(200) not null, primary key (`model_customization_uuid`, `crc_model_customization_uuid`), |