</methods>
</class>
</classes>
- </test>
<test name="Catalog">
<classes>
<class name="org.openecomp.sdc.ci.tests.execute.category.CatalogDataApiTest" />
break;
case MIGRATION_1702_1707://this migration is currently not needed, but will be commented out for production env
-// log.info("Start ASDC migration from 1702 to 1707");
-// Migration1707 migration1707 = (Migration1707) context.getBean(operationEnum.getBeanName());
-// isSuccessful = migration1707.migrate();
-// if (isSuccessful) {
-// log.info("SDC migration from 1702 to 1707 was finished successfully");
-// System.exit(0);
-// } else{
-// log.info("SDC migration from 1702 to 1707 has failed");
-// System.exit(2);
-// }
+ log.info("Start ASDC migration from 1702 to 1707");
+ Migration1707 migration1707 = (Migration1707) context.getBean(operationEnum.getBeanName());
+ isSuccessful = migration1707.migrate();
+ if (isSuccessful) {
+ log.info("SDC migration from 1702 to 1707 was finished successfully");
+ System.exit(0);
+ } else{
+ log.info("SDC migration from 1702 to 1707 has failed");
+ System.exit(2);
+ }
System.exit(0);
break;
case VFMODULES_PROPERTIES_ADDING://this migration is currently not needed, but will be commented out for production env
-// log.info("Start adding new properties to vfModules");
-// VfModulesPropertiesAdding migrationVfModulesProperties = (VfModulesPropertiesAdding) context.getBean(operationEnum.getBeanName());
-// isSuccessful = migrationVfModulesProperties.migrate(args[1]);
-// if (isSuccessful) {
-// log.info("Adding new properties to vfModules was finished successfully");
-// System.exit(0);
-// } else{
-// log.info("Adding new properties to vfModules has failed");
-// System.exit(2);
-// }
+ log.info("Start adding new properties to vfModules");
+ VfModulesPropertiesAdding migrationVfModulesProperties = (VfModulesPropertiesAdding) context.getBean(operationEnum.getBeanName());
+ isSuccessful = migrationVfModulesProperties.migrate(args[1]);
+ if (isSuccessful) {
+ log.info("Adding new properties to vfModules was finished successfully");
+ System.exit(0);
+ } else{
+ log.info("Adding new properties to vfModules has failed");
+ System.exit(2);
+ }
System.exit(0);
break;
case MIGRATION_1707_UUID_FIX:
ComponentInstance resResourceInfo = resultOp.left().value();
newComponentInstance.setName(resResourceInfo.getName());
+ newComponentInstance.setInvariantName(resResourceInfo.getInvariantName());
newComponentInstance.setPosX(resResourceInfo.getPosX());
newComponentInstance.setPosY(resResourceInfo.getPosY());
newComponentInstance.setDescription(resResourceInfo.getDescription());
if (newInputsMap != null && !newInputsMap.isEmpty()) {
int index = 0;
for (Entry<String, List<InputDefinition>> entry : newInputsMap.entrySet()) {
- List<ComponentInstanceInput> inputsValueToCreate = new ArrayList<>();
+
String compInstId = entry.getKey();
Optional<ComponentInstance> op = ciList.stream().filter(ci -> ci.getUniqueId().equals(compInstId)).findAny();
for (InputDefinition input : inputs) {
- StorageOperationStatus status = addInputsToComponent(componentId, inputsToCreate, allDataTypes.left().value(), resList, index, inputsValueToCreate, compInstId, compInstname, origComponent, input);
+ StorageOperationStatus status = addInputsToComponent(componentId, inputsToCreate, inputsValueToCreateMap, allDataTypes.left().value(), resList, index, compInstId, compInstname, origComponent, input);
if(status != StorageOperationStatus.OK ){
ActionStatus actionStatus = componentsUtils.convertFromStorageResponse(status);
log.debug("Failed to create inputs value under component {}, error: {}", componentId, actionStatus.name());
}
}
- if(!inputsValueToCreate.isEmpty()){
- inputsValueToCreateMap.put(compInstId, inputsValueToCreate);
- }
+
}
}
}
- private StorageOperationStatus addInputsToComponent(String componentId, Map<String, InputDefinition> inputsToCreate, Map<String, DataTypeDefinition> allDataTypes, List<InputDefinition> resList, int index,
- List<ComponentInstanceInput> inputsValueToCreate, String compInstId, String compInstname, org.openecomp.sdc.be.model.Component origComponent, InputDefinition input) {
+ private StorageOperationStatus addInputsToComponent(String componentId, Map<String, InputDefinition> inputsToCreate, Map<String, List<ComponentInstanceInput>> inputsValueToCreateMap, Map<String, DataTypeDefinition> allDataTypes, List<InputDefinition> resList, int index,
+ String compInstId, String compInstname, org.openecomp.sdc.be.model.Component origComponent, InputDefinition input) {
+
Either<List<InputDefinition>, ResponseFormat> result;
String innerType = null;
getInputValues.add(getInputValueDataDefinition);
inputValue.setGetInputValues(getInputValues);
+ List<ComponentInstanceInput> inputsValueToCreate = null;
+
+ if(inputsValueToCreateMap.containsKey(compInstId)){
+ inputsValueToCreate = inputsValueToCreateMap.get(compInstId);
+ }else{
+ inputsValueToCreate = new ArrayList<>();
+ }
+ inputsValueToCreate.add(inputValue);
+ inputsValueToCreateMap.put(compInstId, inputsValueToCreate);
+
+
inputsValueToCreate.add(inputValue);
- input.setInputs(inputsValueToCreate);
+ List<ComponentInstanceInput> inputsValue = input.getInputs();
+ if(inputsValue == null)
+ inputsValue = new ArrayList<>();
+ inputsValue.add(inputValue);
+ input.setInputs(inputsValue);
resList.add(input);
return StorageOperationStatus.OK;
if(inputsValue != null && !inputsValue.isEmpty()){
for(ComponentInstanceInput inputValue: inputsValue){
+ inputValue.setValue(inputValue.getDefaultValue());
+ List<GetInputValueDataDefinition> getInputsValues = inputValue.getGetInputValues();
+ if(getInputsValues != null && !getInputsValues.isEmpty()){
+ Optional<GetInputValueDataDefinition> op = getInputsValues.stream().filter(gi -> gi.getInputId().equals(inputForDelete.getUniqueId())).findAny();
+ if(op.isPresent()){
+ getInputsValues.remove(op.get());
+ }
+ }
+ inputValue.setGetInputValues(getInputsValues);
List<ComponentInstanceInput> inputList = null;
String ciId = inputValue.getComponentInstanceId();
- if(!insInputsMatToDelete.containsKey(ciId)){
- inputList = new ArrayList<>();
- }else{
- inputList = insInputsMatToDelete.get(ciId);
+ status = toscaOperationFacade.updateComponentInstanceInput(component, ciId, inputValue);
+ if(status != StorageOperationStatus.OK){
+ log.debug("Component id: {} delete component instance input id: {} failed", componentId, inputId);
+ deleteEither = Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(status), component.getName()));
+ return deleteEither;
}
- inputList.add(inputValue);
- insInputsMatToDelete.put(ciId, inputList);
- }
- status = toscaOperationFacade.deleteComponentInstanceInputsToComponent(insInputsMatToDelete, component.getUniqueId());
- if(status != StorageOperationStatus.OK){
- log.debug("Component id: {} delete component instance input id: {} failed", componentId, inputId);
- deleteEither = Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(status), component.getName()));
- return deleteEither;
}
+
}
// US848813 delete service input that relates to VL / CP property
}
}
propertyValue.setGetInputValues(getInputsValues);
- if(status != StorageOperationStatus.OK){
- log.debug("Component id: {} delete component instance property {} id: {} failed", componentId, propertyValue.getUniqueId(), inputId);
- deleteEither = Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(status), component.getName()));
- return deleteEither;
- }
+
Either<String, TitanOperationStatus> findDefaultValue = propertyOperation.findDefaultValueFromSecondPosition(propertyValue.getPath(), propertyValue.getUniqueId(), propertyValue.getDefaultValue());
if (findDefaultValue.isRight()) {
deleteEither = Either.right(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(DaoStatusConverter.convertTitanStatusToStorageStatus(findDefaultValue.right().value()))));
List<ComponentInstance> ciList = component.getComponentInstances();
String componentId = component.getUniqueId();
for (Entry<String, List<ComponentInstancePropInput>> entry : newInputsPropsMap.entrySet()) {
- List<ComponentInstanceProperty> propertiesToCreate = new ArrayList<>();
String compInstId = entry.getKey();
+ List<ComponentInstanceProperty> propertiesToCreate = null;
+ if(propertiesToCreateMap.containsKey(compInstId)){
+ propertiesToCreate = propertiesToCreateMap.get(compInstId);
+ }else{
+ propertiesToCreate = new ArrayList<>();
+ }
+
List<ComponentInstancePropInput> properties = entry.getValue();
Optional<ComponentInstance> op = ciList.stream().filter(ci -> ci.getUniqueId().equals(compInstId)).findAny();
}
inputsToCreate.put(input.getName(), input);
- List<ComponentInstanceProperty> propertiesList = new ArrayList<>(); // adding the property with the new value for UI
+ List<ComponentInstanceProperty> propertiesList = input.getProperties();
+ if(propertiesList == null)
+ propertiesList = new ArrayList<>(); // adding the property with the new value for UI
propertiesList.add(prop);
input.setProperties(propertiesList);
public class DistributionCatalogServlet extends BeGenericServlet {
private static Logger log = LoggerFactory.getLogger(DistributionCatalogServlet.class.getName());
+ @Context
+ private HttpServletRequest request;
// *******************************************************
// Download (GET) artifacts
// **********************************************************/
/**
*
- * @param request
* @param requestId
* @param instanceIdHeader
* @param accept
@ApiResponse(code = 404, message = "Specified artifact is not found - SVC4505"),
@ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000")})
- public Response downloadServiceArtifact(@Context final HttpServletRequest request,
+ public Response downloadServiceArtifact(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
/**
*
- * @param request
* @param requestId
* @param instanceIdHeader
* @param accept
@ApiResponse(code = 404, message = "Specified artifact is not found - SVC4505"),
@ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000")})
- public Response downloadResourceArtifact(@Context final HttpServletRequest request,
+ public Response downloadResourceArtifact(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
/**
*
- * @param request
* @param requestId
* @param instanceIdHeader
* @param accept
@ApiResponse(code = 404, message = "Specified artifact is not found - SVC4505"),
@ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000")})
- public Response downloadResourceInstanceArtifact(@Context final HttpServletRequest request,
+ public Response downloadResourceInstanceArtifact(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
private static Logger log = LoggerFactory.getLogger(DistributionServlet.class.getName());
@Resource
private DistributionBusinessLogic distributionLogic;
+ @Context
+ private HttpServletRequest request;
/**
*
- * @param request
* @param requestId
* @param instanceId
* @param accept
@ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
@ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000")})
- public Response getUebServerList(@Context final HttpServletRequest request,
+ public Response getUebServerList(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) String instanceId,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
/**
*
- * @param request
* @param requestId
* @param instanceId
* @param accept
@ApiResponse(code = 500, message = "The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component should continue the attempts to register for distribution - POL5000")})
//TODO Tal G fix response headers and to check missing header validations with Michael L
@ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.distribution.api.client.RegistrationRequest", paramType = "body", value = "json describe the artifact")})
- public Response registerForDistribution(@Context final HttpServletRequest request,
+ public Response registerForDistribution(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) String instanceId,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
* Returns list of valid artifact types for validation done in the distribution client.<br>
* The list is the representation of the values of the enum ArtifactTypeEnum.
*
- * @param request
* @param requestId
* @param instanceId
* @param authorization
@ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
@ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used to register for distribution ( POST,PUT,DELETE will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component should continue the attempts to register for distribution - POL5000")})
- public Response getValidArtifactTypes(@Context final HttpServletRequest request,
+ public Response getValidArtifactTypes(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) String instanceId,
@ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
/**
* Removes from subscription for distribution notifications
*
- * @param request
* @param requestId
* @param instanceId
* @param accept
@ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used to register for distribution ( PUT,DELETE,GET will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The registration failed due to internal SDC problem or Cambria Service failure ECOMP Component should continue the attempts to register for distribution - POL5000")})
@ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.distribution.api.client.RegistrationRequest", paramType = "body", value = "json describe the artifact")})
- public Response unRegisterForDistribution(@Context final HttpServletRequest request,
+ public Response unRegisterForDistribution(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) String instanceId,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
import com.jcabi.aspects.Loggable;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
/**
* Uploads an artifact to resource or service
*
+ * @param contenType
+ * @param checksum
+ * @param userId
+ * @param requestId
+ * @param instanceIdHeader
+ * @param accept
+ * @param authorization
* @param assetType
* @param uuid
+ * @param data
* @return
*/
@POST
@Path("/{assetType}/{uuid}/artifacts")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "uploads of artifact to a resource or service", httpMethod = "POST", notes = "uploads of artifact to a resource or service", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact uploaded"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response uploadArtifact(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @ApiParam(value = "json describe the artifact", required = true) String data,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiOperation(value = "uploads of artifact to a resource or service", httpMethod = "POST", notes = "uploads of artifact to a resource or service")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact uploaded", response = ArtifactDefinition.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "Invalid artifactType was defined as input - SVC4122"),
+ @ApiResponse(code = 400, message = "Artifact type (mandatory field) is missing in request - SVC4124"),
+ @ApiResponse(code = 400, message = "Artifact name given in input already exists in the context of the asset - SVC4125"),
+ @ApiResponse(code = 400, message = "Invalid MD5 header - SVC4127"),
+ @ApiResponse(code = 400, message = "Artifact name is missing in input - SVC4128"),
+ @ApiResponse(code = 400, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4086"),
+ @ApiResponse(code = 400, message = "Restricted Operation – the user provided does not have role of Designer or the asset is being used by another designer - SVC4301")})
+ @ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.model.ArtifactDefinition", paramType = "body", value = "json describe the artifact")})
+ public Response uploadArtifact(
+ @ApiParam(value = "Determines the format of the body of the request", required = true)@HeaderParam(value = Constants.CONTENT_TYPE_HEADER) String contenType,
+ @ApiParam(value = "The value for this header must be the MD5 checksum over the whole json body", required = true)@HeaderParam(value = Constants.MD5_HEADER) String checksum,
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ String data) {
+
init(log);
Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
@POST
@Path("/{assetType}/{uuid}/resourceInstances/{resourceInstanceName}/artifacts")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "uploads an artifact to a resource instance", httpMethod = "POST", notes = "uploads an artifact to a resource instance", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact uploaded"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response uploadArtifactToInstance(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @PathParam("resourceInstanceName") final String resourceInstanceName,
- @ApiParam(value = "json describe the artifact", required = true) String data,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiOperation(value = "uploads an artifact to a resource instance", httpMethod = "POST", notes = "uploads an artifact to a resource instance")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact uploaded", response = ArtifactDefinition.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "Invalid artifactType was defined as input - SVC4122"),
+ @ApiResponse(code = 400, message = "Artifact type (mandatory field) is missing in request - SVC4124"),
+ @ApiResponse(code = 400, message = "Artifact name given in input already exists in the context of the asset - SVC4125"),
+ @ApiResponse(code = 400, message = "Invalid MD5 header - SVC4127"),
+ @ApiResponse(code = 400, message = "Artifact name is missing in input - SVC4128"),
+ @ApiResponse(code = 400, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4086"),
+ @ApiResponse(code = 400, message = "Restricted Operation – the user provided does not have role of Designer or the asset is being used by another designer - SVC4301")})
+ @ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.model.ArtifactDefinition", paramType = "body", value = "json describe the artifact")})
+ public Response uploadArtifactToInstance(
+ @ApiParam(value = "Determines the format of the body of the request", required = true)@HeaderParam(value = Constants.CONTENT_TYPE_HEADER) String contenType,
+ @ApiParam(value = "The value for this header must be the MD5 checksum over the whole json body", required = true)@HeaderParam(value = Constants.MD5_HEADER) String checksum,
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The component instance name (as publishedin the response of the detailed query)", required = true)@PathParam("resourceInstanceName") final String resourceInstanceName,
+ String data) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
}
/**
- * updates an artifact on a resource or service
*
+ * @param contenType
+ * @param checksum
+ * @param userId
+ * @param requestId
+ * @param instanceIdHeader
+ * @param accept
+ * @param authorization
* @param assetType
* @param uuid
* @param artifactUUID
+ * @param data
* @return
*/
@POST
@Path("/{assetType}/{uuid}/artifacts/{artifactUUID}")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "updates an artifact on a resource or service", httpMethod = "POST", notes = "uploads of artifact to a resource or service", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact Updated"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response updateArtifact(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @PathParam("artifactUUID") final String artifactUUID,
- @ApiParam(value = "json describe the artifact", required = true) String data,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiOperation(value = "updates an artifact on a resource or service", httpMethod = "POST", notes = "uploads of artifact to a resource or service")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact updated", response = ArtifactDefinition.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "Invalid artifactType was defined as input - SVC4122"),
+ @ApiResponse(code = 400, message = "Artifact type (mandatory field) is missing in request - SVC4124"),
+ @ApiResponse(code = 400, message = "Invalid MD5 header - SVC4127"),
+ @ApiResponse(code = 400, message = "Artifact name is missing in input - SVC4128"),
+ @ApiResponse(code = 403, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4086"),
+ @ApiResponse(code = 409, message = "Restricted Operation – the user provided does not have role of Designer or the asset is being used by another designer - SVC4301")})
+ @ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.model.ArtifactDefinition", paramType = "body", value = "json describe the artifact")})
+ public Response updateArtifact(
+ @ApiParam(value = "Determines the format of the body of the request", required = true)@HeaderParam(value = Constants.CONTENT_TYPE_HEADER) String contenType,
+ @ApiParam(value = "The value for this header must be the MD5 checksum over the whole json body", required = true)@HeaderParam(value = Constants.MD5_HEADER) String checksum,
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The uuid of the artifact as published in the asset detailed metadata or in the response of the upload / update operation", required = true)@PathParam("artifactUUID") final String artifactUUID,
+ String data) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
@POST
@Path("/{assetType}/{uuid}/resourceInstances/{resourceInstanceName}/artifacts/{artifactUUID}")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "updates an artifact on a resource instance", httpMethod = "POST", notes = "uploads of artifact to a resource or service", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact Updated"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response updateArtifactOnResourceInstance(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @PathParam("resourceInstanceName") final String resourceInstanceName,
- @PathParam("artifactUUID") final String artifactUUID, @ApiParam(value = "json describe the artifact", required = true) String data,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiOperation(value = "updates an artifact on a resource instance", httpMethod = "POST", notes = "uploads of artifact to a resource or service")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact updated", response = ArtifactDefinition.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "Invalid artifactType was defined as input - SVC4122"),
+ @ApiResponse(code = 400, message = "Artifact type (mandatory field) is missing in request - SVC4124"),
+ @ApiResponse(code = 400, message = "Invalid MD5 header - SVC4127"),
+ @ApiResponse(code = 400, message = "Artifact name is missing in input - SVC4128"),
+ @ApiResponse(code = 403, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4086"),
+ @ApiResponse(code = 409, message = "Restricted Operation – the user provided does not have role of Designer or the asset is being used by another designer - SVC4301")})
+ @ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.model.ArtifactDefinition", paramType = "body", value = "json describe the artifact")})
+ public Response updateArtifactOnResourceInstance(
+ @ApiParam(value = "Determines the format of the body of the request", required = true)@HeaderParam(value = Constants.CONTENT_TYPE_HEADER) String contenType,
+ @ApiParam(value = "The value for this header must be the MD5 checksum over the whole json body", required = true)@HeaderParam(value = Constants.MD5_HEADER) String checksum,
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The uuid of the artifact as published in the asset detailed metadata or in the response of the upload / update operation", required = true)@PathParam("artifactUUID") final String artifactUUID,
+ @ApiParam(value = "The component instance name (as publishedin the response of the detailed query)", required = true)@PathParam("resourceInstanceName") final String resourceInstanceName,
+ String data) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
@Path("/{assetType}/{uuid}/artifacts/{artifactUUID}")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "deletes an artifact of a resource or service", httpMethod = "DELETE", notes = "deletes an artifact of a resource or service", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact Deleted"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response deleteArtifact(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @PathParam("artifactUUID") final String artifactUUID,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ /*@ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact Deleted"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
+ @ApiResponse(code = 404, message = "Asset not found") })*/
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact deleted", response = ArtifactDefinition.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "Invalid artifactType was defined as input - SVC4122"),
+ @ApiResponse(code = 400, message = "Artifact type (mandatory field) is missing in request - SVC4124"),
+ @ApiResponse(code = 400, message = "Invalid MD5 header - SVC4127"),
+ @ApiResponse(code = 400, message = "Artifact name is missing in input - SVC4128"),
+ @ApiResponse(code = 403, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4086"),
+ @ApiResponse(code = 409, message = "Restricted Operation – the user provided does not have role of Designer or the asset is being used by another designer - SVC4301")})
+ public Response deleteArtifact(
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The uuid of the artifact as published in the asset detailed metadata or in the response of the upload / update operation", required = true)@PathParam("artifactUUID") final String artifactUUID) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
@Path("{assetType}/{uuid}/resourceInstances/{resourceInstanceName}/artifacts/{artifactUUID}")
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "deletes an artifact of a resource insatnce", httpMethod = "DELETE", notes = "deletes an artifact of a resource insatnce", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact Deleted"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response deleteArtifactOnResourceInstance(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @PathParam("resourceInstanceName") final String resourceInstanceName,
- @PathParam("artifactUUID") final String artifactUUID,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact deleted", response = ArtifactDefinition.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "Invalid artifactType was defined as input - SVC4122"),
+ @ApiResponse(code = 400, message = "Artifact type (mandatory field) is missing in request - SVC4124"),
+ @ApiResponse(code = 400, message = "Invalid MD5 header - SVC4127"),
+ @ApiResponse(code = 400, message = "Artifact name is missing in input - SVC4128"),
+ @ApiResponse(code = 403, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4086"),
+ @ApiResponse(code = 409, message = "Restricted Operation – the user provided does not have role of Designer or the asset is being used by another designer - SVC4301")})
+ public Response deleteArtifactOnResourceInstance(
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The uuid of the artifact as published in the asset detailed metadata or in the response of the upload / update operation", required = true)@PathParam("artifactUUID") final String artifactUUID,
+ @ApiParam(value = "The component instance name (as publishedin the response of the detailed query)", required = true)@PathParam("resourceInstanceName") final String resourceInstanceName) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
@GET
@Path("/{assetType}/{uuid}/artifacts/{artifactUUID}")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
- @ApiOperation(value = "Download component artifact", httpMethod = "GET", notes = "Returns downloaded artifact", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact downloaded"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Artifact not found") })
+ @ApiOperation(value = "Download component artifact", httpMethod = "GET", notes = "Returns downloaded artifact")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact downloaded", response = String.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 404, message = "Artifact was not found - SVC4505")})
public Response downloadComponentArtifact(
- @ApiParam(value = "valid values: resources / services", allowableValues = ComponentTypeEnum.RESOURCE_PARAM_NAME + "," + ComponentTypeEnum.SERVICE_PARAM_NAME) @PathParam("assetType") final String assetType,
- @PathParam("uuid") final String uuid, @PathParam("artifactUUID") final String artifactUUID,
- @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The uuid of the artifact as published in the asset detailed metadata or in the response of the upload / update operation", required = true)@PathParam("artifactUUID") final String artifactUUID) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
@Path("/{assetType}/{uuid}/resourceInstances/{resourceInstanceName}/artifacts/{artifactUUID}")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
@ApiOperation(value = "Download resource instance artifact", httpMethod = "GET", notes = "Returns downloaded artifact", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact downloaded"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Artifact not found") })
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Artifact downloaded", response = String.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Specified resource is not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed: Invalid HTTP method type used (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem or Cambria Service failure. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 404, message = "Artifact was not found - SVC4505")})
public Response downloadResourceInstanceArtifact(
- @ApiParam(value = "valid values: resources / services", allowableValues = ComponentTypeEnum.RESOURCE_PARAM_NAME + "," + ComponentTypeEnum.SERVICE_PARAM_NAME) @PathParam("assetType") final String assetType,
- @PathParam("uuid") final String uuid, @PathParam("resourceInstanceName") final String resourceInstanceName, @PathParam("artifactUUID") final String artifactUUID,
- @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiParam(value = "The user ID of the DCAE Designer. This user must also have Designer role in SDC", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The uuid of the asset as published in the metadata", required = true)@PathParam("uuid") final String uuid,
+ @ApiParam(value = "The uuid of the artifact as published in the asset detailed metadata or in the response of the upload / update operation", required = true)@PathParam("artifactUUID") final String artifactUUID,
+ @ApiParam(value = "The component instance name (as publishedin the response of the detailed query)", required = true)@PathParam("resourceInstanceName") final String resourceInstanceName) {
Wrapper<Response> responseWrapper = new Wrapper<>();
ResponseFormat responseFormat = null;
package org.openecomp.sdc.be.externalapi.servlet;
import java.io.ByteArrayInputStream;
-import java.io.IOException;
import java.io.InputStream;
-import java.util.Arrays;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
import javax.inject.Singleton;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.elasticsearch.common.Strings;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
import org.openecomp.sdc.be.components.impl.ComponentBusinessLogic;
import org.openecomp.sdc.be.components.impl.ElementBusinessLogic;
-import org.openecomp.sdc.be.components.impl.ImportUtils;
-import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
-import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic;
-import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoBase;
-import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction;
import org.openecomp.sdc.be.config.BeEcompErrorManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.datamodel.api.CategoryTypeEnum;
-import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.FilterKeyEnum;
import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
import org.openecomp.sdc.be.ecomp.converters.AssetMetadataConverter;
import org.openecomp.sdc.be.externalapi.servlet.representation.AssetMetadata;
import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.LifeCycleTransitionEnum;
-import org.openecomp.sdc.be.model.LifecycleStateEnum;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.category.CategoryDefinition;
-import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
import org.openecomp.sdc.be.servlets.AbstractValidationsServlet;
import org.openecomp.sdc.be.servlets.RepresentationUtils;
-import org.openecomp.sdc.be.utils.CommonBeUtils;
import org.openecomp.sdc.common.api.Constants;
-import org.openecomp.sdc.common.config.EcompErrorName;
import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
-import org.openecomp.sdc.common.datastructure.Wrapper;
import org.openecomp.sdc.common.util.GeneralUtility;
-import org.openecomp.sdc.common.util.ValidationUtils;
import org.openecomp.sdc.exception.ResponseFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
*
+ * @param requestId
+ * @param instanceIdHeader
+ * @param accept
+ * @param authorization
* @param assetType
* @param category
* @param subCategory
* @param distributionStatus
* @param resourceType
- * @param instanceIdHeader
* @return
*/
@GET
@Path("/{assetType}")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Fetch list of assets", httpMethod = "GET", notes = "Returns list of assets", response = AssetMetadata.class, responseContainer="List")
+ @ApiOperation(value = "Fetch list of assets", httpMethod = "GET", notes = "Returns list of assets")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "ECOMP component is authenticated and list of Catalog Assets Metadata is returned", response = AssetMetadata.class, responseContainer="List"),
@ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
@ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
@ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
- @ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used to register for distribution (PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"),
@ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem. ECOMP Component should continue the attempts to get the needed information - POL5000")})
- public Response getAssetList(
+ public Response getAssetListExternal(
@ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
@ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
@ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
ElementBusinessLogic elementLogic = getElementBL(context);
AssetMetadataConverter assetMetadataUtils = getAssetUtils(context);
- Map<FilterKeyEnum, String> filters = new HashMap<FilterKeyEnum, String>();
+ Map<FilterKeyEnum, String> filters = new EnumMap<>(FilterKeyEnum.class);
if (category != null) {
filters.put(FilterKeyEnum.CATEGORY, category);
/**
*
+ * @param requestId
+ * @param instanceIdHeader
+ * @param accept
+ * @param authorization
* @param assetType
* @param uuid
- * @param request
- * @param instanceIdHeader
* @return
*/
@GET
@Path("/{assetType}/{uuid}/metadata")
@Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Fetch metadata of asset by uuid", httpMethod = "GET", notes = "Returns metadata of asset", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Assets Fetched"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response getAssetListByUuid(@PathParam("assetType") final String assetType, @PathParam("uuid") final String uuid, @Context final HttpServletRequest request,
- @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiOperation(value = "Detailed metadata of asset by uuid", httpMethod = "GET", notes = "Returns detailed metadata of an asset by uuid")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "ECOMP component is authenticated and list of Catalog Assets Metadata is returned", response = AssetMetadata.class, responseContainer="List"),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Error: Requested '%1' (uuid) resource was not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem. ECOMP Component should continue the attempts to get the needed information - POL5000")})
+ public Response getAssetSpecificMetadataByUuidExternal(
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The requested asset uuid", required = true)@PathParam("uuid") final String uuid) {
Response response = null;
ResponseFormat responseFormat = null;
String url = request.getMethod() + " " + requestURI;
log.debug("Start handle request of {}", url);
- EnumMap<AuditingFieldsKeysEnum, Object> additionalParam = new EnumMap<AuditingFieldsKeysEnum, Object>(AuditingFieldsKeysEnum.class);
+ EnumMap<AuditingFieldsKeysEnum, Object> additionalParam = new EnumMap<>(AuditingFieldsKeysEnum.class);
ComponentTypeEnum componentType = ComponentTypeEnum.findByParamName(assetType);
additionalParam.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_CONSUMER_ID, instanceIdHeader);
additionalParam.put(AuditingFieldsKeysEnum.AUDIT_DISTRIBUTION_RESOURCE_URL, requestURI);
/**
*
- * @param uuid
- * @param assetType
- * @param authorization
+ * @param requestId
* @param instanceIdHeader
+ * @param accept
+ * @param authorization
+ * @param assetType
+ * @param uuid
* @return
*/
@GET
@Path("/{assetType}/{uuid}/toscaModel")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
- @ApiOperation(value = "Fetch asset csar", httpMethod = "GET", notes = "Returns asset csar", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Asset Model Fetched"), @ApiResponse(code = 401, message = "Authorization required"), @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 404, message = "Asset not found") })
- public Response getToscaModel(@PathParam("uuid") final String uuid,
- @ApiParam(value = "valid values: resources / services", allowableValues = ComponentTypeEnum.RESOURCE_PARAM_NAME + "," + ComponentTypeEnum.SERVICE_PARAM_NAME) @PathParam("assetType") final String assetType,
- @HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization, @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
+ @ApiOperation(value = "Fetch assets CSAR", httpMethod = "GET", notes = "Returns asset csar", response = String.class)
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "ECOMP component is authenticated and list of Catalog Assets Metadata is returned", response = String.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Error: Requested '%1' (uuid) resource was not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem. ECOMP Component should continue the attempts to get the needed information - POL5000")})
+ public Response getToscaModelExternal(
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ @ApiParam(value = "The requested asset uuid", required = true)@PathParam("uuid") final String uuid) {
String url = request.getRequestURI();
log.debug("Start handle request of {} {}", request.getMethod(), url);
return response;
}
}
-
- /**
- * Creates a new Resource
- *
- * @param assetType
- * @param data
- * @param userId
- * @param instanceIdHeader
- * @return
- */
- @POST
- @Path("/{assetType}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "creates a resource", httpMethod = "POST", notes = "creates a resource", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Artifact uploaded"),
- @ApiResponse(code = 401, message = "Authorization required"),
- @ApiResponse(code = 403, message = "Restricted operation"),
- @ApiResponse(code = 201, message = "Resource created"), @ApiResponse(code = 400, message = "Invalid content / Missing content"),
- @ApiResponse(code = 409, message = "Resource already exist") })
- public Response createResource(@PathParam("assetType") final String assetType,
- @ApiParam(value = "json describe the artifact", required = true) String data,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
- @HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader) {
-
- init(log);
-
- Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
- String requestURI = request.getRequestURI();
- String url = request.getMethod() + " " + requestURI;
- log.debug("Start handle request of {}", url);
- Resource resource = null;
- User modifier = null;
- EnumMap<AuditingFieldsKeysEnum, Object> additionalParams = new EnumMap<>(AuditingFieldsKeysEnum.class);
- ServletContext context = request.getSession().getServletContext();
- ResourceBusinessLogic resourceBL = getResourceBL(context);
- try {
- // Validate X-ECOMP-InstanceID Header
- if (responseWrapper.isEmpty()) {
- validateXECOMPInstanceIDHeader(instanceIdHeader, responseWrapper);
- }
- // Validate USER_ID Header
- if (responseWrapper.isEmpty()) {
- validateHttpCspUserIdHeader(userId, responseWrapper);
- }
- // Validate assetType
- if (responseWrapper.isEmpty()) {
- if( !AssetTypeEnum.RESOURCES.getValue().equals(assetType) ){
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
- }
- }
- //Validate resource type
- if(responseWrapper.isEmpty()){
- JSONParser parser = new JSONParser();
- JSONObject jsonObj = (JSONObject) parser.parse(data);
- String resourceType = (String) jsonObj.get(FilterKeyEnum.RESOURCE_TYPE.getName());
- if( StringUtils.isEmpty(resourceType) || !ResourceTypeEnum.containsName(resourceType) ){
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, (String) jsonObj.get("name"));
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
- }
- }
- // Convert the user json to a resource
- if (responseWrapper.isEmpty()) {
- modifier = new User();
- modifier.setUserId(userId);
- Either<Resource, ResponseFormat> eitherResource = getComponentsUtils()
- .convertJsonToObjectUsingObjectMapper(data, modifier, Resource.class,
- null, ComponentTypeEnum.RESOURCE);
- if( eitherResource.isRight() ){
- responseWrapper.setInnerElement(eitherResource.right().value());
- }
- else{
- resource = eitherResource.left().value();
- }
-
- }
- //validate name exist
- if(responseWrapper.isEmpty()){
- if( Strings.isEmpty(resource.getName())){
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
- ActionStatus.MISSING_COMPONENT_NAME, ComponentTypeEnum.RESOURCE.getValue()));
-
- }
- }
-
- if(responseWrapper.isEmpty()){
- resource.setDerivedFrom(Arrays.asList("tosca.nodes.Root"));
- resource.setSystemName(ValidationUtils.convertToSystemName(resource.getName()));
- resource.setToscaResourceName(CommonBeUtils.generateToscaResourceName(ResourceTypeEnum.VFCMT.name(),
- resource.getSystemName()));
- handleCategories(context, data, resource, responseWrapper);
- }
- // Create the resource in the dataModel
- if (responseWrapper.isEmpty()) {
- Either<Resource, ResponseFormat> eitherCreateResponse = resourceBL.createResource(resource, null,
- modifier, null, null);
- if (eitherCreateResponse.isRight()) {
- responseWrapper.setInnerElement(eitherCreateResponse.right().value());
- } else {
- resource = eitherCreateResponse.left().value();
- }
- }
- Response response;
- //Build Response and store it in the response Wrapper
- if (responseWrapper.isEmpty()) {
- response = buildCreatedResourceResponse(resource, context, responseWrapper);
- }
- else{
- response = buildErrorResponse(responseWrapper.getInnerElement());
- }
- return response;
-
- } catch (Exception e) {
- final String message = "failed to create vfc monitoring template resource";
- BeEcompErrorManager.getInstance().logBeRestApiGeneralError(message);
- log.debug(message, e);
- return buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
- }
- finally{
- prepareAdditionalAudit(resource, additionalParams);
-
- getComponentsUtils().auditExternalCrudApi(responseWrapper.getInnerElement(),
- ComponentTypeEnum.RESOURCE.getValue(), AuditingActionEnum.CREATE_RESOURCE_BY_API.getName(), request,
- additionalParams);
- }
- }
-
- /**
- * Changing the lifecycle of an asset
- * @param jsonChangeInfo The description - request body
- * @param assetType The requested asset type.Valid values are: resources / services (for VFCMT – use "resources")
- * @param uuid The uuid of the desired resource to be changed
- * @param lifecycleTransition The lifecycle operation to be performed on the asset.Valid values are:Checkin / Checkout / CERTIFICATION_REQUEST
- * @param userId
- * @return
- */
- @POST
- @Path("/{assetType}/{uuid}/lifecycleState/{lifecycleOperation}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "Change Resource lifecycle State", httpMethod = "POST", response = Response.class)
- @ApiResponses(value = { @ApiResponse(code = 200, message = "Resource state changed"), @ApiResponse(code = 403, message = "Asset is already checked-out by another user")})
- public Response changeResourceState(@ApiParam(value = "LifecycleChangeInfo - relevant for checkin", required = false) String jsonChangeInfo,
- @ApiParam(value = "validValues: resources / services ", allowableValues = ComponentTypeEnum.RESOURCE_PARAM_NAME + "," + ComponentTypeEnum.SERVICE_PARAM_NAME) @PathParam(value = "assetType") final String assetType,
- @ApiParam(value = "id of component to be changed") @PathParam(value = "uuid") final String uuid,
- @ApiParam(allowableValues = "checkout, checkin", required = true) @PathParam(value = "lifecycleOperation") final String lifecycleTransition,
- @HeaderParam(value = Constants.USER_ID_HEADER) final String userId) {
-
- Response response = null;
- EnumMap<AuditingFieldsKeysEnum, Object> additionalParams = new EnumMap<>(AuditingFieldsKeysEnum.class);
-
- init(log);
-
- String requestURI = request.getRequestURI();
- String url = request.getMethod() + " " + requestURI;
- log.debug("Start handle request of {}", url);
-
- //get the business logic
- ServletContext context = request.getSession().getServletContext();
- LifecycleBusinessLogic businessLogic = getLifecycleBL(context);
-
- Wrapper<ResponseFormat> responseWrapper = runValidations(assetType);
- ComponentTypeEnum componentType = ComponentTypeEnum.findByParamName(assetType);
- Component component = null;
- Component responseObject = null;
- User modifier = null;
-
- try{
- if (responseWrapper.isEmpty()) {
- //get user
- Either<User, ResponseFormat> eitherGetUser = getUser(request, userId);
- if (eitherGetUser.isRight()) {
- ResponseFormat responseFormat = eitherGetUser.right().value();
- responseWrapper.setInnerElement(responseFormat);
- return buildErrorResponse(responseFormat);
- }
- modifier = eitherGetUser.left().value();
-
- //get the component id from the uuid
- Either<Component, ResponseFormat> latestVersion = businessLogic.getLatestComponentByUuid(componentType, uuid);
- if (latestVersion.isRight()) {
- ResponseFormat responseFormat = latestVersion.right().value();
- responseWrapper.setInnerElement(responseFormat);
- return buildErrorResponse(responseFormat);
- }
- component = latestVersion.left().value();
- String componentId = component.getUniqueId();
-
- //validate the transition is valid
- Either<LifeCycleTransitionEnum, ResponseFormat> validateEnum = validateTransitionEnum(lifecycleTransition, modifier);
- if (validateEnum.isRight()) {
- ResponseFormat responseFormat = validateEnum.right().value();
- responseWrapper.setInnerElement(responseFormat);
- return buildErrorResponse(responseFormat);
- }
- LifeCycleTransitionEnum transitionEnum = validateEnum.left().value();
-
- //create changeInfo
- LifecycleChangeInfoWithAction changeInfo = new LifecycleChangeInfoWithAction();
- try {
- if (jsonChangeInfo != null && !jsonChangeInfo.isEmpty()) {
- ObjectMapper mapper = new ObjectMapper();
- changeInfo = new LifecycleChangeInfoWithAction(mapper.readValue(jsonChangeInfo, LifecycleChangeInfoBase.class).getUserRemarks());
- }
- }
- catch (Exception e) {
- BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeInvalidJsonInput, "convertJsonToObject");
- BeEcompErrorManager.getInstance().logBeInvalidJsonInput("convertJsonToObject");
- log.debug("failed to convert from json {}", jsonChangeInfo, e);
- ResponseFormat responseFormat = getComponentsUtils().getInvalidContentErrorAndAudit(modifier, AuditingActionEnum.CHECKOUT_RESOURCE);
- responseWrapper.setInnerElement(responseFormat);
- return buildErrorResponse(responseFormat);
- }
-
- //execute business logic
- Either<? extends Component, ResponseFormat> actionResponse = businessLogic.changeComponentState(componentType, componentId, modifier, transitionEnum, changeInfo, false, true);
- if (actionResponse.isRight()) {
- log.info("failed to change resource state");
- ResponseFormat responseFormat = actionResponse.right().value();
- responseWrapper.setInnerElement(responseFormat);
- return buildErrorResponse(responseFormat);
- }
-
- log.debug("change state successful !!!");
- responseObject = actionResponse.left().value();
- response = buildCreatedResourceResponse(responseObject, context, responseWrapper);
- } else {
- response = buildErrorResponse(responseWrapper.getInnerElement());
- }
-
- return response;
- } catch (Exception e) {
- BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeRestApiGeneralError, "Change Lifecycle State");
- BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Change Lifecycle State");
- log.debug("change lifecycle state failed with exception", e);
- ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR);
- responseWrapper.setInnerElement(responseFormat);
- return buildErrorResponse(responseFormat);
- } finally{
- auditChnageLifecycleAction(additionalParams, responseWrapper, componentType, component, responseObject, modifier, userId);
- }
- }
-
- private void prepareAdditionalAudit(Resource resource, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION, StringUtils.EMPTY);
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE, StringUtils.EMPTY);
-
- if( resource != null ){
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, ImportUtils.Constants.FIRST_NON_CERTIFIED_VERSION);
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resource.getName());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, resource.getUUID());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, resource.getInvariantUUID());
- } else {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, StringUtils.EMPTY);
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE, StringUtils.EMPTY);
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, StringUtils.EMPTY);
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, StringUtils.EMPTY);
- }
- }
-
- private Response buildCreatedResourceResponse(Component resource, ServletContext context,
- Wrapper<ResponseFormat> responseWrapper) throws IOException, JsonGenerationException, JsonMappingException {
- ResponseFormat responseFormat;
- Response response;
- AssetMetadataConverter assetMetadataUtils = getAssetUtils(context);
- Either<? extends AssetMetadata, ResponseFormat> resMetadata = assetMetadataUtils
- .convertToSingleAssetMetadata(resource, request.getRequestURL().toString(),
- true);
- if (resMetadata.isRight()) {
- log.debug("Asset conversion Failed");
- responseFormat = resMetadata.right().value();
- responseWrapper.setInnerElement(responseFormat);
- response = buildErrorResponse(responseFormat);
- }else{
- final AssetMetadata assetData = resMetadata.left().value();
- assetData.setToscaModelURL(null);
-
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.CREATED));
- Object representation = RepresentationUtils.toRepresentation(assetData);
- response = buildOkResponse(getComponentsUtils().getResponseFormat(ActionStatus.CREATED), representation);
- }
- return response;
- }
-
- private void handleCategories(ServletContext context, String data, Resource resource,
- Wrapper<ResponseFormat> responseWrapper) {
- try {
- JSONParser parser = new JSONParser();
- JSONObject jsonObj = (JSONObject) parser.parse(data);
- String category = (String) jsonObj.get(CategoryTypeEnum.CATEGORY.getValue());
- String subcategory = (String) jsonObj.get(CategoryTypeEnum.SUBCATEGORY.getValue());
- if (Strings.isEmpty(category)) {
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
- ActionStatus.COMPONENT_MISSING_CATEGORY, ComponentTypeEnum.RESOURCE.getValue()));
- }
- else if (Strings.isEmpty(subcategory)) {
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
- ActionStatus.COMPONENT_MISSING_SUBCATEGORY));
- }
- if (responseWrapper.isEmpty()) {
- ElementBusinessLogic elementLogic = getElementBL(context);
- // get All Categories
- Either<List<CategoryDefinition>, ActionStatus> allResourceCategories = elementLogic
- .getAllResourceCategories();
- // Error fetching categories
- if (allResourceCategories.isRight()) {
- responseWrapper.setInnerElement(
- getComponentsUtils().getResponseFormat(allResourceCategories.right().value()));
- } else {
- addCategories(resource, category, subcategory, allResourceCategories, responseWrapper);
- }
- }
- } catch (Exception e) {
- log.debug("Exception occured in addCategories: {}", e.getMessage(), e);
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
- }
-
- }
-
- private void addCategories(Resource resource, String category, String subcategory,
- Either<List<CategoryDefinition>, ActionStatus> allResourceCategories,
- Wrapper<ResponseFormat> responseWrapper) {
- Optional<CategoryDefinition> optionalCategory =
- // Stream of all the categories
- allResourceCategories.left().value().stream()
- // filter in only relevant category
- .filter(e -> e.getName().equals(category))
- // get the result
- .findAny();
- if (!optionalCategory.isPresent()) {
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
- ActionStatus.COMPONENT_INVALID_CATEGORY, ComponentTypeEnum.RESOURCE.getValue()));
- } else {
- CategoryDefinition categoryDefinition = optionalCategory.get();
-
- List<SubCategoryDefinition> subCaregories =
- // Stream of all sub-categories of the relevant
- // category
- categoryDefinition.getSubcategories().stream()
- // filter in only relevant sub-category
- .filter(e -> e.getName().equals(subcategory))
- // get the result
- .collect(Collectors.toList());
-
- if( subCaregories.isEmpty() ){
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
- ActionStatus.COMPONENT_INVALID_SUBCATEGORY, ComponentTypeEnum.RESOURCE.getValue()));
- }
- else{
- categoryDefinition.setSubcategories(subCaregories);
- resource.setCategories(Arrays.asList(categoryDefinition));
- }
-
- }
- }
-
-
-
-
- private void auditChnageLifecycleAction(EnumMap<AuditingFieldsKeysEnum, Object> additionalParams,
- Wrapper<ResponseFormat> responseWrapper, ComponentTypeEnum componentType, Component component,
- Component responseObject, User modifier, String userId) {
- if (modifier!=null){
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, modifier.getFullName());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifier.getUserId());
- } else {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, "");
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, userId);
- }
-
- if (component!=null){
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, component.getName());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION, component.getVersion());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE, component.getLifecycleState().name());
- } else {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, "");
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION, "");
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE, "");
- }
-
- if (responseObject!=null){
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, responseObject.getVersion());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, responseObject.getUUID());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, responseObject.getInvariantUUID());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE,responseObject.getLifecycleState().name());
- } else {
- if (component!=null){
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, component.getVersion());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, component.getUUID());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, component.getInvariantUUID());
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE,component.getLifecycleState().name());
- } else {
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, "");
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, "");
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, "");
- additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE,"");
- }
- }
-
- getComponentsUtils().auditExternalCrudApi(responseWrapper.getInnerElement(),
- componentType.getValue(), AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName(), request,
- additionalParams);
- }
-
- private Wrapper<ResponseFormat> runValidations(final String assetType) {
- Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
-
- // Validate X-ECOMP-InstanceID Header
- if (responseWrapper.isEmpty()) {
- String instanceId = request.getHeader(Constants.X_ECOMP_INSTANCE_ID_HEADER);
- validateXECOMPInstanceIDHeader(instanceId,responseWrapper);
- }
- // Validate USER_ID Header
- if (responseWrapper.isEmpty()) {
- validateHttpCspUserIdHeader(request.getHeader(Constants.USER_ID_HEADER),responseWrapper);
- }
- // Validate assetType
- if (responseWrapper.isEmpty()) {
- if( !AssetTypeEnum.RESOURCES.getValue().equals(assetType) && !AssetTypeEnum.SERVICES.getValue().equals(assetType)){
- responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
- }
- }
-
- return responseWrapper;
- }
-
- private Either<LifeCycleTransitionEnum, ResponseFormat> validateTransitionEnum(final String lifecycleTransition, User user) {
- LifeCycleTransitionEnum transitionEnum = LifeCycleTransitionEnum.CHECKOUT;
- try {
- transitionEnum = LifeCycleTransitionEnum.getFromDisplayName(lifecycleTransition);
- } catch (IllegalArgumentException e) {
- log.info("state operation is not valid. operations allowed are: {}", LifeCycleTransitionEnum.valuesAsString());
- ResponseFormat error = getComponentsUtils().getInvalidContentErrorAndAudit(user, AuditingActionEnum.CHECKOUT_RESOURCE);
- return Either.right(error);
- }
- return Either.left(transitionEnum);
- }
-
}
--- /dev/null
+package org.openecomp.sdc.be.externalapi.servlet;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.EnumMap;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+import javax.inject.Singleton;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.commons.lang3.StringUtils;
+import org.codehaus.jackson.JsonGenerationException;
+import org.codehaus.jackson.map.JsonMappingException;
+import org.codehaus.jackson.map.ObjectMapper;
+import org.elasticsearch.common.Strings;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.openecomp.sdc.be.components.impl.ElementBusinessLogic;
+import org.openecomp.sdc.be.components.impl.ImportUtils;
+import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
+import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic;
+import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoBase;
+import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction;
+import org.openecomp.sdc.be.config.BeEcompErrorManager;
+import org.openecomp.sdc.be.dao.api.ActionStatus;
+import org.openecomp.sdc.be.datamodel.api.CategoryTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.AssetTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.FilterKeyEnum;
+import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
+import org.openecomp.sdc.be.ecomp.converters.AssetMetadataConverter;
+import org.openecomp.sdc.be.externalapi.servlet.representation.AssetMetadata;
+import org.openecomp.sdc.be.model.Component;
+import org.openecomp.sdc.be.model.LifeCycleTransitionEnum;
+import org.openecomp.sdc.be.model.LifecycleStateEnum;
+import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.category.CategoryDefinition;
+import org.openecomp.sdc.be.model.category.SubCategoryDefinition;
+import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
+import org.openecomp.sdc.be.servlets.AbstractValidationsServlet;
+import org.openecomp.sdc.be.servlets.RepresentationUtils;
+import org.openecomp.sdc.be.utils.CommonBeUtils;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.config.EcompErrorName;
+import org.openecomp.sdc.common.datastructure.AuditingFieldsKeysEnum;
+import org.openecomp.sdc.common.datastructure.Wrapper;
+import org.openecomp.sdc.common.util.ValidationUtils;
+import org.openecomp.sdc.exception.ResponseFormat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.jcabi.aspects.Loggable;
+
+import fj.data.Either;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+@Loggable(prepend = true, value = Loggable.DEBUG, trim = false)
+@Path("/v1/catalog")
+@Api(value = "CRUD External Servlet", description = "This Servlet serves external users for creating assets and changing their lifecycle state")
+@Singleton
+public class CrudExternalServlet extends AbstractValidationsServlet {
+
+ @Context
+ private HttpServletRequest request;
+
+ private static Logger log = LoggerFactory.getLogger(CrudExternalServlet.class.getName());
+
+ /**
+ * Creates a new Resource
+ *
+ * @param assetType
+ * @param data
+ * @param userId
+ * @param instanceIdHeader
+ * @return
+ */
+ @POST
+ @Path("/{assetType}")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ @ApiOperation(value = "creates a resource", httpMethod = "POST", notes = "Creates a resource")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "ECOMP component is authenticated and Asset created", response = Resource.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Error: Requested '%1' (uuid) resource was not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 400, message = "The name provided for the newly created resource is already in use for another resource in SDC - SVC4050"),
+ @ApiResponse(code = 400, message = "Invalid field format. One of the provided fields does not comply with the field rules - SVC4126"),
+ @ApiResponse(code = 400, message = "Missing request body. The post request did not contain the expected body - SVC4500"),
+ @ApiResponse(code = 400, message = "The resource name is missing in the request body - SVC4062"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT description has wrong format - SVC4064"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT description has wrong format (exceeds limit) - SVC4065"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT tags exceeds character limit - SVC4066"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT vendor name exceeds character limit - SVC4067"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT vendor release exceeds character limit - SVC4068"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT ATT Contact has wrong format - SVC4069"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT name has wrong format - SVC4070"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT vendor name has wrong format - SVC4071"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT vendor release has wrong format - SVC4072"),
+ @ApiResponse(code = 400, message = "Create VFCMT request: VFCMT name exceeds character limit - SVC4073")})
+ @ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.model.Resource", paramType = "body", value = "json describe the created resource")})
+ public Response createResourceExternal(
+ @ApiParam(value = "Determines the format of the body of the request", required = true)@HeaderParam(value = Constants.CONTENT_TYPE_HEADER) String contenType,
+ @ApiParam(value = "The user id", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(value = "The requested asset type", required = true, allowableValues = "resources, services")@PathParam("assetType") final String assetType,
+ String data) {
+
+ init(log);
+
+ Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
+ String requestURI = request.getRequestURI();
+ String url = request.getMethod() + " " + requestURI;
+ log.debug("Start handle request of {}", url);
+ Resource resource = null;
+ User modifier = null;
+ EnumMap<AuditingFieldsKeysEnum, Object> additionalParams = new EnumMap<>(AuditingFieldsKeysEnum.class);
+ ServletContext context = request.getSession().getServletContext();
+ ResourceBusinessLogic resourceBL = getResourceBL(context);
+ try {
+ // Validate X-ECOMP-InstanceID Header
+ if (responseWrapper.isEmpty()) {
+ validateXECOMPInstanceIDHeader(instanceIdHeader, responseWrapper);
+ }
+ // Validate USER_ID Header
+ if (responseWrapper.isEmpty()) {
+ validateHttpCspUserIdHeader(userId, responseWrapper);
+ }
+ // Validate assetType
+ if (responseWrapper.isEmpty()) {
+ if( !AssetTypeEnum.RESOURCES.getValue().equals(assetType) ){
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
+ }
+ }
+ //Validate resource type
+ if(responseWrapper.isEmpty()){
+ JSONParser parser = new JSONParser();
+ JSONObject jsonObj = (JSONObject) parser.parse(data);
+ String resourceType = (String) jsonObj.get(FilterKeyEnum.RESOURCE_TYPE.getName());
+ if( StringUtils.isEmpty(resourceType) || !ResourceTypeEnum.containsName(resourceType) ){
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, (String) jsonObj.get("name"));
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.INVALID_CONTENT));
+ }
+ }
+ // Convert the user json to a resource
+ if (responseWrapper.isEmpty()) {
+ modifier = new User();
+ modifier.setUserId(userId);
+ Either<Resource, ResponseFormat> eitherResource = getComponentsUtils()
+ .convertJsonToObjectUsingObjectMapper(data, modifier, Resource.class,
+ null, ComponentTypeEnum.RESOURCE);
+ if( eitherResource.isRight() ){
+ responseWrapper.setInnerElement(eitherResource.right().value());
+ }
+ else{
+ resource = eitherResource.left().value();
+ }
+
+ }
+ //validate name exist
+ if(responseWrapper.isEmpty()){
+ if( Strings.isEmpty(resource.getName())){
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
+ ActionStatus.MISSING_COMPONENT_NAME, ComponentTypeEnum.RESOURCE.getValue()));
+
+ }
+ }
+
+ if(responseWrapper.isEmpty()){
+ resource.setDerivedFrom(Arrays.asList("tosca.nodes.Root"));
+ resource.setSystemName(ValidationUtils.convertToSystemName(resource.getName()));
+ resource.setToscaResourceName(CommonBeUtils.generateToscaResourceName(ResourceTypeEnum.VFCMT.name(),
+ resource.getSystemName()));
+ handleCategories(context, data, resource, responseWrapper);
+ }
+ // Create the resource in the dataModel
+ if (responseWrapper.isEmpty()) {
+ Either<Resource, ResponseFormat> eitherCreateResponse = resourceBL.createResource(resource, null,
+ modifier, null, null);
+ if (eitherCreateResponse.isRight()) {
+ responseWrapper.setInnerElement(eitherCreateResponse.right().value());
+ } else {
+ resource = eitherCreateResponse.left().value();
+ }
+ }
+ Response response;
+ //Build Response and store it in the response Wrapper
+ if (responseWrapper.isEmpty()) {
+ response = buildCreatedResourceResponse(resource, context, responseWrapper);
+ }
+ else{
+ response = buildErrorResponse(responseWrapper.getInnerElement());
+ }
+ return response;
+
+ } catch (Exception e) {
+ final String message = "failed to create vfc monitoring template resource";
+ BeEcompErrorManager.getInstance().logBeRestApiGeneralError(message);
+ log.debug(message, e);
+ return buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
+ }
+ finally{
+ prepareAdditionalAudit(resource, additionalParams);
+
+ getComponentsUtils().auditExternalCrudApi(responseWrapper.getInnerElement(),
+ ComponentTypeEnum.RESOURCE.getValue(), AuditingActionEnum.CREATE_RESOURCE_BY_API.getName(), request,
+ additionalParams);
+ }
+ }
+
+ /**
+ * Changing the lifecycle of an asset
+ * @param jsonChangeInfo The description - request body
+ * @param assetType The requested asset type.Valid values are: resources / services (for VFCMT – use "resources")
+ * @param uuid The uuid of the desired resource to be changed
+ * @param lifecycleTransition The lifecycle operation to be performed on the asset.Valid values are:Checkin / Checkout / CERTIFICATION_REQUEST
+ * @param userId
+ * @return
+ */
+ @POST
+ @Path("/{assetType}/{uuid}/lifecycleState/{lifecycleOperation}")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ @ApiOperation(value = "Change Resource lifecycle State", httpMethod = "POST")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Resource state changed", response = AssetMetadata.class),
+ @ApiResponse(code = 400, message = "Missing “X-ECOMP-InstanceID” HTTP header - POL5001"),
+ @ApiResponse(code = 401, message = "ECOMP component should authenticate itself and to re-send again HTTP request with its Basic Authentication credentials - POL5002"),
+ @ApiResponse(code = 403, message = "ECOMP component is not authorized - POL5003"),
+ @ApiResponse(code = 404, message = "Error: Requested '%1' (uuid) resource was not found - SVC4063"),
+ @ApiResponse(code = 405, message = "Method Not Allowed : Invalid HTTP method type used ( PUT,DELETE,POST will be rejected) - POL4050"),
+ @ApiResponse(code = 500, message = "The GET request failed either due to internal SDC problem. ECOMP Component should continue the attempts to get the needed information - POL5000"),
+ @ApiResponse(code = 403, message = "Asset is already checked-out by another user - SVC4085"),
+ @ApiResponse(code = 403, message = "Asset is being edited by different user. Only one user can checkout and edit an asset on given time. The asset will be available for checkout after the other user will checkin the asset - SVC4080")})
+ @ApiImplicitParams({@ApiImplicitParam(required = true, dataType = "org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction", paramType = "body", value = "userRemarks - Short description (free text) about the asset version being changed")})
+ public Response changeResourceStateExternal(
+ @ApiParam(value = "Determines the format of the body of the request", required = true)@HeaderParam(value = Constants.CONTENT_TYPE_HEADER) String contenType,
+ @ApiParam(value = "The user id", required = true)@HeaderParam(value = Constants.USER_ID_HEADER) final String userId,
+ @ApiParam(value = "X-ECOMP-RequestID header", required = false)@HeaderParam(value = Constants.X_ECOMP_REQUEST_ID_HEADER) String requestId,
+ @ApiParam(value = "X-ECOMP-InstanceID header", required = true)@HeaderParam(value = Constants.X_ECOMP_INSTANCE_ID_HEADER) final String instanceIdHeader,
+ @ApiParam(value = "Determines the format of the body of the response", required = false)@HeaderParam(value = Constants.ACCEPT_HEADER) String accept,
+ @ApiParam(value = "The username and password", required = true)@HeaderParam(value = Constants.AUTHORIZATION_HEADER) String authorization,
+ @ApiParam(allowableValues = "checkout, checkin", required = true) @PathParam(value = "lifecycleOperation") final String lifecycleTransition,
+ @ApiParam(value = "id of component to be changed") @PathParam(value = "uuid") final String uuid,
+ @ApiParam(value = "validValues: resources / services ", allowableValues = ComponentTypeEnum.RESOURCE_PARAM_NAME + "," + ComponentTypeEnum.SERVICE_PARAM_NAME) @PathParam(value = "assetType") final String assetType,
+ String jsonChangeInfo) {
+
+ Response response = null;
+ EnumMap<AuditingFieldsKeysEnum, Object> additionalParams = new EnumMap<>(AuditingFieldsKeysEnum.class);
+
+ init(log);
+
+ String requestURI = request.getRequestURI();
+ String url = request.getMethod() + " " + requestURI;
+ log.debug("Start handle request of {}", url);
+
+ //get the business logic
+ ServletContext context = request.getSession().getServletContext();
+ LifecycleBusinessLogic businessLogic = getLifecycleBL(context);
+
+ Wrapper<ResponseFormat> responseWrapper = runValidations(assetType);
+ ComponentTypeEnum componentType = ComponentTypeEnum.findByParamName(assetType);
+ Component component = null;
+ Component responseObject = null;
+ User modifier = null;
+
+ try{
+ // Validate X-ECOMP-InstanceID Header
+ if (responseWrapper.isEmpty()) {
+ validateXECOMPInstanceIDHeader(instanceIdHeader, responseWrapper);
+ }
+
+ if (responseWrapper.isEmpty()) {
+ //get user
+ Either<User, ResponseFormat> eitherGetUser = getUser(request, userId);
+ if (eitherGetUser.isRight()) {
+ ResponseFormat responseFormat = eitherGetUser.right().value();
+ responseWrapper.setInnerElement(responseFormat);
+ return buildErrorResponse(responseFormat);
+ }
+ modifier = eitherGetUser.left().value();
+
+ //get the component id from the uuid
+ Either<Component, ResponseFormat> latestVersion = businessLogic.getLatestComponentByUuid(componentType, uuid);
+ if (latestVersion.isRight()) {
+ ResponseFormat responseFormat = latestVersion.right().value();
+ responseWrapper.setInnerElement(responseFormat);
+ return buildErrorResponse(responseFormat);
+ }
+ component = latestVersion.left().value();
+ String componentId = component.getUniqueId();
+
+ //validate the transition is valid
+ Either<LifeCycleTransitionEnum, ResponseFormat> validateEnum = validateTransitionEnum(lifecycleTransition, modifier);
+ if (validateEnum.isRight()) {
+ ResponseFormat responseFormat = validateEnum.right().value();
+ responseWrapper.setInnerElement(responseFormat);
+ return buildErrorResponse(responseFormat);
+ }
+ LifeCycleTransitionEnum transitionEnum = validateEnum.left().value();
+
+ //create changeInfo
+ LifecycleChangeInfoWithAction changeInfo = new LifecycleChangeInfoWithAction();
+ try {
+ if (jsonChangeInfo != null && !jsonChangeInfo.isEmpty()) {
+ ObjectMapper mapper = new ObjectMapper();
+ changeInfo = new LifecycleChangeInfoWithAction(mapper.readValue(jsonChangeInfo, LifecycleChangeInfoBase.class).getUserRemarks());
+ }
+ }
+ catch (Exception e) {
+ BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeInvalidJsonInput, "convertJsonToObject");
+ BeEcompErrorManager.getInstance().logBeInvalidJsonInput("convertJsonToObject");
+ log.debug("failed to convert from json {}", jsonChangeInfo, e);
+ ResponseFormat responseFormat = getComponentsUtils().getInvalidContentErrorAndAudit(modifier, AuditingActionEnum.CHECKOUT_RESOURCE);
+ responseWrapper.setInnerElement(responseFormat);
+ return buildErrorResponse(responseFormat);
+ }
+
+ //execute business logic
+ Either<? extends Component, ResponseFormat> actionResponse = businessLogic.changeComponentState(componentType, componentId, modifier, transitionEnum, changeInfo, false, true);
+ if (actionResponse.isRight()) {
+ log.info("failed to change resource state");
+ ResponseFormat responseFormat = actionResponse.right().value();
+ responseWrapper.setInnerElement(responseFormat);
+ return buildErrorResponse(responseFormat);
+ }
+
+ log.debug("change state successful !!!");
+ responseObject = actionResponse.left().value();
+ response = buildCreatedResourceResponse(responseObject, context, responseWrapper);
+ } else {
+ response = buildErrorResponse(responseWrapper.getInnerElement());
+ }
+
+ return response;
+ } catch (Exception e) {
+ BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeRestApiGeneralError, "Change Lifecycle State");
+ BeEcompErrorManager.getInstance().logBeRestApiGeneralError("Change Lifecycle State");
+ log.debug("change lifecycle state failed with exception", e);
+ ResponseFormat responseFormat = getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR);
+ responseWrapper.setInnerElement(responseFormat);
+ return buildErrorResponse(responseFormat);
+ } finally{
+ auditChnageLifecycleAction(additionalParams, responseWrapper, componentType, component, responseObject, modifier, userId);
+ }
+ }
+
+ private void prepareAdditionalAudit(Resource resource, EnumMap<AuditingFieldsKeysEnum, Object> additionalParams) {
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION, StringUtils.EMPTY);
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE, StringUtils.EMPTY);
+
+ if( resource != null ){
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, ImportUtils.Constants.FIRST_NON_CERTIFIED_VERSION);
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, resource.getName());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, resource.getUUID());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, resource.getInvariantUUID());
+ } else {
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, StringUtils.EMPTY);
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE, StringUtils.EMPTY);
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, StringUtils.EMPTY);
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, StringUtils.EMPTY);
+ }
+ }
+
+ private Response buildCreatedResourceResponse(Component resource, ServletContext context,
+ Wrapper<ResponseFormat> responseWrapper) throws IOException, JsonGenerationException, JsonMappingException {
+ ResponseFormat responseFormat;
+ Response response;
+ AssetMetadataConverter assetMetadataUtils = getAssetUtils(context);
+ Either<? extends AssetMetadata, ResponseFormat> resMetadata = assetMetadataUtils
+ .convertToSingleAssetMetadata(resource, request.getRequestURL().toString(),
+ true);
+ if (resMetadata.isRight()) {
+ log.debug("Asset conversion Failed");
+ responseFormat = resMetadata.right().value();
+ responseWrapper.setInnerElement(responseFormat);
+ response = buildErrorResponse(responseFormat);
+ }else{
+ final AssetMetadata assetData = resMetadata.left().value();
+ assetData.setToscaModelURL(null);
+
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.CREATED));
+ Object representation = RepresentationUtils.toRepresentation(assetData);
+ response = buildOkResponse(getComponentsUtils().getResponseFormat(ActionStatus.CREATED), representation);
+ }
+ return response;
+ }
+
+ private void handleCategories(ServletContext context, String data, Resource resource,
+ Wrapper<ResponseFormat> responseWrapper) {
+ try {
+ JSONParser parser = new JSONParser();
+ JSONObject jsonObj = (JSONObject) parser.parse(data);
+ String category = (String) jsonObj.get(CategoryTypeEnum.CATEGORY.getValue());
+ String subcategory = (String) jsonObj.get(CategoryTypeEnum.SUBCATEGORY.getValue());
+ if (Strings.isEmpty(category)) {
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
+ ActionStatus.COMPONENT_MISSING_CATEGORY, ComponentTypeEnum.RESOURCE.getValue()));
+ }
+ else if (Strings.isEmpty(subcategory)) {
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
+ ActionStatus.COMPONENT_MISSING_SUBCATEGORY));
+ }
+ if (responseWrapper.isEmpty()) {
+ ElementBusinessLogic elementLogic = getElementBL(context);
+ // get All Categories
+ Either<List<CategoryDefinition>, ActionStatus> allResourceCategories = elementLogic
+ .getAllResourceCategories();
+ // Error fetching categories
+ if (allResourceCategories.isRight()) {
+ responseWrapper.setInnerElement(
+ getComponentsUtils().getResponseFormat(allResourceCategories.right().value()));
+ } else {
+ addCategories(resource, category, subcategory, allResourceCategories, responseWrapper);
+ }
+ }
+ } catch (Exception e) {
+ log.debug("Exception occured in addCategories: {}", e.getMessage(), e);
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR));
+ }
+
+ }
+
+ private void addCategories(Resource resource, String category, String subcategory,
+ Either<List<CategoryDefinition>, ActionStatus> allResourceCategories,
+ Wrapper<ResponseFormat> responseWrapper) {
+ Optional<CategoryDefinition> optionalCategory =
+ // Stream of all the categories
+ allResourceCategories.left().value().stream()
+ // filter in only relevant category
+ .filter(e -> e.getName().equals(category))
+ // get the result
+ .findAny();
+ if (!optionalCategory.isPresent()) {
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
+ ActionStatus.COMPONENT_INVALID_CATEGORY, ComponentTypeEnum.RESOURCE.getValue()));
+ } else {
+ CategoryDefinition categoryDefinition = optionalCategory.get();
+
+ List<SubCategoryDefinition> subCaregories =
+ // Stream of all sub-categories of the relevant
+ // category
+ categoryDefinition.getSubcategories().stream()
+ // filter in only relevant sub-category
+ .filter(e -> e.getName().equals(subcategory))
+ // get the result
+ .collect(Collectors.toList());
+
+ if( subCaregories.isEmpty() ){
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(
+ ActionStatus.COMPONENT_INVALID_SUBCATEGORY, ComponentTypeEnum.RESOURCE.getValue()));
+ }
+ else{
+ categoryDefinition.setSubcategories(subCaregories);
+ resource.setCategories(Arrays.asList(categoryDefinition));
+ }
+
+ }
+ }
+
+
+
+
+ private void auditChnageLifecycleAction(EnumMap<AuditingFieldsKeysEnum, Object> additionalParams,
+ Wrapper<ResponseFormat> responseWrapper, ComponentTypeEnum componentType, Component component,
+ Component responseObject, User modifier, String userId) {
+ if (modifier!=null){
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, modifier.getFullName());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, modifier.getUserId());
+ } else {
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_NAME, "");
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_MODIFIER_UID, userId);
+ }
+
+ if (component!=null){
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, component.getName());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION, component.getVersion());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE, component.getLifecycleState().name());
+ } else {
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, "");
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_VERSION, "");
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_PREV_STATE, "");
+ }
+
+ if (responseObject!=null){
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, responseObject.getVersion());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, responseObject.getUUID());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, responseObject.getInvariantUUID());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE,responseObject.getLifecycleState().name());
+ } else {
+ if (component!=null){
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, component.getVersion());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, component.getUUID());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, component.getInvariantUUID());
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE,component.getLifecycleState().name());
+ } else {
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_VERSION, "");
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_SERVICE_INSTANCE_ID, "");
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_INVARIANT_UUID, "");
+ additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_CURR_STATE,"");
+ }
+ }
+
+ getComponentsUtils().auditExternalCrudApi(responseWrapper.getInnerElement(),
+ componentType.getValue(), AuditingActionEnum.CHANGE_LIFECYCLE_BY_API.getName(), request,
+ additionalParams);
+ }
+
+ private Wrapper<ResponseFormat> runValidations(final String assetType) {
+ Wrapper<ResponseFormat> responseWrapper = new Wrapper<>();
+
+ // Validate X-ECOMP-InstanceID Header
+ if (responseWrapper.isEmpty()) {
+ String instanceId = request.getHeader(Constants.X_ECOMP_INSTANCE_ID_HEADER);
+ validateXECOMPInstanceIDHeader(instanceId,responseWrapper);
+ }
+ // Validate USER_ID Header
+ if (responseWrapper.isEmpty()) {
+ validateHttpCspUserIdHeader(request.getHeader(Constants.USER_ID_HEADER),responseWrapper);
+ }
+ // Validate assetType
+ if (responseWrapper.isEmpty()) {
+ if( !AssetTypeEnum.RESOURCES.getValue().equals(assetType) && !AssetTypeEnum.SERVICES.getValue().equals(assetType)){
+ responseWrapper.setInnerElement(getComponentsUtils().getResponseFormat(ActionStatus.RESTRICTED_OPERATION));
+ }
+ }
+
+ return responseWrapper;
+ }
+
+ private Either<LifeCycleTransitionEnum, ResponseFormat> validateTransitionEnum(final String lifecycleTransition, User user) {
+ LifeCycleTransitionEnum transitionEnum = LifeCycleTransitionEnum.CHECKOUT;
+ try {
+ transitionEnum = LifeCycleTransitionEnum.getFromDisplayName(lifecycleTransition);
+ } catch (IllegalArgumentException e) {
+ log.info("state operation is not valid. operations allowed are: {}", LifeCycleTransitionEnum.valuesAsString());
+ ResponseFormat error = getComponentsUtils().getInvalidContentErrorAndAudit(user, AuditingActionEnum.CHECKOUT_RESOURCE);
+ return Either.right(error);
+ }
+ return Either.left(transitionEnum);
+ }
+
+}
import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.ComponentInstanceInput;
-import org.openecomp.sdc.be.model.ComponentInstanceProperty;
-import org.openecomp.sdc.be.model.DataTypeDefinition;
-import org.openecomp.sdc.be.model.GroupDefinition;
-import org.openecomp.sdc.be.model.GroupInstance;
-import org.openecomp.sdc.be.model.GroupProperty;
-import org.openecomp.sdc.be.model.InputDefinition;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-import org.openecomp.sdc.be.model.RequirementAndRelationshipPair;
-import org.openecomp.sdc.be.model.RequirementCapabilityRelDef;
-import org.openecomp.sdc.be.model.RequirementDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.Service;
+import org.openecomp.sdc.be.model.*;
import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
import org.openecomp.sdc.be.model.category.CategoryDefinition;
import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
private CapabiltyRequirementConvertor capabiltyRequirementConvertor = CapabiltyRequirementConvertor.getInstance();
private PropertyConvertor propertyConvertor = PropertyConvertor.getInstance();
-
+
private static Logger log = LoggerFactory.getLogger(ToscaExportHandler.class.getName());
public static final String TOSCA_VERSION = "tosca_simple_yaml_1_0";
public static final String VF_MODULE_TYPE_BASE = "Base";
public static final String VF_MODULE_TYPE_EXPANSION = "Expansion";
public static final List<Map<String, Map<String, String>>> DEFAULT_IMPORTS = ConfigurationManager.getConfigurationManager().getConfiguration().getDefaultImports();
-
-
-
+
+
+
public Either<ToscaRepresentation, ToscaError> exportComponent(Component component) {
Either<ToscaTemplate, ToscaError> toscaTemplateRes = convertToToscaTemplate(component);
if (toscaTemplateRes.isRight()) {
return Either.right(toscaTemplateRes.right().value());
}
-
+
ToscaTemplate toscaTemplate = toscaTemplateRes.left().value();
ToscaRepresentation toscaRepresentation = this.createToscaRepresentation(toscaTemplate);
return Either.left(toscaRepresentation);
log.debug("convertToToscaTemplate - failed to get Default Imports section from configuration");
return Either.right(ToscaError.GENERAL_ERROR);
}
-
+
ToscaTemplate toscaTemplate = new ToscaTemplate(TOSCA_VERSION);
toscaTemplate.setImports(new ArrayList<>(DEFAULT_IMPORTS));
Map<String, ToscaNodeType> nodeTypes = new HashMap<>();
Either<ToscaTemplate, ToscaError> toscaTemplateRes = convertInterfaceNodeType(component, toscaTemplate, nodeTypes);
if (toscaTemplateRes.isRight()) {
return Either.right(toscaTemplateRes.right().value());
- }
-
+ }
+
toscaTemplate = toscaTemplateRes.left().value();
ToscaRepresentation toscaRepresentation = this.createToscaRepresentation(toscaTemplate);
return Either.left(toscaRepresentation);
ToscaRepresentation toscaRepresentation = new ToscaRepresentation();
toscaRepresentation.setMainYaml(sb.toString());
toscaRepresentation.setDependencies(toscaTemplate.getDependencies());
-
+
return toscaRepresentation;
}
-
+
public Either<ToscaTemplate, ToscaError> getDependencies(Component component) {
ToscaTemplate toscaTemplate = new ToscaTemplate(null);
Either<ImmutablePair<ToscaTemplate, Map<String, Component>>, ToscaError> fillImports = fillImports(component,
log.debug("convertToToscaTemplate - failed to get Default Imports section from configuration");
return Either.right(ToscaError.GENERAL_ERROR);
}
-
+
log.trace("start tosca export for {}", component.getUniqueId());
ToscaTemplate toscaTemplate = new ToscaTemplate(TOSCA_VERSION);
case SERVICE:
toscaMetadata.setType(component.getComponentType().getValue());
if (!isInstance) {
- // DE268546
+ // DE268546
toscaMetadata.setServiceEcompNaming(((Service)component).isEcompGeneratedNaming());
toscaMetadata.setEcompGeneratedNaming(((Service)component).isEcompGeneratedNaming());
- toscaMetadata.setNamingPolicy(((Service)component).getNamingPolicy());
+ toscaMetadata.setNamingPolicy(((Service)component).getNamingPolicy());
}
break;
default:
private Either<ImmutablePair<ToscaTemplate, Map<String, Component>>, ToscaError> fillImports(Component component,
ToscaTemplate toscaTemplate) {
-
+
if(null == DEFAULT_IMPORTS) {
log.debug("convertToToscaTemplate - failed to get Default Imports section from configuration");
return Either.right(ToscaError.GENERAL_ERROR);
}
-
+
Map<String, Component> componentCache = new HashMap<>();
if (!ToscaUtils.isAtomicType(component)) {
List<ComponentInstance> componentInstances = component.getComponentInstances();
if (componentInstances != null && !componentInstances.isEmpty()) {
-
- List<Map<String, Map<String, String>>> additionalImports =
+
+ List<Map<String, Map<String, String>>> additionalImports =
toscaTemplate.getImports() == null ? new ArrayList<>(DEFAULT_IMPORTS) : new ArrayList<>(toscaTemplate.getImports());
-
+
List<Triple<String, String, Component>> dependecies = new ArrayList<>();
Map<String, ArtifactDefinition> toscaArtifacts = component.getToscaArtifacts();
ArtifactDefinition artifactDefinition = toscaArtifacts.get(ToscaExportHandler.ASSET_TOSCA_TEMPLATE);
-
+
Map<String, Map<String, String>> importsListMember = new HashMap<>();
Map<String, String> interfaceFiles = new HashMap<>();
interfaceFiles.put(IMPORTS_FILE_KEY, getInterfaceFilename(artifactDefinition.getArtifactName()));
keyNameBuilder.append("-interface");
importsListMember.put(keyNameBuilder.toString(), interfaceFiles);
additionalImports.add(importsListMember);
-
+
componentInstances.forEach(ci -> {
createDependency(componentCache, additionalImports, dependecies, ci);
});
}
} else {
log.debug("currently imports supported for VF and service only");
- }
+ }
return Either.left(new ImmutablePair<ToscaTemplate, Map<String, Component>>(toscaTemplate, componentCache));
}
imports.add(importsListMember);
dependecies.add(new ImmutableTriple<String, String, Component>(artifactName,
artifactDefinition.getEsId(), fetchedComponent));
-
+
if(!ToscaUtils.isAtomicType(componentRI)) {
importsListMember = new HashMap<>();
Map<String, String> interfaceFiles = new HashMap<>();
//Extracted to method for code reuse
return convertReqCapAndTypeName(component, toscaNode, nodeTypes, toscaNodeType, dataTypes);
}
-
+
private Either<ToscaTemplate, ToscaError> convertInterfaceNodeType(Component component, ToscaTemplate toscaNode,
Map<String, ToscaNodeType> nodeTypes) {
log.debug("start convert node type for {}", component.getUniqueId());
}
Map<String, DataTypeDefinition> dataTypes = dataTypesEither.left().value();
-
+
List<InputDefinition> inputDef = component.getInputs();
Map<String, ToscaProperty> inputs = new HashMap<>();
toscaNodeType = requirements.left().value();
log.debug("Requirements converted for {}", component.getUniqueId());
-
+
String toscaResourceName;
switch (component.getComponentType()) {
case RESOURCE:
nodeTemplate.setType(componentInstance.getToscaComponentName());
Either<ToscaNodeTemplate, ToscaError> requirements = convertComponentInstanceRequirements(component,
- componentInstance, component.getComponentInstancesRelations(), nodeTemplate);
+ componentInstance, component.getComponentInstancesRelations(), nodeTemplate, componentCache.get(componentInstance.getComponentUid()));
if (requirements.isRight()) {
convertNodeTemplatesRes = Either.right(requirements.right().value());
break;
Component componentOfInstance = componentCache.get(componentInstance.getComponentUid());
nodeTemplate.setMetadata(convertMetadata(componentOfInstance, true, componentInstance));
- Either<ToscaNodeTemplate, ToscaError> capabilties = capabiltyRequirementConvertor
+ Either<ToscaNodeTemplate, ToscaError> capabilities = capabiltyRequirementConvertor
.convertComponentInstanceCapabilties(componentInstance, dataTypes, nodeTemplate);
- if (capabilties.isRight()) {
+ if (capabilities.isRight()) {
convertNodeTemplatesRes = Either.right(requirements.right().value());
break;
}
- log.debug("Component instance Capabilties converted for instance {}", instanceUniqueId);
+ log.debug("Component instance Capabilities converted for instance {}", instanceUniqueId);
- nodeTemplate = capabilties.left().value();
+ nodeTemplate = capabilities.left().value();
Map<String, Object> props = new HashMap<>();
if (componentOfInstance.getComponentType() == ComponentTypeEnum.RESOURCE) {
} else {
Object value = null;
String type = gp.getType();
-
+
switch (type) {
case "integer":
if (gp.getValue() != null) {
value = Boolean.valueOf(gp.getValue());
}
break;
-
+
default:
value = gp.getValue();
break;
}
toscaNodeType.setDescription(component.getDescription()); // or name??
} else {
- String derivedFrom = null != component.getDerivedFromGenericType()? component.getDerivedFromGenericType() : "tosca.nodes.Root";
+ String derivedFrom = null != component.getDerivedFromGenericType()? component.getDerivedFromGenericType() : "tosca.nodes.Root";
toscaNodeType.setDerived_from(derivedFrom);
}
return toscaNodeType;
}
-
+
+ //TODO save the capability(type or name) info on relation data
private Either<ToscaNodeTemplate, ToscaError> convertComponentInstanceRequirements(Component component,
- ComponentInstance componentInstance, List<RequirementCapabilityRelDef> relations,
- ToscaNodeTemplate nodeTypeTemplate) {
+ ComponentInstance componentInstance, List<RequirementCapabilityRelDef> relations,
+ ToscaNodeTemplate nodeTypeTemplate, Component originComponent) {
List<ComponentInstance> instancesList = component.getComponentInstances();
List<Map<String, ToscaTemplateRequirement>> toscaRequirements = new ArrayList<>();
- Map<String, List<RequirementDefinition>> reqMap = componentInstance.getRequirements();
+ Map<String, List<RequirementDefinition>> reqMap = originComponent.getRequirements();
- relations.stream().filter(p -> componentInstance.getUniqueId().equals(p.getFromNode())).forEach(req -> {
+ relations.stream().filter(p -> componentInstance.getUniqueId().equals(p.getFromNode())).forEach(rel -> {
ComponentInstance toComponentInstance = instancesList.stream()
- .filter(i -> req.getToNode().equals(i.getUniqueId())).findFirst().orElse(null);
+ .filter(i -> rel.getToNode().equals(i.getUniqueId())).findFirst().orElse(null);
if (toComponentInstance == null) {
- log.debug("Faild to create relation between node {} to node {}", componentInstance.getName(),
- req.getToNode());
+ log.debug("Failed to find relation between node {} to node {}", componentInstance.getName(),
+ rel.getToNode());
return;
-
}
- RequirementAndRelationshipPair reqAndRelationshopPair = req.getRelationships().get(0);
+ RequirementAndRelationshipPair reqAndRelationshipPair = rel.getRelationships().get(0);
ToscaTemplateRequirement toscaRequirement = new ToscaTemplateRequirement();
- toscaRequirement.setRelationship(reqAndRelationshopPair.getRelationship().getType());
toscaRequirement.setNode(toComponentInstance.getName());
Optional<RequirementDefinition> findAny = reqMap.values().stream().flatMap(e -> e.stream())
- .filter(e -> e.getName().equals(reqAndRelationshopPair.getRequirement())).findAny();
+ .filter(e -> e.getName().equals(reqAndRelationshipPair.getRequirement())).findAny();
if (findAny.isPresent()) {
- RequirementDefinition regDefinition = findAny.get();
- toscaRequirement.setCapability(regDefinition.getCapability());
+ RequirementDefinition reqDefinition = findAny.get();
+ toscaRequirement.setCapability(reqDefinition.getCapability());
+ toscaRequirement.setRelationship(reqDefinition.getRelationship());
} else {
- log.debug("Faild to find relation between node {} to node {}", componentInstance.getName(),
- req.getToNode());
+ // reqMap represents calculated requirements! if not found there, export data directly from the relation definition
+ log.debug("Failed to find requirement {} definition for node {}", reqAndRelationshipPair.getRequirement(), componentInstance.getName());
return;
}
- Map<String, ToscaTemplateRequirement> reqmap = new HashMap<String, ToscaTemplateRequirement>();
- reqmap.put(reqAndRelationshopPair.getRequirement(), toscaRequirement);
- toscaRequirements.add(reqmap);
+ Map<String, ToscaTemplateRequirement> toscaReqMap = new HashMap<>();
+ toscaReqMap.put(reqAndRelationshipPair.getRequirement(), toscaRequirement);
+ toscaRequirements.add(toscaReqMap);
});
return Either.left(nodeTypeTemplate);
}
+
private Either<SubstitutionMapping, ToscaError> convertCapabilities(Component component, SubstitutionMapping substitutionMapping, Map<String, DataTypeDefinition> dataTypes) {
Map<String, String[]> toscaCapabilities = capabiltyRequirementConvertor.convertSubstitutionMappingCapabilities(component, dataTypes);
-
+
if (!toscaCapabilities.isEmpty()) {
substitutionMapping.setCapabilities(toscaCapabilities);
}
<init-param>
<param-name>swagger.api.title</param-name>
- <param-value>jersey1InternalAPIs</param-value>
+ <param-value>Internal API's</param-value>
</init-param>
<init-param>
</servlet>
<servlet>
- <servlet-name>ExternalAndDistribution-APIs-Configurations</servlet-name>
+ <servlet-name>External and Distribution API's</servlet-name>
<servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</servlet-class>
<init-param>
<init-param>
<param-name>swagger.api.title</param-name>
- <param-value>jersey2DistributionAndExternalAPIs</param-value>
+ <param-value>DistributionAndExternalAPIs</param-value>
</init-param>
<init-param>
@Override
protected Application configure() {
- ResourceConfig resourceConfig = new ResourceConfig(AssetsDataServlet.class);
+ ResourceConfig resourceConfig = new ResourceConfig(CrudExternalServlet.class);
forceSet(TestProperties.CONTAINER_PORT, "0");
resourceConfig.register(new AbstractBinder() {
<async-supported>true</async-supported>
<init-param>
<param-name>mimeTypes</param-name>
- <param-value>text/html,text/plain,text/css,application/javascript,application/json</param-value>
+ <param-value>*/*</param-value>
</init-param>
<init-param>
<param-name>methods</param-name>
}
protected String buildGroupInstanceName(String instanceName, String groupName) {
- return ValidationUtils.normaliseComponentName(instanceName) + ".." + groupName;
+ return ValidationUtils.normalizeComponentInstanceName(instanceName) + ".." + groupName;
}
protected String generateCustomizationUUID() {
}
private String buildGroupInstanceLogicalName(String instanceName, String groupName) {
- return instanceName + ".." + groupName;
+ return ValidationUtils.normalizeComponentInstanceName(instanceName) + ".." + groupName;
}
/**
asJsonArray.forEach(e -> {
Object convertedValue = null;
if (isScalarF) {
- String jsonAsString = e.toString();
- log.debug("try to convert scalar value {}", jsonAsString);
- if ( jsonAsString == null) {
- convertedValue = null;
+ if (e.isJsonPrimitive()) {
+ String jsonAsString = e.getAsString();
+ log.debug("try to convert scalar value {}", jsonAsString);
+ convertedValue = innerConverterFinal.convertToToscaValue(jsonAsString, innerType,
+ dataTypes);
} else {
- JsonElement singleElement = jsonParser.parse(jsonAsString);
- if (singleElement.isJsonPrimitive()) {
- convertedValue = innerConverterFinal.convertToToscaValue(jsonAsString, innerType,
- dataTypes);
- } else {
- convertedValue = handleComplexJsonValue(singleElement);
- }
+ convertedValue = handleComplexJsonValue(e);
}
+
} else {
JsonObject asJsonObject = e.getAsJsonObject();
Set<Entry<String, JsonElement>> entrySet = asJsonObject.entrySet();
resourceInstance.setComponentUid(respurceUid);
resourceInstance.setCreationTime(System.currentTimeMillis());
resourceInstance.setModificationTime(System.currentTimeMillis());
- resourceInstance.setNormalizedName(normaliseComponentName(name));
+ resourceInstance.setNormalizedName(normaliseComponentInstanceName(name));
// Map<String, RequirementInstance> requirements = new HashMap<String,
// RequirementInstance>();
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
+ <fileset>
+ <directory>${basedir}/node_modules</directory>
+ </fileset>
</filesets>
</configuration>
</execution>
+ <!-- <execution>
+ <id>clean.dist.folder</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>${basedir}/node_modules</directory>
+ </fileset>
+ <fileset>
+ <directory>${basedir}/dist</directory>
+ </fileset>
+ </filesets>
+ </configuration>
+ </execution> -->
</executions>
</plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.4</version>
-
+
+ <configuration>
+ <installDirectory>${project.parent.basedir}</installDirectory>
+ </configuration>
+
<executions>
-
<execution>
<id>install node and npm</id>
<goals>
<npmVersion>3.10.10</npmVersion>
</configuration>
</execution>
+
+ <execution>
+ <id>npm set progress off</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>set progress=false</arguments>
+ </configuration>
+ </execution>
<execution>
<id>npm install</id>
ng1appModule.value('PropertyNameValidationPattern', /^[a-zA-Z0-9_:-]{1,50}$/);// DE210977
ng1appModule.value('TagValidationPattern', /^[\s\w_.-]{1,50}$/);
ng1appModule.value('VendorValidationPattern', /^[\x20-\x21\x23-\x29\x2B-\x2E\x30-\x39\x3B\x3D\x40-\x5B\x5D-\x7B\x7D-\xFF]{1,25}$/);
+ng1appModule.value('VendorNameValidationPattern', /^[\x20-\x21\x23-\x29\x2B-\x2E\x30-\x39\x3B\x3D\x40-\x5B\x5D-\x7B\x7D-\xFF]{1,60}$/);
+ng1appModule.value('VendorModelNumberValidationPattern', /^[\x20-\x21\x23-\x29\x2B-\x2E\x30-\x39\x3B\x3D\x40-\x5B\x5D-\x7B\x7D-\xFF]{1,65}$/);
ng1appModule.value('ContactIdValidationPattern', /^[\s\w-]{1,50}$/);
ng1appModule.value('UserIdValidationPattern', /^[\s\w-]{1,50}$/);
ng1appModule.value('ProjectCodeValidationPattern', /^[\s\w-]{5,50}$/);
import {GraphColors} from "app/utils/constants";
+import constant = require("lodash/constant");
+import {ImagesUrl} from "app/utils/constants";
+import {AngularJSBridge} from "app/services/angular-js-bridge-service";
/**
* Created by obarda on 12/18/2016.
*/
type: "default",
single: false,
nodeTypeNames: ["basic-node"],
- imageUrl: '/assets/styles/images/resource-icons/' + 'canvasPlusIcon.png',
+ imageUrl: AngularJSBridge.getAngularConfig().imagesPath + ImagesUrl.CANVAS_PLUS_ICON,
lineWidth: 2,
lineStyle: 'dashed'
type: "default",
single: false,
nodeTypeNames: ["basic-small-node"],
- imageUrl: '/assets/styles/images/resource-icons/' + 'canvasPlusIcon.png',
+ imageUrl: AngularJSBridge.getAngularConfig().imagesPath + ImagesUrl.CANVAS_PLUS_ICON,
lineWidth: 2,
lineStyle: 'dashed'
}
type: "default",
single: false,
nodeTypeNames: ["ucpe-cp-node"],
- imageUrl: '/assets/styles/images/resource-icons/' + 'canvasPlusIcon.png',
+ imageUrl: AngularJSBridge.getAngularConfig().imagesPath + ImagesUrl.CANVAS_PLUS_ICON,
lineWidth: 2,
lineStyle: 'dashed'
}
</div>
<div class="add-map-item" data-ng-class="{'schema-data-type':isSchemaTypeDataType}">
<div class="add-btn" data-tests-id="add-map-item"
- data-ng-class="{'disabled': readOnly || !schemaProperty.type || mapKeys.indexOf('')>-1}" data-ng-click="addMapItemFields()">Add</div>
+ data-ng-class="{'disabled': readOnly || !schemaProperty.type || mapKeys.indexOf('')>-1 || !isMapKeysUnique}" data-ng-click="addMapItemFields()">Add</div>
</div>
</div>
export interface ITypeMapScope extends ng.IScope {
parentFormObj:ng.IFormController;
schemaProperty:SchemaProperty;
+ isMapKeysUnique:boolean;
isSchemaTypeDataType:boolean;
valueObjRef:any;
mapKeys:Array<string>;//array of map keys
link = (scope:ITypeMapScope, element:any, $attr:any) => {
scope.MapKeyValidationPattern = this.MapKeyValidationPattern;
+ scope.isMapKeysUnique = true;
//reset valueObjRef and mapKeys when schema type is changed
scope.$watchCollection('schemaProperty.type', (newData:any):void => {
let existsKeyIndex = Object.keys(scope.valueObjRef).indexOf(newKey);
if (existsKeyIndex > -1 && existsKeyIndex != index) {
scope.parentFormObj[fieldName].$setValidity('keyExist', false);
+ scope.isMapKeysUnique = false;
} else {
scope.parentFormObj[fieldName].$setValidity('keyExist', true);
+ scope.isMapKeysUnique = true;
if (!scope.parentFormObj[fieldName].$invalid) {
//To preserve the order of the keys, delete each one and recreate
let newObj = {};
export * from './models/properties-inputs/property-fe-model';
export * from './models/properties-inputs/property-fe-map';
export * from './models/properties-inputs/derived-fe-property';
+export * from './models/properties-inputs/property-declare-api-model';
+export * from './models/properties-inputs/property-input-detail';
export * from './models/properties-inputs/input-fe-model';
export * from './models/properties-inputs/simple-flat-property';
export * from './models/data-types-map';
* Created by rc2122 on 6/1/2017.
*/
export class InputBEModel extends PropertyBEModel {
- properties: Array<ComponentInstanceModel>;
+
+ inputPath: string;
inputs: Array<ComponentInstanceModel>;
instanceUniqueId: string;
+ ownerId: string;
propertyId: string;
+ properties: Array<ComponentInstanceModel>;
constructor(input?: InputBEModel) {
super(input);
this.propertyId = input.propertyId;
this.properties = input.properties;
this.inputs = input.inputs;
+ this.ownerId = input.ownerId;
+ this.inputPath = input.inputPath;
}
-
-
public toJSON = (): any => {
};
export class InputFEModel extends InputBEModel {
isSimpleType: boolean;
- relatedProperty: SimpleRelatedProperty;
+ relatedPropertyValue: any;
+ relatedPropertyName: string;
constructor(input?: InputBEModel) {
super(input);
if (input) {
this.isSimpleType = PROPERTY_DATA.SIMPLE_TYPES.indexOf(this.type) > -1;
- this.relatedProperty = new SimpleRelatedProperty(input);
+ let relatedProperty = input.properties && input.properties[0] || input.inputs && input.inputs[0];
+ if (relatedProperty) {
+ this.relatedPropertyValue = relatedProperty.value;
+ this.relatedPropertyName = relatedProperty.name;
+ }
}
}
-}
-
-export class SimpleRelatedProperty {
- name: string;
- value: string;
- nestedPath: string;
-
- constructor(input: InputBEModel) {
- if(!input.instanceUniqueId){
- return;
- }
- //Check if input is on DerivedFEProperty level, in which case we want to set a nested path
- let instanceName = input.instanceUniqueId.split('.').pop();
- if (input.inputPath && input.inputPath.indexOf('#') > -1
- && instanceName + "_" + input.inputPath.split('#').join('_') == input.name) { //Ignore inputPath for a complex child on VL that was declared within VF, that was then dragged into service. For that case, input.name will be missing the vl name, so we'll know to ignore the path and fall into else case.
- this.nestedPath = input.inputPath;
- this.name = input.inputPath.substring(0, input.inputPath.indexOf('#'));
- } else { //PropertyFEModel level. Can parse input name to get prop name.
- let propNameLength = input.name.length - instanceName.length + 1;
- this.name = input.name.substr(instanceName.length + 1, propNameLength);
- }
-
- //In declare response, input contains nested property, and we need to extract value so we can update our prop.
- let nestedProperty = input.properties && input.properties[0] || input.inputs && input.inputs[0];
- if (nestedProperty) {
- this.value = nestedProperty.value;
- }
- }
-};
+}
\ No newline at end of file
-import { SchemaPropertyGroupModel, SchemaProperty } from "../aschema-property";
+import { PropertyInputDetail, SchemaPropertyGroupModel, SchemaProperty } from "app/models";
import { PROPERTY_DATA, PROPERTY_TYPES } from 'app/utils';
export enum DerivedPropertyType {
SIMPLE,
export class PropertyBEModel {
defaultValue: string;
+ definition: boolean;
description: string;
fromDerived: boolean;
+ getInputValues: Array<PropertyInputDetail>
name: string;
parentUniqueId: string;
password: boolean;
type: string;
uniqueId: string;
value: string;
- definition: boolean;
- inputPath: string;
- propertiesName: string;
- ownerId: string;
- input: PropertyBEModel;
- constructor(property?: PropertyBEModel, childProperty?:PropertyBEModel) {
+ constructor(property?: PropertyBEModel) {
if (property) {
this.defaultValue = property.defaultValue;
this.description = property.description;
this.uniqueId = property.uniqueId;
this.value = property.value ? property.value : property.defaultValue;
this.definition = property.definition;
- this.ownerId = property.ownerId;
- if (property.inputPath) {
- this.inputPath = property.inputPath;
- }
- }
- if (childProperty) {
- this.input = childProperty;
- this.propertiesName = childProperty.propertiesName;
- } else {
- this.propertiesName = this.name;
+ this.getInputValues = property.getInputValues;
}
if (!this.schema || !this.schema.property) {
--- /dev/null
+'use strict';
+import { PropertyBEModel, PropertyFEModel, DerivedFEProperty } from "../../models";
+
+
+export class PropertyDeclareAPIModel extends PropertyBEModel{
+ input: PropertyBEModel;
+ propertiesName: string;
+
+
+ constructor(property: PropertyFEModel, childProperty?: DerivedFEProperty) {
+ super(property);
+ if (childProperty) {
+ this.input = childProperty;
+ this.propertiesName = childProperty.propertiesName;
+ }
+ }
+
+}
export class PropertyFEModel extends PropertyBEModel {
expandedChildPropertyId: string;
- flattenedChildren: Array<DerivedFEProperty>; //[parentPath] : Array<DerivedFEProp>
+ flattenedChildren: Array<DerivedFEProperty>;
isDeclared: boolean;
isDisabled: boolean;
isSelected: boolean;
isSimpleType: boolean; //for convenience only - we can really just check if derivedDataType == derivedPropertyTypes.SIMPLE to know if the prop is simple
+ propertiesName: string;
uniqueId: string;
valueObj: any; //this is the only value we relate to in the html templates
derivedDataType: DerivedPropertyType;
this.setNonDeclared();
this.derivedDataType = this.getDerivedPropertyType();
this.flattenedChildren = [];
+ this.propertiesName = this.name;
}
//TODO: handle this.derivedDataType == DerivedPropertyType.MAP
if (this.derivedDataType == DerivedPropertyType.LIST && this.schema.property.type == PROPERTY_TYPES.JSON) {
try {
- return JSON.stringify(this.valueObj.map(item => JSON.parse(item)));
+ return JSON.stringify(this.valueObj.map(item => (typeof item == 'string')? JSON.parse(item) : item));
} catch (e){}
}
}
public setNonDeclared = (childPath?: string): void => {
- if (!childPath) { //declaring a child prop
+ if (!childPath) { //un-declaring a child prop
this.isDeclared = false;
} else {
let childProp: DerivedFEProperty = this.flattenedChildren.find(child => child.propertiesName == childPath);
this.isDeclared = true;
} else {
let childProp: DerivedFEProperty = this.flattenedChildren.find(child => child.propertiesName == childNameToDeclare);
+ if (!childProp) { console.log("ERROR: Unabled to find child: " + childNameToDeclare, this); return; }
childProp.isSelected = false;
childProp.isDeclared = true;
}
--- /dev/null
+export class PropertyInputDetail {
+ inputId: string;
+ inputName: string;
+ inputPath: string;
+ list: boolean;
+}
border: 1px dotted;
border-right: none;
border-bottom: none;
+ width: 100%;
}
.node-item:last-child {
<loader [display]="isLoading" size="large" [relative]="false"></loader>
<div class="table-header">
<div class="table-cell col1">Property Name</div>
+ <div class="table-cell col3">From Instance</div>
<div class="table-cell col2">Type</div>
- <div class="table-cell col3">ES</div>
<div class="table-cell valueCol">Value</div>
</div>
<div class="table-body">
class="property-description-icon sprite-new show-desc"
tooltip="{{input.description}}" tooltipDelay="0"></span>
</div>
+ <div class="table-cell col3">
+ <div class="inner-cell-div" tooltip="{{instanceNamesMap[input.instanceUniqueId]}}">
+ <span>{{instanceNamesMap[input.instanceUniqueId]}}</span>
+ </div>
+ </div>
<div class="table-cell col2">
<div class="inner-cell-div" tooltip="{{input.type | contentAfterLastDot}}">
<span>{{input.type | contentAfterLastDot}}</span>
</div>
</div>
- <div class="table-cell col3">{{input.schema && input.schema.property && input.schema.property.type ? (input.schema.property.type | contentAfterLastDot) : ''}}</div>
<div class="table-cell valueCol input-value-col" [class.inner-table-container]="input.childrenProperties || !input.isSimpleType">
<dynamic-element class="value-input"
*ngIf="input.isSimpleType"
[readonly]="readonly">
</dynamic-element>
<div class="delete-button-container">
- <span *ngIf="!input.ownerId && !readonly" class="sprite-new delete-btn" (click)="openDeleteModal(input)"></span>
+ <span *ngIf="input.instanceUniqueId && !readonly" class="sprite-new delete-btn" (click)="openDeleteModal(input)"></span>
</div>
</div>
export class InputsTableComponent {
@Input() inputs: Array<InputFEModel>;
+ @Input() instanceNamesMap: Map<string, string>;
@Input() readonly:boolean;
@Input() isLoading:boolean;
@Output() inputValueChanged: EventEmitter<any> = new EventEmitter<any>();
<ng-container *ngIf="!property.isDeclared">
<a *ngIf="(propType == derivedPropertyTypes.LIST || propType == derivedPropertyTypes.MAP) && !property.isChildOfListOrMap" class="property-icon add-item" (click)="createNewChildProperty();" [ngClass]="{'disabled':readonly}">Add value to list</a>
<span *ngIf="property.isChildOfListOrMap" (click)="deleteItem.emit(property);" class="property-icon sprite-new delete-item-icon" [ngClass]="{'disabled':readonly}"></span>
- <span *ngIf="!isPropertyFEModel && (propType == derivedPropertyTypes.COMPLEX || ((propType == derivedPropertyTypes.LIST || propType == derivedPropertyTypes.MAP) && hasChildren()))" (click)="expandChildById(propPath)" class="property-icon sprite-new round-expand-icon" [class.open]="propPath == expandedChildId"></span>
+ <span *ngIf="!isPropertyFEModel && (propType == derivedPropertyTypes.COMPLEX || ((propType == derivedPropertyTypes.LIST || propType == derivedPropertyTypes.MAP) && hasChildren()))" (click)="expandChildById(propPath)" class="property-icon sprite-new round-expand-icon" [class.open]="expandedChildId.indexOf(propPath) == 0"></span>
</ng-container>
</div>
<div class="table-cell valueCol">Value</div>
</div>
<div class="table-body">
- <div class="no-data" *ngIf="!feInstancesNames || !feInstancesNames.length">No data to display</div>
+ <div class="no-data" *ngIf="!fePropertiesMap || !(fePropertiesMap | keys).length">No data to display</div>
- <ng-container *ngFor="let instanceName of feInstancesNames; trackBy:instanceName">
- <div class="table-rows-header white-sub-header">{{instanceName | contentAfterLastDot}}</div>
+ <ng-container *ngFor="let instanceId of fePropertiesMap | keys; trackBy:instanceId">
+ <div class="table-rows-header white-sub-header">{{feInstanceNamesMap[instanceId]}}</div>
<div class="table-row"
- *ngFor="let property of fePropertiesMap[instanceName] | searchFilter:'name':searchTerm; trackBy:property?.name"
- (click)="onClickPropertyRow(property, instanceName, $event)"
+ *ngFor="let property of fePropertiesMap[instanceId] | searchFilter:'name':searchTerm; trackBy:property?.name"
+ (click)="onClickPropertyRow(property, instanceId, $event)"
[ngClass]="{'selected': selectedPropertyId && selectedPropertyId === property.name }">
<div class="table-cell col1" [ngClass]="{'filtered':property.name === propertyNameSearchText}" [class.round-checkbox]="property.isDeclared">
[readonly]="readonly"
(valueChanged)="propValueChanged(property);"
(expandChild)="property.updateExpandedChildPropertyId($event)"
- (clickOnPropertyRow)="onClickPropertyInnerRow($event, instanceName)"
+ (clickOnPropertyRow)="onClickPropertyInnerRow($event, instanceId)"
(checkProperty)="propertyChecked(property, $event)"
>
</dynamic-property>
export class PropertiesTableComponent {
@Input() fePropertiesMap: InstanceFePropertiesMap;
+ @Input() feInstanceNamesMap: Map<string, string>;
@Input() selectedPropertyId: string;
@Input() displayDeleteButton: boolean;
@Input() propertyNameSearchText:string;
@Output() updateCheckedPropertyCount: EventEmitter<boolean> = new EventEmitter<boolean>();
//@Output() selectInstanceRow: EventEmitter<string> = new EventEmitter<string>();
- feInstancesNames: Array<string>;
constructor ( private propertiesService:PropertiesService ){
}
- /**
- * Update feInstancesNames when fePropertiesMap: InstanceFePropertiesMap change (after getting response from server)
- */
- ngOnChanges(changes: SimpleChanges) {
- if (changes['fePropertiesMap']) {
- if (changes['fePropertiesMap'].currentValue) {
- let keysPipe = new KeysPipe();
- let fiteredArr = keysPipe.transform(changes['fePropertiesMap'].currentValue,[]);
- this.feInstancesNames = fiteredArr;
- }
- }
- }
propValueChanged = (property) => {
!property.isDeclared && this.valueChanged.emit(property);
<tab tabTitle="Properties">
<properties-table class="properties-table"
[fePropertiesMap]="instanceFePropertiesMap"
+ [feInstanceNamesMap]="componentInstanceNamesMap"
[searchTerm]="searchQuery"
[selectedPropertyId]="selectedFlatProperty.path"
[propertyNameSearchText]="searchPropertyName"
<inputs-table class="properties-table"
[readonly]="isReadonly"
[inputs]="inputs | searchFilter:'name':searchQuery"
+ [instanceNamesMap]="componentInstanceNamesMap"
[isLoading]="loadingInputs"
(deleteInput)="deleteInput($event)"
(inputValueChanged)="inputValueChanged($event)"></inputs-table>
</tabs>
<div class="header">
<div class="search-filter-container" [class.without-filter]="isInpusTabSelected">
+ <span *ngIf="displayClearSearch && !isInpusTabSelected" (click)="clickOnClearSearch()" class="clear-filter">Clear All</span>
<input type="text" class="search-box" placeholder="Search" [(ngModel)]="searchQuery" />
<span class="sprite search-icon"></span>
<filter-properties-assignment *ngIf="!isInpusTabSelected" #advanceSearch class="advance-search" [componentType]="component.componentType" (searchProperties)="searchPropertiesInstances($event)"></filter-properties-assignment>
- <span *ngIf="displayClearSearch && !isInpusTabSelected" (click)="clickOnClearSearch()" class="clear-filter">Clear All</span>
</div>
<button class="tlv-btn blue declare-button" [disabled]="!checkedPropertiesCount || isReadonly" (click)="declareProperties()">Declare</button>
</div>
}
}
- .advance-search{
-
- }
+
.clear-filter{
cursor: pointer;
- color: @main_color_c;
- font-family: @font-omnes-medium-italic;
+ color:#009fdb;
text-decoration: underline;
- position: relative;
- top: 4px;
- right: 16px;
+ padding-right:10px;
+ font-size:12px;
}
.declare-button{
}
.hierarchy-nav-container {
- flex:1;
- overflow: auto;
+ display:flex;
flex-direction: column;
height: 100%;
}
}
.hierarchy-nav {
+ flex:1;
+ overflow:auto;
display: grid;
margin-top: 1em;
margin-left: 1em;
export class PropertiesAssignmentComponent {
title = "Properties & Inputs";
- component:ComponentData;
+ component: ComponentData;
+ componentInstanceNamesMap: Map<string, string> = new Map<string, string>();//instanceUniqueId, name
propertiesNavigationData = [];
instancesNavigationData = [];
.getComponentInputs(this.component)
.subscribe(response => {
_.forEach(response.inputs, (input: InputBEModel) => {
- this.inputs.push(new InputFEModel(input));
+ this.inputs.push(new InputFEModel(input)); //only push items that were declared via SDC
});
this.loadingInputs = false;
_.forEach(this.instances, (instance) => {
this.instancesNavigationData.push(instance);
+ this.componentInstanceNamesMap[instance.uniqueId] = instance.name;
});
this.loadingInstances = false;
if (this.instancesNavigationData[0] == undefined) {
this.selectedInstanceType = resourceInstance.originType;
this.loadingProperties = true;
- if(resourceInstance.originType === ResourceType.VF) {
+ if(this.isInput(resourceInstance.originType)) {
this.componentInstanceServiceNg2
.getComponentInstanceInputs(this.component, resourceInstance)
.subscribe(response => {
instanceBePropertiesMap[resourceInstance.uniqueId] = response;
- this.processInstancePropertiesResponse(instanceBePropertiesMap);
+ this.processInstancePropertiesResponse(instanceBePropertiesMap, true);
this.loadingProperties = false;
});
.getComponentInstanceProperties(this.component, resourceInstance.uniqueId)
.subscribe(response => {
instanceBePropertiesMap[resourceInstance.uniqueId] = response;
- this.processInstancePropertiesResponse(instanceBePropertiesMap);
+ this.processInstancePropertiesResponse(instanceBePropertiesMap, false);
this.loadingProperties = false;
});
}
/**
* Entry point handling response from server
*/
- processInstancePropertiesResponse = (instanceBePropertiesMap:InstanceBePropertiesMap) => {
- this.instanceFePropertiesMap = this.propertiesUtils.convertPropertiesMapToFEAndCreateChildren(instanceBePropertiesMap, this.inputs); //create flattened children, disable declared props, and init values
+ processInstancePropertiesResponse = (instanceBePropertiesMap: InstanceBePropertiesMap, originTypeIsVF: boolean) => {
+ this.instanceFePropertiesMap = this.propertiesUtils.convertPropertiesMapToFEAndCreateChildren(instanceBePropertiesMap, originTypeIsVF, this.inputs); //create flattened children, disable declared props, and init values
this.checkedPropertiesCount = 0;
};
// Copying the actual value from the object ref into the value if it's from a complex type
event.value = event.getJSONValue();
- if (this.selectedInstanceData.originType === ResourceType.VF) {
+ if (this.isInput(this.selectedInstanceData.originType)) {
console.log("I want to update input value on the resource instance");
let inputToUpdate = new PropertyBEModel(event);
this.componentInstanceServiceNg2
});
let inputsToCreate: InstancePropertiesAPIMap;
- if (this.selectedInstanceType !== ResourceType.VF) {
+ if (!this.isInput(this.selectedInstanceType)) {
inputsToCreate = new InstancePropertiesAPIMap(null, selectedProperties);
} else {
inputsToCreate = new InstancePropertiesAPIMap(selectedProperties, null);
updatePropertyValueAfterDeclare = (input: InputFEModel) => {
if (this.instanceFePropertiesMap[input.instanceUniqueId]) {
let propertyForUpdatindVal = _.find(this.instanceFePropertiesMap[input.instanceUniqueId], (feProperty: PropertyFEModel) => {
- return feProperty.name == input.relatedProperty.name;
+ return feProperty.name == input.relatedPropertyName;
});
-
- propertyForUpdatindVal.setAsDeclared(input.relatedProperty.nestedPath); //set prop as declared before assigning value
- this.propertiesService.disableRelatedProperties(propertyForUpdatindVal, input.relatedProperty.nestedPath);
- this.propertiesUtils.resetPropertyValue(propertyForUpdatindVal, input.relatedProperty.value, input.relatedProperty.nestedPath);
+ let inputPath = (input.inputPath && input.inputPath != propertyForUpdatindVal.name) ? input.inputPath : undefined;
+ propertyForUpdatindVal.setAsDeclared(inputPath); //set prop as declared before assigning value
+ this.propertiesService.disableRelatedProperties(propertyForUpdatindVal, inputPath);
+ this.propertiesUtils.resetPropertyValue(propertyForUpdatindVal, input.relatedPropertyValue, inputPath);
}
}
.filterComponentInstanceProperties(this.component, filterData)
.subscribe(response => {
- this.processInstancePropertiesResponse(response);
+ this.processInstancePropertiesResponse(response, false);
this.hierarchyPropertiesDisplayOptions.searchText = filterData.propertyName;//mark results in tree
this.searchPropertyName = filterData.propertyName;//mark in table
this.renderer.invokeElementMethod(this.hierarchyNavTabs, 'triggerTabChange', ['Composition']);
this.hierarchyPropertiesDisplayOptions.searchText = "";
this.displayClearSearch = false;
this.advanceSearch.clearAll();
+ this.searchQuery = '';
};
clickOnClearSearch = () => {
this.hierarchyNavTabs, 'triggerTabChange', ['Composition']);
};
+ private isInput = (instanceType:string):boolean =>{
+ return instanceType === ResourceType.VF || instanceType === ResourceType.PNF;
+ }
+
}
* 3. Initialize valueObj (which also creates any new list/map flattened children as needed)
* Returns InstanceFePropertiesMap
*/
- public convertPropertiesMapToFEAndCreateChildren = (instancePropertiesMap:InstanceBePropertiesMap, inputs:Array<InputFEModel>): InstanceFePropertiesMap => {
+ public convertPropertiesMapToFEAndCreateChildren = (instancePropertiesMap:InstanceBePropertiesMap, isVF:boolean, inputs?:Array<InputFEModel>): InstanceFePropertiesMap => {
let instanceFePropertiesMap:InstanceFePropertiesMap = new InstanceFePropertiesMap();
angular.forEach(instancePropertiesMap, (properties:Array<PropertyBEModel>, instanceId:string) => {
- let instanceInputs: Array<InputFEModel> = inputs.filter(input => input.instanceUniqueId == instanceId);
let propertyFeArray: Array<PropertyFEModel> = [];
_.forEach(properties, (property: PropertyBEModel) => {
if (newFEProp.derivedDataType == DerivedPropertyType.COMPLEX) { //Create children if prop is not simple, list, or map.
newFEProp.flattenedChildren = this.createFlattenedChildren(newFEProp.type, newFEProp.name);
}
- if (instanceInputs.length) { //if this prop (or any children) are declared, set isDeclared and disable checkbox on parents/children
- instanceInputs.filter(input => input.relatedProperty.name == newFEProp.name).forEach((input) => {
- newFEProp.setAsDeclared(input.relatedProperty.nestedPath); //if a path was sent, its a child prop. this param is optional
- this.propertiesService.disableRelatedProperties(newFEProp, input.relatedProperty.nestedPath);
+ if (newFEProp.getInputValues && newFEProp.getInputValues.length) { //if this prop (or any children) are declared, set isDeclared and disable checkbox on parents/children
+ newFEProp.getInputValues.forEach(propInputDetail => {
+ let inputPath = propInputDetail.inputPath;
+ if (!isVF && !inputPath) { //TODO: this is a workaround until Marina adds inputPath
+ let input = inputs.find(input => input.uniqueId == propInputDetail.inputId);
+ if (!input) { console.log("CANNOT FIND INPUT FOR " + propInputDetail.inputId); return; }
+ else inputPath = input.inputPath;
+ }
+ if (isVF || inputPath == newFEProp.name) inputPath = undefined;
+ newFEProp.setAsDeclared(inputPath); //if a path is sent, its a child prop. this param is optional
+ this.propertiesService.disableRelatedProperties(newFEProp, inputPath);
});
- }
+ }
this.initValueObjectRef(newFEProp); //initialize valueObj.
propertyFeArray.push(newFEProp);
newFEProp.updateExpandedChildPropertyId(newFEProp.name); //display only the first level of children
});
return instanceFePropertiesMap;
}
- private createListOrMapChildrenFromValueObj = (property: PropertyFEModel) => {
- if ((property.derivedDataType == DerivedPropertyType.LIST || property.derivedDataType == DerivedPropertyType.MAP)
- && Object.keys(property.valueObj).length) {
-
- Object.keys(property.valueObj).forEach((key) => {
- let newProps: Array<DerivedFEProperty> = this.createListOrMapChildren(property, key, property.valueObj[key]);
- property.flattenedChildren.push(...newProps);
- });
-
- }
- }
- public createListOrMapChildren = (property:PropertyBEModel, key: string, valueObj: any): Array<DerivedFEProperty> => {
+ public createListOrMapChildren = (property:PropertyFEModel | DerivedFEProperty, key: string, valueObj: any): Array<DerivedFEProperty> => {
let newProps: Array<DerivedFEProperty> = [];
let parentProp = new DerivedFEProperty(property, property.propertiesName, true, key, valueObj);
newProps.push(parentProp);
} else {
property.valueObj = _.merge({}, JSON.parse(property.defaultValue || '{}'), JSON.parse(property.value || '{}')); //value object should be merged value and default value. Value takes higher precendence. Set valueObj to empty obj if undefined.
}
- if (property.derivedDataType == DerivedPropertyType.COMPLEX) {
- this.assignFlattenedChildrenValues(property.valueObj, property.flattenedChildren, property.name);
+ if ((property.derivedDataType == DerivedPropertyType.LIST || property.derivedDataType == DerivedPropertyType.MAP) && Object.keys(property.valueObj).length) {
+ Object.keys(property.valueObj).forEach((key) => {
+ property.flattenedChildren.push(...this.createListOrMapChildren(property, key, property.valueObj[key]))
+ });
} else {
- this.createListOrMapChildrenFromValueObj(property);
+ this.assignFlattenedChildrenValues(property.valueObj, property.flattenedChildren, property.name);
}
}
}
*/
public assignFlattenedChildrenValues = (parentValueJSON: any, derivedPropArray: Array<DerivedFEProperty>, parentName: string) => {
if (!derivedPropArray || !parentName) return;
+ let propsToPushMap: Map<number, Array<DerivedFEProperty>> = new Map<number, Array<DerivedFEProperty>>();
derivedPropArray.forEach((prop, index) => {
let propNameInObj = prop.propertiesName.substring(prop.propertiesName.indexOf(parentName) + parentName.length + 1).split('#').join('.'); //extract everything after parent name
if ((prop.derivedDataType == DerivedPropertyType.SIMPLE || prop.isDeclared) && typeof prop.valueObj == 'object') { //Stringify objects that should be strings
prop.valueObj = JSON.stringify(prop.valueObj);
} else { //parse strings that should be objects
- if ((prop.derivedDataType == DerivedPropertyType.COMPLEX || prop.derivedDataType == DerivedPropertyType.MAP) && typeof prop.valueObj != 'object') {
+ if (prop.derivedDataType == DerivedPropertyType.COMPLEX && typeof prop.valueObj != 'object') {
prop.valueObj = JSON.parse(prop.valueObj || '{}');
} else if (prop.derivedDataType == DerivedPropertyType.LIST && typeof prop.valueObj != 'object') {
prop.valueObj = JSON.parse(prop.valueObj || '[]');
- }
- if ((prop.derivedDataType == DerivedPropertyType.LIST || prop.derivedDataType == DerivedPropertyType.MAP) && Object.keys(prop.valueObj).length) {
+ } else if (prop.derivedDataType == DerivedPropertyType.MAP && typeof prop.valueObj != 'object' && (!prop.isChildOfListOrMap || !prop.schema.property.isSimpleType)) { //dont parse values for children of map of simple
+ prop.valueObj = JSON.parse(prop.valueObj || '{}');
+ }
+ if ((prop.derivedDataType == DerivedPropertyType.LIST || prop.derivedDataType == DerivedPropertyType.MAP) && typeof prop.valueObj == 'object' && Object.keys(prop.valueObj).length) {
let newProps: Array<DerivedFEProperty> = [];
Object.keys(prop.valueObj).forEach((key) => {
newProps.push(...this.createListOrMapChildren(prop, key, prop.valueObj[key]));//create new children, assign their values, and then add to array
});
- derivedPropArray.splice(index + 1, 0, ...newProps);
+ propsToPushMap[index + 1] = newProps;
}
}
});
+
+ //add props after we're done looping (otherwise our loop gets messed up). Push in reverse order, so we dont mess up indexes.
+ Object.keys(propsToPushMap).reverse().forEach((indexToInsert) => {
+ derivedPropArray.splice(+indexToInsert, 0, ...propsToPushMap[indexToInsert]); //slacker parsing
+ });
}
public resetPropertyValue = (property: PropertyFEModel, newValue: string, nestedPath?: string): void => {
import {Cookie2Service} from "./cookie.service";
import {UUID} from "angular2-uuid";
import {Dictionary} from "../../utils/dictionary/dictionary";
+import {SEVERITY} from "../../utils/constants";
+import {IServerMessageModalModel} from "../../view-models/modals/message-modal/message-server-modal/server-message-modal-view-model";
export class HttpInterceptor implements Interceptor {
*/
request.options.headers.append(this.cookieService.getUserIdSuffix(), this.cookieService.getUserId());
- var uuidValue = this.getUuidValue(request.url);
- if(uuidValue!= ''){
- request.options.headers.set('X-ECOMP-ServiceID',uuidValue);
- }
- request.options.headers.set('X-ECOMP-RequestID', UUID.UUID());
+ request.options.withCredentials = true;
+ var uuidValue = this.getUuidValue(request.url);
+ if (uuidValue != '') {
+ request.options.headers.set('X-ECOMP-ServiceID', uuidValue);
+ }
+ request.options.headers.set('X-ECOMP-RequestID', UUID.UUID());
return request;
}
- public interceptAfter(response: InterceptedResponse): InterceptedResponse {
-
+ public interceptAfter(response:InterceptedResponse):InterceptedResponse {
+
+ if (response.response.status !== 200 && response.response.status !== 201) {
+ this.responseError(response.response.json());
+ //console.log("Error from BE:",response);
+ }
return response;
}
});
}
return '';
- }
+ };
+
+ public formatMessageArrays = (message:string, variables:Array<string>)=> {
+ return message.replace(/\[%(\d+)\]/g, function (_, m) {
+ let tmp = [];
+ let list = variables[--m].split(";");
+ list.forEach(function (item) {
+ tmp.push("<li>" + item + "</li>");
+ });
+ return "<ul>" + tmp.join("") + "</ul>";
+ });
+ };
+
+ public responseError = (rejection:any)=> {
+
+ let text:string;
+ let variables;
+ let messageId:string = "";
+ let isKnownException = false;
+
+ if (rejection && rejection.serviceException) {
+ text = rejection.serviceException.text;
+ variables = rejection.serviceException.variables;
+ messageId = rejection.serviceException.messageId;
+ isKnownException = true;
+ } else if (rejection && rejection.requestError && rejection.requestError.serviceException) {
+ text = rejection.requestError.serviceException.text;
+ variables = rejection.requestError.serviceException.variables;
+ messageId = rejection.requestError.serviceException.messageId;
+ isKnownException = true;
+ } else if (rejection && rejection.requestError && rejection.requestError.policyException) {
+ text = rejection.requestError.policyException.text;
+ variables = rejection.requestError.policyException.variables;
+ messageId = rejection.requestError.policyException.messageId;
+ isKnownException = true;
+ } else if (rejection) {
+ text = 'Wrong error format from server';
+ console.error(text);
+ isKnownException = false;
+ }
+
+ let data:IServerMessageModalModel;
+ if (isKnownException) {
+ // Remove the "Error: " text at the begining
+ if (text.trim().indexOf("Error:") === 0) {
+ text = text.replace("Error:", "").trim();
+ }
+
+ //mshitrit DE199895 bug fix
+ let count:number = 0;
+ variables.forEach(function (item) {
+ variables[count] = item ? item.replace('<', '<').replace('>', '>') : '';
+ count++;
+ });
+ // Format the message in case has array to <ul><li>
+ text = this.formatMessageArrays(text, variables);
+
+ // Format the message %1 %2
+ text = text.format(variables);
+
+ // Need to inject the MessageService manually to prevent circular dependencies (because MessageService use $templateCache that use $http).
+ data = {
+ title: 'Error',
+ message: text,
+ messageId: messageId,
+ status: rejection.status,
+ severity: SEVERITY.ERROR
+ };
+ } else {
+ // Need to inject the MessageService manually to prevent circular dependencies (because MessageService use $templateCache that use $http).
+ data = {
+ title: 'Error',
+ message: rejection.status !== -1 ? rejection.statusText : "Error getting response from server",
+ messageId: messageId,
+ status: rejection.status,
+ severity: SEVERITY.ERROR
+ };
+ }
+ // let modalsHandler = this.$injector.get('ModalsHandler');
+
+ // this.modalsHandler.openServerMessageModal(data);
+ console.error('ERROR data',data);
+ }
}
import { Injectable } from '@angular/core';
-import { DataTypeModel, PropertyFEModel, PropertyBEModel, SchemaProperty, DerivedFEProperty, DerivedFEPropertyMap, DerivedPropertyType, InputFEModel} from "app/models";
+import { DataTypeModel, PropertyFEModel, PropertyBEModel, SchemaProperty, PropertyDeclareAPIModel, DerivedFEProperty, DerivedFEPropertyMap, DerivedPropertyType, InputFEModel} from "app/models";
import { DataTypeService } from "./data-type.service";
import { PROPERTY_TYPES } from "app/utils";
import { ContentAfterLastDotPipe } from "../pipes/contentAfterLastDot.pipe";
}
public getCheckedProperties = (properties: Array<PropertyFEModel>): Array<PropertyBEModel> => {
- let selectedProps: Array<PropertyBEModel> = [];
+ let selectedProps: Array<PropertyDeclareAPIModel> = [];
properties.forEach(prop => {
if (prop.isSelected && !prop.isDeclared && !prop.isDisabled) {
- selectedProps.push(new PropertyBEModel(prop));
+ selectedProps.push(new PropertyDeclareAPIModel(prop));
} else if (prop.flattenedChildren) {
prop.flattenedChildren.forEach((child) => {
if (child.isSelected && !child.isDeclared && !child.isDisabled) {
- let childProp = new PropertyBEModel(prop, child); //create it from the parent
+ let childProp = new PropertyDeclareAPIModel(prop, child); //create it from the parent
selectedProps.push(childProp);
}
})
static CP = 'CP';
static VFC = 'VFC';
static VFCMT = 'VFCMT';
+ static PNF = 'PNF';
}
export class ComponentState {
public static JSON = 'json';
public static MAP = 'map';
public static LIST = 'list';
+ public static SCALAR = 'scalar-unit';
+ public static SCALAR_FREQUENCY = 'scalar-unit.frequency';
+ public static SCALAR_SIZE = 'scalar-unit.size';
+ public static SCALAR_TIME = 'scalar-unit.time';
}
export class SOURCES {
}
export class PROPERTY_DATA {
- public static TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.BOOLEAN, PROPERTY_TYPES.JSON, PROPERTY_TYPES.LIST, PROPERTY_TYPES.MAP];
- public static SIMPLE_TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.BOOLEAN, PROPERTY_TYPES.JSON];
+ public static TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.BOOLEAN, PROPERTY_TYPES.JSON, PROPERTY_TYPES.SCALAR, PROPERTY_TYPES.SCALAR_FREQUENCY, PROPERTY_TYPES.SCALAR_SIZE, PROPERTY_TYPES.SCALAR_TIME, PROPERTY_TYPES.LIST, PROPERTY_TYPES.MAP];
+ public static SIMPLE_TYPES = [PROPERTY_TYPES.STRING, PROPERTY_TYPES.INTEGER, PROPERTY_TYPES.FLOAT, PROPERTY_TYPES.BOOLEAN, PROPERTY_TYPES.JSON, PROPERTY_TYPES.SCALAR, PROPERTY_TYPES.SCALAR_FREQUENCY, PROPERTY_TYPES.SCALAR_SIZE, PROPERTY_TYPES.SCALAR_TIME];
public static ROOT_DATA_TYPE = "tosca.datatypes.Root";
public static OPENECOMP_ROOT = "org.openecomp.datatypes.Root";
public static SUPPLEMENTAL_DATA = "supplemental_data";
export class EVENTS {
static RESOURCE_LEFT_PALETTE_UPDATE_EVENT = "resourceLeftPanelUpdateEvent";
+ static RESOURCE_PNF_LEFT_PALETTE_UPDATE_EVENT = "resourcePNFLeftPanelUpdateEvent";
static SERVICE_LEFT_PALETTE_UPDATE_EVENT = "serviceLeftPanelUpdateEvent";
static PRODUCT_LEFT_PALETTE_UPDATE_EVENT = "productLeftPanelUdateEvent";
static VL_LEFT_PALETTE_UPDATE_EVENT = "vlLeftPanelUdateEvent";
if (isNaN(minPropertyValue) || minPropertyValue == null) {
isValid = propertyValue >= initialCountPropertyValue;
} else {
- isValid = !propertyValue || (propertyValue >= minPropertyValue && propertyValue >= initialCountPropertyValue);
+ isValid = isNaN(propertyValue) || (propertyValue >= minPropertyValue && propertyValue >= initialCountPropertyValue);
}
this.$scope.forms.editForm["value"].$setValidity('minValidation', isValid);
if (this.component.isService()) {
if (artifact.artifactGroupType === ArtifactGroupType.INFORMATION) {//fix DE256847
return this.$scope.currentComponent.artifacts && (!this.$scope.currentComponent.artifacts[artifact.artifactLabel] || !this.$scope.currentComponent.artifacts[artifact.artifactLabel].artifactName);
}
- return this.$scope.currentComponent.deploymentArtifacts && (!this.$scope.currentComponent.deploymentArtifacts[artifact.artifactLabel]);//fix DE251314
+ return this.$scope.currentComponent.selectedInstance && this.$scope.currentComponent.selectedInstance.deploymentArtifacts && this.$scope.currentComponent.selectedInstance.deploymentArtifacts[artifact.artifactLabel];
};
this.$scope.addOrUpdate = (artifact:ArtifactModel):void => {
</div>
<div data-ng-repeat-end="" data-ng-if="artifact.selected" class="item-opened" data-tests-id="details-{{$index}}">
<div><span class="details-title">Label:</span> {{artifact.artifactLabel}}</div>
- <div><span class="details-title">UUID:</span> {{artifact.uniqueId}}</div>
+ <div><span class="details-title">UUID:</span> {{artifact.artifactUUID}}</div>
<div><span class="details-title">Description:</span> {{artifact.description}}</div>
"GENERAL_LABEL_CREATION_DATE": "Creation Date:",
"GENERAL_LABEL_AUTHOR": "Author:",
"GENERAL_LABEL_CONTACT_ID": "Contact ID:",
+ "GENERAL_LABEL_RESOURCE_MODEL_NUMBER":"Vendor Model Number:",
+ "GENERAL_LABEL_SERVICE_TYPE": "Service Type:",
+ "GENERAL_LABEL_SERVICE_ROLE": "Service Role:",
"GENERAL_LABEL_STATUS": "Status:",
"GENERAL_LABEL_PROJECT_CODE": "Project code:",
"GENERAL_LABEL_DESCRIPTION": "Description:",
"GENERAL_LABEL_DISTRIBUTION_STATUS": "Distribution Status:",
"GENERAL_LABEL_SYSTEM_NAME": "System Name:",
+ "=========== GENERAL_TAB ===========": "",
+ "GENERAL_TAB_LABEL_RESOURCE_MODEL_NUMBER":"Vendor Model Number",
+ "GENERAL_TAB_LABEL_SERVICE_TYPE": "Service Type",
+ "GENERAL_TAB_LABEL_SERVICE_ROLE": "Service Role",
"=========== GENERAL ERROR PAGES ===========": "",
"GENERAL_ERROR_403_TITLE": "SDC",
"=========== USER_MANAGEMENT SCREEN ===========": "",
"USER_MANAGEMENT": "User Management",
- "USER_MANAGEMENT_TABLE_HEADER_USER_ID": "User id",
+ "USER_MANAGEMENT_TABLE_HEADER_USER_ID": "User ID",
"USER_MANAGEMENT_SEARCH_LABEL": "Search user by name, user id, email or role",
"USER_MANAGEMENT_SEARCH_TEXT": "Enter user id",
"CATEGORY_MANAGEMENT": "Category Management",
import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
+import org.openecomp.sdc.common.util.ValidationUtils;
public class ComponentInstanceDataDefinition extends ToscaDataDefinition implements Serializable {
public void setName(String name) {
if(invariantName == null){
- invariantName = name;
+ invariantName = ValidationUtils.normalizeComponentInstanceName(name);
}
this.name = name;
}
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.zip.ZipOutputStream;
public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductManager {
- private static final String VALIDATION_VSP_ID = "validationOnlyVspId";
+ private static String VALIDATION_VSP_ID = "validationOnlyVspId";
private static final String VALIDATION_VSP_NAME = "validationOnlyVspName";
//private static final String VALIDATION_VSP_USER = "validationOnlyVspUser";
}
VspDetails validationVsp = new VspDetails();
validationVsp.setName(VALIDATION_VSP_NAME);
- validationVsp.setId(VALIDATION_VSP_ID);
+
+ vspInfoDao.create(validationVsp);
Version version = versioningManager.create(
VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE,
- validationVsp.getId(),
- user);
+ validationVsp.getId(), user);
validationVsp.setVersion(version);
- vspInfoDao.create(validationVsp);
createUniqueName(VALIDATION_VSP_NAME);
+ VALIDATION_VSP_ID = validationVsp.getId();
return VALIDATION_VSP_ID;
}
private Map<String, List<ErrorMessage>> validateUploadData(UploadDataEntity uploadData)
throws IOException {
+
+ Map<String, List<ErrorMessage>> validationErrors = new HashMap<>();
if (uploadData == null || uploadData.getContentData() == null) {
return null;
}
- FileContentHandler fileContentMap =
- CommonUtil.loadUploadFileContent(uploadData.getContentData().array());
- //todo - check
+ FileContentHandler fileContentMap = new FileContentHandler();
+
+ try {
+ fileContentMap =
+ CommonUtil.loadUploadFileContent(uploadData.getContentData().array());
+ } catch (Exception e){
+ ErrorMessage errorMessage = new ErrorMessage(ErrorLevel.ERROR, e.getMessage());
+ validationErrors.put("Upload file", Arrays.asList(errorMessage));
+ }
ValidationManager validationManager =
ValidationManagerUtil.initValidationManager(fileContentMap);
- Map<String, List<ErrorMessage>> validationErrors = validationManager.validate();
+ validationErrors.putAll(validationManager.validate());
return
MapUtils.isEmpty(MessageContainerUtil.getMessageByLevel(ErrorLevel.ERROR, validationErrors))
//todo - define list of type which will match the node property type (instead of string)
addPropertyInputParameter(propertyType, substitutionServiceTemplate, propertyDefinition
.getEntry_schema(),
- parameterId, unifiedCompositionEntity);
+ parameterId, unifiedCompositionEntity, context);
}
}
}
addPropertyInputParameter(propertyType, substitutionServiceTemplate, enrichNodeType
.getProperties().get(enrichPropertyName).getEntry_schema(),
- Optional.of(inputParamId), compositionEntity);
+ Optional.of(inputParamId), compositionEntity, context);
}
}
private void addPropertyInputParameter(String propertyType,
ServiceTemplate substitutionServiceTemplate,
EntrySchema entrySchema, Optional<String> parameterId,
- UnifiedCompositionEntity unifiedCompositionEntity) {
- if (isPropertySimpleType(propertyType)) {
+ UnifiedCompositionEntity unifiedCompositionEntity,
+ TranslationContext context) {
+ if(parameterId.isPresent() &&
+ isParameterBelongsToEnrichedPortProperties(parameterId.get(), context)){
+ addInputParameter(parameterId.get(),
+ propertyType,
+ propertyType.equals(PropertyType.LIST.getDisplayName()) ? entrySchema : null ,
+ substitutionServiceTemplate);
+ }
+ else if (isPropertySimpleType(propertyType)) {
parameterId
.ifPresent(parameterIdValue -> addInputParameter(parameterIdValue,
PropertyType.LIST.getDisplayName(),
}
}
+ private boolean isParameterBelongsToEnrichedPortProperties(String parameterId,
+ TranslationContext context){
+ List enrichPortResourceProperties = context.getEnrichPortResourceProperties();
+
+ for(int i = 0; i < enrichPortResourceProperties.size(); i++){
+ if(parameterId.contains((CharSequence) enrichPortResourceProperties.get(i))){
+ return true;
+ }
+ }
+
+ return false;
+ }
+
private boolean isPropertySimpleType(String propertyType) {
return !Objects.isNull(propertyType) &&
(propertyType.equalsIgnoreCase(PropertyType.STRING.getDisplayName())
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- - UNBOUNDED
\ No newline at end of file
+ - UNBOUNDED
- packet_internal_network
- abstract_pd_server_0
- abstract_pd_server_1
- - abstract_pd_server_2
\ No newline at end of file
+ - abstract_pd_server_2
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- - UNBOUNDED
\ No newline at end of file
+ - UNBOUNDED
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
- network_policy_server
- abstract_pd_server_0
- abstract_pd_server_1
- - abstract_pd_server_2
\ No newline at end of file
+ - abstract_pd_server_2
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- dependency
dependency_pd_server:
- pd_server
- - dependency
\ No newline at end of file
+ - dependency
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
server_group:
type: string
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
entry_schema:
type: string
port_1c1_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1c1_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c1_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1c1_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t2_port_name:
type: list
required: true
entry_schema:
type: json
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
1c1_scalling_instance_1c1_t1_port_tenant_id:
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: json
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_b_single_1b_metadata:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
compute_1c1_scalling_instance_user_data_format:
- RAW2
- RAW1
- port_1c1_t2_port_network_role_tag:
- - ppds
+ port_1c1_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1c1_t1_port_ip_requirements:
is_required: false
compute_1c2_catalog_instance_user_data_format:
- RAW1
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
- get_attribute:
- abstract_1c2_catalog_instance_0
- 1c2_catalog_instance_instance_name
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
- port_1a_t2_port_network_role_tag:
- - ppds
+ port_1a_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1a_t2_port_network:
- get_attribute:
- abstract_a_single_1a
- a_single_1a_1a_t1_port_tenant_id
- port_1b_t1_port_network_role_tag:
- - oam
+ port_1b_t1_port_network_role_tag: oam
port_1b_t1_port_mac_requirements:
mac_count_required:
is_required: false
name: def
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: string
port_1c1_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1c1_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c1_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1c1_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t2_port_name:
type: list
required: true
entry_schema:
type: json
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
1c1_scalling_instance_1c1_t1_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_b_single_1b_metadata:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: json
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
server_group:
hidden: false
immutable: false
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
server_group:
type: string
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
entry_schema:
type: string
port_1c1_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1c1_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c1_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1c1_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t2_port_name:
type: list
required: true
required: true
status: SUPPORTED
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
1c1_scalling_instance_instance_name:
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t2_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
attributes:
b_single_1b_instance_name:
type: list
compute_1c1_scalling_instance_user_data_format:
- RAW2
- RAW1
- port_1c1_t2_port_network_role_tag:
- - ppds
+ port_1c1_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1c1_t1_port_ip_requirements:
is_required: false
compute_1c2_catalog_instance_user_data_format:
- RAW1
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
- get_attribute:
- abstract_1c2_catalog_instance_0
- 1c2_catalog_instance_instance_name
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
- port_1a_t2_port_network_role_tag:
- - ppds
+ port_1a_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1a_t2_port_network:
is_required: false
floating_ip_count_required:
is_required: false
- port_1b_t1_port_network_role_tag:
- - oam
+ port_1b_t1_port_network_role_tag: oam
port_1b_t1_port_mac_requirements:
mac_count_required:
is_required: false
name: def
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: string
port_1c1_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1c1_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c1_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1c1_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t2_port_name:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
1c1_scalling_instance_1c1_t1_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t2_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_ip_requirements:
type: list
required: true
type: string
required: true
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
b_single_1b:
type: org.openecomp.resource.vfc.nodes.heat.b_single_1b
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
server_group:
hidden: false
immutable: false
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
server_group:
type: string
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
entry_schema:
type: string
port_1c1_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1c1_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c1_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1c1_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t2_port_name:
type: list
required: true
required: true
status: SUPPORTED
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
1c1_scalling_instance_instance_name:
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t2_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
attributes:
b_single_1b_instance_name:
type: list
compute_1c1_scalling_instance_user_data_format:
- RAW2
- RAW1
- port_1c1_t2_port_network_role_tag:
- - ppds
+ port_1c1_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1c1_t1_port_ip_requirements:
is_required: false
compute_1c2_catalog_instance_user_data_format:
- RAW1
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
- get_attribute:
- abstract_1c2_catalog_instance_0
- 1c2_catalog_instance_instance_name
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
- port_1a_t2_port_network_role_tag:
- - ppds
+ port_1a_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1a_t2_port_network:
is_required: false
floating_ip_count_required:
is_required: false
- port_1b_t1_port_network_role_tag:
- - oam
+ port_1b_t1_port_network_role_tag: oam
port_1b_t1_port_mac_requirements:
mac_count_required:
is_required: false
name: def
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: string
port_1c1_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1c1_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c1_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1c1_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t2_port_name:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
1c1_scalling_instance_1c1_t1_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t2_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_ip_requirements:
type: list
required: true
type: string
required: true
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
b_single_1b:
type: org.openecomp.resource.vfc.nodes.heat.b_single_1b
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
server_group:
hidden: false
immutable: false
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
entry_schema:
type: string
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_1c12_scalling_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
1c12_scalling_instance_1c1_t1_port_tenant_id:
type: list
entry_schema:
type: json
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c1_t1_port_network:
type: list
required: true
entry_schema:
type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
1c11_scalling_instance_instance_name:
type: list
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
server_group:
type: string
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_a_single_2a_scheduler_hints:
type: list
required: true
entry_schema:
type: json
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_a_single_2a_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_a_single_2a_name:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_b_single_1b_metadata:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
status: SUPPORTED
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: json
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_b_single_2b_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: json
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: json
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_1b_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_b_single_2b_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
- get_attribute:
- abstract_1c2_catalog_instance_1
- 1c2_catalog_instance_instance_name
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
- get_attribute:
- abstract_1c2_catalog_instance_0
- 1c2_catalog_instance_instance_name
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
compute_1c2_catalog_instance_user_data_format:
- RAW1
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
compute_1c2_catalog_instance_user_data_format:
- RAW1
- port_1c2_t1_port_network_role_tag:
- - oam
+ port_1c2_t1_port_network_role_tag: oam
port_1c2_t1_port_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
floating_ip_count_required:
is_required: false
- port_1a_t2_port_network_role_tag:
- - ppds
+ port_1a_t2_port_network_role_tag: ppds
vm_flavor_name:
get_input: pd_flavor_name
port_1a_t2_port_network:
- a_single_1a_1a_t1_port_tenant_id
compute_b_single_2b_user_data_format:
- RAW
- port_1b_t1_port_network_role_tag:
- - oam
+ port_1b_t1_port_network_role_tag: oam
port_1b_t1_port_mac_requirements:
mac_count_required:
is_required: false
- get_attribute:
- abstract_a_single_1a
- a_single_1a_1a_t1_port_tenant_id
- port_1b_t1_port_network_role_tag:
- - oam
+ port_1b_t1_port_network_role_tag: oam
port_1b_t1_port_mac_requirements:
mac_count_required:
is_required: false
name: def
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: json
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network:
type: list
required: true
entry_schema:
type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
1c11_scalling_instance:
type: org.openecomp.resource.vfc.nodes.heat.1c11_scalling_instance
entry_schema:
type: string
port_1c1_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c1_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_1c12_scalling_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c1_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
1c12_scalling_instance_1c1_t1_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
topology_template:
inputs:
port_1c2_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_1c2_catalog_instance_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1c2_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1c2_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1c2_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1c2_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_1c2_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1c2_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1c2_t1_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
port_1a_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_network:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
constraints:
- greater_or_equal: 0
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1a_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_1a_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_a_single_1a_user_data_format:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1a_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1a_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_a_single_2a_scheduler_hints:
type: list
required: true
entry_schema:
type: json
port_1a_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_a_single_2a_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1a_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_a_single_2a_name:
type: list
required: true
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: json
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: string
required: true
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_b_single_1b_user_data_format:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_b_single_1b_metadata:
type: list
required: true
entry_schema:
type: json
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: json
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_b_single_2b_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_1b_t1_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t1_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: json
port_1b_t2_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_1b_t2_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_1b_t2_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t2_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_b_single_2b_availability_zone:
type: list
required: true
entry_schema:
type: string
port_1b_t1_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_1b_t1_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
server_group:
hidden: false
immutable: false
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
p1:
type: string
description: UID of OAM network
required: true
status: SUPPORTED
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
required: true
status: SUPPORTED
port_oam_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_oam_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_oam_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
oam_server_name:
type: string
description: oam server name
required: true
status: SUPPORTED
port_oam_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_oam_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_oam_port_1_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_oam_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_oam_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_oam_port_1_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_oam_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_oam_port_0_vlan_requirements:
type: list
required: true
description: |
Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
members:
- - abstract_oam_server_1
\ No newline at end of file
+ - abstract_oam_server_1
type: string
description: UID of OAM network
port_oam_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: availabilityzone name
port_oam_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_oam_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
oam_server_name:
label: oam server name
hidden: false
type: string
description: oam server name
port_oam_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_oam_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_oam_port_1_ip_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_oam_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_oam_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_oam_port_1_vlan_requirements:
type: list
required: true
type: string
description: CPS network ip
port_oam_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_oam_port_0_vlan_requirements:
type: list
required: true
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
p1:
hidden: false
immutable: false
type: string
description: UID of OAM network
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
metadata:
type: string
description: metadata
required: true
status: SUPPORTED
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
oam_image_name:
type: string
description: oam image name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_oam_id:
type: string
- abstract_compute
- abstract_pcm_server_0
- abstract_oam_server_0
- - abstract_pcm_server_1
\ No newline at end of file
+ - abstract_pcm_server_1
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: oam server name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
oam_image_name:
label: image name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
server_oam:
type: org.openecomp.resource.vfc.nodes.heat.oam_server
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
metadata:
label: metadata
hidden: false
type: string
description: metadata
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
metadata:
type: string
description: metadata
required: true
status: SUPPORTED
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
oam_image_name:
type: string
description: oam image name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_oam_id:
type: string
value:
get_attribute:
- abstract_pcm_server_0
- - server_pcm_id
\ No newline at end of file
+ - server_pcm_id
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: oam server name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
oam_image_name:
label: image name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
server_oam:
type: org.openecomp.resource.vfc.nodes.heat.oam_server
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
metadata:
label: metadata
hidden: false
type: string
description: metadata
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
entry_schema:
type: string
port_compute_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
index_value:
type: integer
description: Index value of this substitution service template runtime instance
required: true
status: SUPPORTED
port_compute_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
entry_schema:
type: string
port_compute_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_compute_metadata:
type: list
required: true
entry_schema:
type: json
port_compute_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_compute_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- - UNBOUNDED
\ No newline at end of file
+ - UNBOUNDED
get_input: compute_image_name
port_compute_port_network:
- get_input: port_net_name
- port_compute_port_network_role_tag:
- - port
+ port_compute_port_network_role_tag: port
compute_compute_metadata:
- get_attribute:
- abstract_pcm_server_0
members:
- packet_mirror_network
- abstract_compute
- - abstract_pcm_server_0
\ No newline at end of file
+ - abstract_pcm_server_0
entry_schema:
type: string
port_compute_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
index_value:
type: integer
description: Index value of this substitution service template runtime instance
type: string
required: true
port_compute_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
entry_schema:
type: string
port_compute_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_compute_metadata:
type: list
required: true
entry_schema:
type: json
port_compute_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_compute_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
- link
dependency_compute:
- compute
- - dependency
\ No newline at end of file
+ - dependency
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
- dependency
dependency_pcm_port_1:
- pcm_port_1
- - dependency
\ No newline at end of file
+ - dependency
required: true
status: SUPPORTED
port_pcm_1port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_image_name:
type: string
description: PCRF CM image name
required: true
status: SUPPORTED
port_pcm_1port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_1port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_2port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_2port_1_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
required: true
status: SUPPORTED
port_pcm_2port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
oam_net_gw:
type: string
description: CPS network gateway
required: true
status: SUPPORTED
port_pcm_1port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_2port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
security_group_name:
type: string
description: the name of security group
required: true
status: SUPPORTED
port_pcm_2port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_2port_1_vlan_requirements:
type: list
required: true
type: string
description: availabilityzone name
port_pcm_1port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_image_name:
label: image name
hidden: false
type: string
description: PCRF CM image name
port_pcm_1port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_1port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_2port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_2port_1_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_pcm_2port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
oam_net_gw:
label: CPS network gateway
hidden: false
type: string
description: CPS network gateway
port_pcm_1port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_2port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
security_group_name:
label: security group name
hidden: false
type: string
description: CPS network mask
port_pcm_2port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_2port_1_vlan_requirements:
type: list
required: true
type: tosca.capabilities.OperatingSystem
occurrences:
- 1
- - UNBOUNDED
\ No newline at end of file
+ - UNBOUNDED
members:
- server_pd_1
- server_pcm_1
- - compute_port_0
\ No newline at end of file
+ - compute_port_0
- dependency
dependency_pcm_port_1:
- pcm_port_1
- - dependency
\ No newline at end of file
+ - dependency
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
- compute_port_0
- abstract_pcm_server_0
- abstract_pcm_server_1
- - abstract_pcm_server_1_0
\ No newline at end of file
+ - abstract_pcm_server_1_0
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
- compute_port_0
- abstract_compute
- abstract_pcm_server_0
- - abstract_pcm_server_1
\ No newline at end of file
+ - abstract_pcm_server_1
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: PCRF CM image name
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
description: heat template that creates MOG stack
members:
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
- network_policy_server_pd_01
- network_policy_server_pd_02
- network_policy_port0
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
description: heat template that creates MOG stack
members:
- network_policy_server
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
description: heat template that creates MOG stack
members:
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
members:
- jsa_security_group
- resource_with_dependOn
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
members:
- packet_mirror_network
- pd01_volume
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
name: Policy_BE_Affinity
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
value:
get_attribute:
- abstract_pd_server
- - pd_server_accessIPv6
\ No newline at end of file
+ - pd_server_accessIPv6
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_ps01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
status: SUPPORTED
port_ps01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_replacement_policy:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
description: heat template that creates MOG stack
members:
- abstract_pd_server
- - abstract_ps_server
\ No newline at end of file
+ - abstract_ps_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
type: string
required: true
port_ps01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
port_ps01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_replacement_policy:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_ps01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
status: SUPPORTED
port_ps01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_replacement_policy:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
description: heat template that creates MOG stack
members:
- abstract_pd_server
- - abstract_ps_server
\ No newline at end of file
+ - abstract_ps_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
type: string
required: true
port_ps01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
port_ps01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_replacement_policy:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
is_required: false
vm_flavor_name:
get_input: pd_flavor_name
- port_pd02_port_network_role_tag:
- - oam
+ port_pd02_port_network_role_tag: oam
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
port_pd02_port_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
description: heat template that creates MOG stack
members:
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
type: string
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
index_value:
type: integer
description: Index value of this substitution service template runtime instance
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
entry_schema:
type: string
port_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_smp_scheduler_hints:
type: list
required: true
name: def
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: string
port_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
index_value:
type: integer
description: Index value of this substitution service template runtime instance
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_flavor_name:
type: string
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
entry_schema:
type: string
port_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_smp_scheduler_hints:
type: list
required: true
entry_schema:
type: json
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network:
type: list
required: true
get_input: pd_flavor_name
port_pd01_port_security_groups:
- - jsa_security_group
- port_pd02_port_network_role_tag:
- - oam
+ port_pd02_port_network_role_tag: oam
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
port_pd02_port_network:
- get_input: oam_net_name
service_template_filter:
members:
- resources_with_dependOn
- jsa_security_group
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: json
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network:
type: list
required: true
required: true
status: SUPPORTED
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network:
type: list
required: true
members:
- packet_mirror_network
- pd01_volume
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
type: string
required: true
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network:
type: list
required: true
entry_schema:
type: json
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_pd_server_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
status: SUPPORTED
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: string
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
constraints:
- greater_or_equal: 0
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_0_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
get_input: pd_flavor_name
vm_image_name:
get_input: pd_image_name
- port_pd01_port_1_network_role_tag:
- - oam
+ port_pd01_port_1_network_role_tag: oam
port_pd01_port_1_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
- RAW
- port_pd01_port_0_network_role_tag:
- - oam
+ port_pd01_port_0_network_role_tag: oam
port_pd01_port_1_ip_requirements:
- ip_version: 4
ip_count_required:
members:
- resources_with_dependOn
- jsa_security_group
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: json
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_pd_server_availability_zone:
type: list
required: true
type: string
required: true
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: string
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
constraints:
- greater_or_equal: 0
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_0_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_pd_server_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
status: SUPPORTED
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: string
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
constraints:
- greater_or_equal: 0
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_0_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
- packet_mirror_network
- pd01_volume
- packet_internal_network
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_pd_server_availability_zone:
type: list
required: true
type: string
required: true
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: string
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
constraints:
- greater_or_equal: 0
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_0_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
availabilityzone_name:
type: string
description: availabilityzone name
required: true
status: SUPPORTED
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
pcm_server_name:
type: string
description: PCRF CM server name
required: true
status: SUPPORTED
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
attributes:
server_pcm_id:
type: string
is_required: false
vm_flavor_name:
get_input: pd_flavor_name
- port_pd02_port_network_role_tag:
- - oam
+ port_pd02_port_network_role_tag: oam
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
port_pd02_port_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
description: heat template that creates MOG stack
members:
- abstract_pd_server
- - abstract_pcm_server_0
\ No newline at end of file
+ - abstract_pcm_server_0
type: string
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
topology_template:
inputs:
port_pcm_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
availabilityzone_name:
label: availabilityzone name
hidden: false
type: string
description: CPS network ip
port_pcm_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pcm_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
pcm_server_name:
label: PCRF CM server name
hidden: false
type: string
description: OAM network name
port_pcm_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pcm_port_0_ip_requirements:
type: list
required: true
type: string
description: CPS network mask
port_pcm_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
node_templates:
pcm_port_1:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_0_network_role_tag:
- - oam
+ port_pd01_port_0_network_role_tag: oam
port_pd01_port_1_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
vm_image_name:
get_input: pd_image_name
- port_pd01_port_1_network_role_tag:
- - oam
+ port_pd01_port_1_network_role_tag: oam
port_pd01_port_1_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
description: heat template that creates MOG stack
members:
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
is_required: false
vm_flavor_name:
get_input: pd_flavor_name
- port_pd02_port_network_role_tag:
- - oam
+ port_pd02_port_network_role_tag: oam
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
port_pd02_port_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
value:
get_attribute:
- abstract_pd_server
- - pd_server_accessIPv4
\ No newline at end of file
+ - pd_server_accessIPv4
type: string
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
is_required: false
vm_flavor_name:
get_input: pd_flavor_name
- port_pd02_port_network_role_tag:
- - oam
+ port_pd02_port_network_role_tag: oam
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
port_pd02_port_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
members:
- network_policy_port
- network_policy_server
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
type: string
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd02_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
get_attribute:
- network_policy_server
- name
- port_pd02_port_network_role_tag:
- - oam
+ port_pd02_port_network_role_tag: oam
port_pd01_port_mac_requirements:
mac_count_required:
is_required: false
description: heat template that creates MOG stack
members:
- network_policy_server
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
type: string
required: true
port_pd02_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd02_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: string
port_pd02_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd02_port_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
is_required: false
vm_image_name:
get_input: pd_image_name
- port_pd01_port_1_network_role_tag:
- - oam
port_pd01_port_1_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
description: heat template that creates MOG stack
members:
- network_policy_server
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_0_network_role_tag:
- - oam
+ port_pd01_port_0_network_role_tag: oam
port_pd01_port_1_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
vm_image_name:
get_input: pd_image_name
- port_pd01_port_1_network_role_tag:
- - oam
+ port_pd01_port_1_network_role_tag: oam
port_pd01_port_1_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
- network_policy_port0
- network_policy_server
- network_policy_port1
- - abstract_pd_server
\ No newline at end of file
+ - abstract_pd_server
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
required: true
status: SUPPORTED
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
is_required: false
floating_ip_count_required:
is_required: false
- port_pd01_port_0_network_role_tag:
- - oam
+ port_pd01_port_0_network_role_tag: oam
port_pd01_port_1_ip_requirements:
- ip_version: 4
ip_count_required:
is_required: false
vm_image_name:
get_input: pd_image_name
- port_pd01_port_1_network_role_tag:
- - oam
+ port_pd01_port_1_network_role_tag: oam
port_pd01_port_1_network:
- get_input: oam_net_name
compute_pd_server_user_data_format:
value:
get_attribute:
- abstract_pd_server
- - pd_server_accessIPv4
\ No newline at end of file
+ - pd_server_accessIPv4
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_0_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_flavor_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_1_vlan_requirements:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_pd01_port_1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_0_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_pd01_port_0_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_1_network:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_oam_server_user_data_format:
type: list
required: true
entry_schema:
type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
- get_input:
- oam_server_names
- 0
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_oam_server_scheduler_hints:
- group: BE_Affinity_group
service_template_filter:
name: def
affinity: host
targets:
- - BE_Affinity_group
\ No newline at end of file
+ - BE_Affinity_group
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_oam_server_user_data_format:
type: list
required: true
entry_schema:
type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_oam_server_user_data_format:
type: list
required: true
entry_schema:
type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
- get_input:
- oam_server_names
- 0
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
service_template_filter:
substitute_service_template: Nested_oam_serverServiceTemplate.yaml
count: 1
- network_policy_server
- abstract_pd_server
- abstract_ps_server
- - abstract_oam_server
\ No newline at end of file
+ - abstract_oam_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_oam_server_user_data_format:
type: list
required: true
entry_schema:
type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
- network_policy_server
- abstract_pd_server_0
- abstract_pd_server_1
- - abstract_pd_server_2
\ No newline at end of file
+ - abstract_pd_server_2
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
derived_from: org.openecomp.resource.abstract.nodes.VFC
properties:
port_pd01_port_2_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_3_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_3_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
index_value:
type: integer
description: Index value of this substitution service template runtime instance
required: true
status: SUPPORTED
port_pd01_port_2_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_3_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_2_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_2_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
status: SUPPORTED
port_pd01_port_3_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_2_network:
type: list
required: true
required: true
status: SUPPORTED
port_pd01_port_3_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_pd_server_user_data_format:
type: list
required: true
get_attribute:
- network_policy_server
- name
- port_pd01_port_2_network_role_tag:
- - oam
+ port_pd01_port_2_network_role_tag: oam
port_pd01_port_3_ip_requirements:
- ip_version: 4
ip_count_required:
port_pd01_port_2_mac_requirements:
mac_count_required:
is_required: false
- port_pd01_port_3_network_role_tag:
- - oam
+ port_pd01_port_3_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
port_pd01_port_2_ip_requirements:
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
- network_policy_server
- abstract_pd_server_0
- abstract_pd_server_1
- - abstract_pd_server_2
\ No newline at end of file
+ - abstract_pd_server_2
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
topology_template:
inputs:
port_pd01_port_2_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_3_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_3_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
index_value:
type: integer
description: Index value of this substitution service template runtime instance
type: string
required: true
port_pd01_port_2_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_3_ip_requirements:
type: list
required: true
entry_schema:
type: string
port_pd01_port_2_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_2_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
vm_image_name:
type: string
required: true
port_pd01_port_3_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_2_network:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_pd01_port_3_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_pd_server_user_data_format:
type: list
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_ps01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
status: SUPPORTED
port_ps01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
is_required: false
floating_ip_count_required:
is_required: false
- port_ps01_port_network_role_tag:
- - oam
+ port_ps01_port_network_role_tag: oam
service_template_filter:
substitute_service_template: Nested_ps_serverServiceTemplate.yaml
count: 1
description: heat template that creates MOG stack
members:
- abstract_pd_server
- - abstract_ps_server
\ No newline at end of file
+ - abstract_ps_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
type: string
required: true
port_ps01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
port_ps01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_ps01_port_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
status: SUPPORTED
port_ps01_port_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
is_required: false
port_pd01_port_network:
- get_input: oam_net_name
- port_pd01_port_network_role_tag:
- - oam
+ port_pd01_port_network_role_tag: oam
compute_pd_server_user_data_format:
- RAW
service_template_filter:
is_required: false
floating_ip_count_required:
is_required: false
- port_ps01_port_network_role_tag:
- - oam
+ port_ps01_port_network_role_tag: oam
service_template_filter:
substitute_service_template: Nested_ps_serverServiceTemplate.yaml
count: 1
description: heat template that creates MOG stack
members:
- abstract_pd_server
- - abstract_ps_server
\ No newline at end of file
+ - abstract_ps_server
entry_schema:
type: string
port_pd01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_pd01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_pd01_port_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_ps01_port_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_ps_server_availability_zone:
type: list
required: true
type: string
required: true
port_ps01_port_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
vm_image_name:
type: string
required: true
port_ps01_port_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_ps01_port_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_ps01_port_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: json
port_FSB2_Internal2_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal1_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
required: true
status: SUPPORTED
port_FSB2_Internal2_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal1_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB2_Internal1_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal1_mac_address:
type: string
required: true
required: true
status: SUPPORTED
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal1_network:
type: list
required: true
required: true
status: SUPPORTED
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal2_ip_requirements:
type: list
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal2_network:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal1_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal2_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal1_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal1_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.heat.neutron.port.FixedIps
port_FSB2_Internal2_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal1_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
type: string
required: true
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: json
port_FSB2_Internal2_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal1_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB2_Internal2_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal1_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB2_Internal1_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal1_mac_address:
type: string
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal1_network:
type: list
required: true
type: org.openecomp.datatypes.network.MacRequirements
required: true
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal2_ip_requirements:
type: list
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal2_network:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal1_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal2_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal1_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal1_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
entry_schema:
type: org.openecomp.datatypes.heat.neutron.port.FixedIps
port_FSB2_Internal2_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal1_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
required: true
status: SUPPORTED
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
required: true
status: SUPPORTED
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB_OAM_fixed_ips:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
requirements:
- dependency_FSB1_FSB1_Internal:
capability: tosca.capabilities.Node
type: string
required: true
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB_OAM_fixed_ips:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
FSB1_FSB1_Internal:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
required: true
status: SUPPORTED
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_FSB1_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_network:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
attributes:
FSB1_FSB1_Internal_network_id:
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
type: string
required: true
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_FSB1_availability_zone:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_network:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
FSB1_FSB1_Internal:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
required: true
status: SUPPORTED
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
required: true
status: SUPPORTED
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB_OAM_fixed_ips:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
attributes:
FSB1_FSB1_Internal_network_id:
type: list
type: string
required: true
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB_OAM_fixed_ips:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
FSB1_FSB1_Internal:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
compute_FSB1_availability_zone:
type: list
required: true
required: true
status: SUPPORTED
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
required: true
status: SUPPORTED
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
attributes:
FSB1_FSB1_Internal_network_id:
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
compute_FSB1_metadata:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
compute_FSB1_availability_zone:
type: list
required: true
type: string
required: true
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: string
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
FSB1_FSB1_Internal:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
required: true
status: SUPPORTED
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB2_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
status: SUPPORTED
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
port_FSB_OAM_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB2_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
required: true
status: SUPPORTED
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
status: SUPPORTED
- entry_schema:
- type: integer
port_FSB_OAM_fixed_ips:
type: list
required: true
required: true
status: SUPPORTED
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
status: SUPPORTED
- entry_schema:
- type: string
attributes:
FSB1_FSB1_Internal_network_id:
type: list
type: string
required: true
port_FSB_OAM_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB2_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_ip_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
port_FSB1_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_vlan_requirements:
type: list
required: true
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
port_FSB2_Internal_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB1_Internal_exCP_naming:
type: org.openecomp.datatypes.Naming
required: true
port_FSB_OAM_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_network:
type: list
required: true
entry_schema:
type: string
port_FSB1_Internal_network_role:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_subnetpoolid:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
port_FSB_OAM_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
constraints:
- greater_or_equal: 0
port_FSB_OAM_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB2_Internal_mac_requirements:
type: org.openecomp.datatypes.network.MacRequirements
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB1_Internal_order:
- type: list
+ type: integer
required: true
- entry_schema:
- type: integer
port_FSB_OAM_fixed_ips:
type: list
required: true
type: org.openecomp.datatypes.Naming
required: true
port_FSB2_Internal_network_role_tag:
- type: list
+ type: string
required: true
- entry_schema:
- type: string
node_templates:
FSB1_FSB1_Internal:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.4</version>
+
+ <configuration>
+ <installDirectory>${project.parent.parent.basedir}</installDirectory>
+ </configuration>
<executions>
-
- <execution>
- <id>install node and npm in dox-sequence-diagram-ui</id>
- <goals>
- <goal>install-node-and-npm</goal>
- </goals>
- <configuration>
- <workingDirectory>${project.basedir}/../dox-sequence-diagram-ui</workingDirectory>
- <nodeVersion>v6.9.5</nodeVersion>
- <npmVersion>3.10.10</npmVersion>
- </configuration>
- </execution>
<execution>
<id>install node and npm</id>
<npmVersion>3.10.10</npmVersion>
</configuration>
</execution>
+
+ <execution>
+ <id>npm set progress off</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>set progress=false</arguments>
+ </configuration>
+ </execution>
<execution>
<id>npm install in dox-sequence-diagram-ui</id>
BE_IP=`cat conf/attsdc.yaml | grep catalogBeHost| awk '{print $2}'`
ADD_USERS_SCRIPT="addUsersFromList_new.sh"
-USER_LIST="/conf/userList.txt"
+USER_LIST="conf/userList.txt"
chmod +x ${ADD_USERS_SCRIPT}
echo "add users..."
`./${ADD_USERS_SCRIPT} -ip ${BE_IP} -f ${USER_LIST}`
+++ /dev/null
- designer: {
- username: m99121,
- password: 66-Percent,
- firstname: ASDC,
- lastname: KASPIN
- }
- admin: {
- username: m99122,
- password: 98-Degrees,
- firstname: ASDC,
- lastname: KASPIN
- }
- ops: {
- username: m99123,
- password: 17-Diameter,
- firstname: ASDC,
- lastname: KASPIN
- }
- tester: {
- username: m99124,
- password: 802-NotaGroup,
- firstname: ASDC,
- lastname: KASPIN
- }
- governor: {
- username: m99125,
- password: 142-Officiant,
- firstname: ASDC,
- lastname: KASPIN
- }
- product_strategist: {
- username: m99126,
- password: 1910-FruitGum,
- firstname: ASDC,
- lastname: KASPIN
- }
- product_manager: {
- username: m99127,
- password: 747-Airplane,
- firstname: ASDC,
- lastname: KASPIN
- }
- product_local: {
- username: pm0001,
- password: 123123a,
- firstname: ASDC,
- lastname: KASPIN
- }
\ No newline at end of file
BE_IP=`cat conf/attsdc.yaml | grep catalogBeHost| awk '{print $2}'`
ADD_USERS_SCRIPT="addUsersFromList_new.sh"
-USER_LIST="/conf/userList.txt"
+USER_LIST="conf/userList.txt"
chmod +x ${ADD_USERS_SCRIPT}
echo "add users..."
`./${ADD_USERS_SCRIPT} -ip ${BE_IP} -f ${USER_LIST}`