summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
diff options
context:
space:
mode:
authorAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
committerAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
commit280f8015d06af1f41a3ef12e8300801c7a5e0d54 (patch)
tree9c1d3978c04cd28068f02073038c936bb49ca9e0 /openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
parentfd3821dad11780d33c5373d74c957c442489945e (diff)
[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi <avi.ziv@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml1048
1 files changed, 997 insertions, 51 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
index edb1307945..6602b62fcb 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/porttonetconnection/shared/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -2,32 +2,8 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0
metadata:
template_name: GlobalSubstitutionTypes
imports:
- ContrailComputeGlobalTypes:
- file: ContrailComputeGlobalTypesServiceTemplate.yaml
- CinderVolumeGlobalTypes:
- file: CinderVolumeGlobalTypesServiceTemplate.yaml
- ContrailVirtualNetworkGlobalType:
- file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
- AbstractSubstituteGlobalTypes:
- file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
- ContrailPortGlobalTypes:
- file: ContrailPortGlobalTypesServiceTemplate.yaml
- NeutronPortGlobalTypes:
- file: NeutronPortGlobalTypesServiceTemplate.yaml
- NeutronNetGlobalTypes:
- file: NeutronNetGlobalTypesServiceTemplate.yaml
- CommonGlobalTypes:
- file: CommonGlobalTypesServiceTemplate.yaml
- ContrailAbstractSubstituteGlobalTypes:
- file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
- ContrailNetworkRuleGlobalType:
- file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
- NeutronSecurityRulesGlobalTypes:
- file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
- NovaServerGlobalTypes:
- file: NovaServerGlobalTypesServiceTemplate.yaml
- ContrailV2VirtualMachineInterfaceGlobalType:
- file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
node_types:
org.openecomp.resource.abstract.nodes.heat.nested1:
derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
@@ -35,48 +11,85 @@ node_types:
cmaui_names:
type: list
description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
entry_schema:
type: string
shared_network_id1:
type: string
description: UID of OAM network
+ required: true
+ status: SUPPORTED
p2:
type: string
description: UID of OAM network
+ required: true
+ status: SUPPORTED
abc_flavor:
type: string
description: Flavor for CMAUI server
+ required: true
+ status: SUPPORTED
cmaui_image:
type: string
description: Image for CMAUI server
+ required: true
+ status: SUPPORTED
cmaui_flavor:
type: string
description: Flavor for CMAUI server
+ required: true
+ status: SUPPORTED
abc_names:
type: list
description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
entry_schema:
type: string
security_group_name:
description: not impotrtant
+ required: true
+ status: SUPPORTED
availability_zone_0:
type: string
description: availabilityzone name
+ required: true
+ status: SUPPORTED
abc_oam_ips:
type: string
+ required: true
+ status: SUPPORTED
cmaui_oam_ips:
type: string
+ required: true
+ status: SUPPORTED
abc_image:
type: string
description: Image for CMAUI server
+ required: true
+ status: SUPPORTED
requirements:
+ - dependency_cmaui_port_2:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- link_cmaui_port_2:
capability: tosca.capabilities.network.Linkable
- node: tosca.nodes.Root
relationship: tosca.relationships.network.LinksTo
occurrences:
- 1
- 1
+ - dependency_server_cmaui:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- local_storage_server_cmaui:
capability: tosca.capabilities.Attachment
node: tosca.nodes.BlockStorage
@@ -84,6 +97,13 @@ node_types:
occurrences:
- 0
- UNBOUNDED
+ - dependency_server_abc:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- local_storage_server_abc:
capability: tosca.capabilities.Attachment
node: tosca.nodes.BlockStorage
@@ -91,33 +111,60 @@ node_types:
occurrences:
- 0
- UNBOUNDED
+ - dependency_abc_port_1:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- link_abc_port_1:
capability: tosca.capabilities.network.Linkable
- node: tosca.nodes.Root
relationship: tosca.relationships.network.LinksTo
occurrences:
- 1
- 1
+ - dependency_cmaui_port_1:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- link_cmaui_port_1:
capability: tosca.capabilities.network.Linkable
- node: tosca.nodes.Root
relationship: tosca.relationships.network.LinksTo
occurrences:
- 1
- 1
capabilities:
- scalable_server_abc:
- type: tosca.capabilities.Scalable
+ cpu.delta_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- os_server_cmaui:
- type: tosca.capabilities.OperatingSystem
+ disk.device.write.requests.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- attachment_abc_port_1:
- type: tosca.capabilities.Attachment
+ disk.write.bytes.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
@@ -126,10 +173,9 @@ node_types:
occurrences:
- 1
- UNBOUNDED
- host_server_abc:
- type: tosca.capabilities.Container
- valid_source_types:
- - tosca.nodes.SoftwareComponent
+ disk.read.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
@@ -138,6 +184,24 @@ node_types:
occurrences:
- 1
- UNBOUNDED
+ cpu_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
host_server_cmaui:
type: tosca.capabilities.Container
valid_source_types:
@@ -145,18 +209,133 @@ node_types:
occurrences:
- 1
- UNBOUNDED
- binding_server_abc:
+ cpu_util_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_abc_port_1:
type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ disk.device.write.requests_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- endpoint_server_cmaui:
- type: tosca.capabilities.Endpoint.Admin
+ disk.device.write.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- binding_server_cmaui:
- type: tosca.capabilities.network.Bindable
+ network.outgoing.bytes_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_abc_port_1:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ instance_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.root.size_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_server_cmaui:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.iops_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_abc_port_1:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
@@ -165,43 +344,529 @@ node_types:
occurrences:
- 1
- UNBOUNDED
+ disk.write.requests.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_server_cmaui:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_cmaui_port_1:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_cmaui_port_2:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ instance_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.iops_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.iops_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.iops_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_cmaui_port_1:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_cmaui_port_2:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
attachment_cmaui_port_2:
type: tosca.capabilities.Attachment
occurrences:
- 1
- UNBOUNDED
+ disk.device.latency_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
attachment_cmaui_port_1:
type: tosca.capabilities.Attachment
occurrences:
- 1
- UNBOUNDED
+ disk.root.size_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.latency_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_server_cmaui:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_server_abc:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes.rate_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_util_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_server_abc:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_abc_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ vcpus_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes.rate_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests.rate_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_server_abc:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_cmaui_port_2:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_server_cmaui:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu.delta_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_server_abc:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ vcpus_server_abc:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
org.openecomp.resource.abstract.nodes.heat.nested2:
derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
properties:
cmaui_names:
type: list
description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
entry_schema:
type: string
p1:
type: string
description: UID of OAM network
+ required: true
+ status: SUPPORTED
cmaui_image:
type: string
description: Image for CMAUI server
+ required: true
+ status: SUPPORTED
cmaui_flavor:
type: string
description: Flavor for CMAUI server
+ required: true
+ status: SUPPORTED
security_group_name:
description: not impotrtant
+ required: true
+ status: SUPPORTED
availability_zone_0:
type: string
description: availabilityzone name
+ required: true
+ status: SUPPORTED
abc_oam_ips:
type: string
+ required: true
+ status: SUPPORTED
cmaui_oam_ips:
type: string
+ required: true
+ status: SUPPORTED
requirements:
+ - dependency_server_cmaui:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- local_storage_server_cmaui:
capability: tosca.capabilities.Attachment
node: tosca.nodes.BlockStorage
@@ -209,14 +874,78 @@ node_types:
occurrences:
- 0
- UNBOUNDED
+ - dependency_cmaui_port_1:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
- link_cmaui_port_1:
capability: tosca.capabilities.network.Linkable
- node: tosca.nodes.Root
relationship: tosca.relationships.network.LinksTo
occurrences:
- 1
- 1
capabilities:
+ cpu.delta_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_server_cmaui:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_cmaui_port_1:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
host_server_cmaui:
type: tosca.capabilities.Container
valid_source_types:
@@ -224,28 +953,245 @@ node_types:
occurrences:
- 1
- UNBOUNDED
+ cpu_util_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.latency_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_cmaui_port_1:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ instance_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.root.size_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_server_cmaui:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
os_server_cmaui:
type: tosca.capabilities.OperatingSystem
occurrences:
- 1
- UNBOUNDED
+ disk.device.write.bytes.rate_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_server_cmaui:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_cmaui_port_1:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ vcpus_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
endpoint_server_cmaui:
type: tosca.capabilities.Endpoint.Admin
occurrences:
- 1
- UNBOUNDED
- binding_server_cmaui:
- type: tosca.capabilities.network.Bindable
+ disk.iops_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- scalable_server_cmaui:
- type: tosca.capabilities.Scalable
+ disk.device.iops_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- attachment_cmaui_port_1:
- type: tosca.capabilities.Attachment
+ disk.read.bytes_server_cmaui:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_cmaui_port_1:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ 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
rCodeList, deploymentFlavor, deployment, deploymentlocalFlavor); } else { componentComputeAssociations.forEach(componentComputeAssociation -> { if (componentComputeAssociation == null || !(componentComputeAssociation.getComponentId() != null && componentComputeAssociation.getComputeFlavorId() != null)) { validateCompositionEntity(errorCodeList, deploymentFlavor, deployment, deploymentlocalFlavor); } }); } } private void validateCompositionEntity(Collection<ErrorCode> errorCodeList, DeploymentFlavorEntity deploymentFlavor, DeploymentFlavorEntity deployment, DeploymentFlavor deploymentlocalFlavor) { CompositionEntityValidationData compositionEntityValidationData = new CompositionEntityValidationData(CompositionEntityType.deployment, deploymentFlavor.getId()); compositionEntityValidationData.setEntityName(deployment.getDeploymentFlavorCompositionData().getModel()); ErrorCode deploymentFlavorErrorBuilder = DeploymentFlavorErrorBuilder .getInvalidComponentComputeAssociationErrorBuilder(deploymentlocalFlavor.getModel()); errorCodeList.add(deploymentFlavorErrorBuilder); } private Set<CompositionEntityValidationData> componentValidation(String vspId, Version version) { Set<CompositionEntityValidationData> validationData = new HashSet<>(); Collection<ComponentEntity> components = componentDao.list(new ComponentEntity(vspId, version, null)); if (!CollectionUtils.isEmpty(components)) { components.forEach(component -> { validateImage(vspId, version, validationData, component); validateNic(vspId, version, validationData, component); }); } return validationData; } private void validateNic(String vspId, Version version, Set<CompositionEntityValidationData> validationData, ComponentEntity component) { Collection<NicEntity> nics = nicDao.list(new NicEntity(vspId, version, component.getId(), null)); if (CollectionUtils.isNotEmpty(nics)) { nics.forEach(nicEntity -> { NicEntity nic = nicDao.get(new NicEntity(vspId, version, component.getId(), nicEntity.getId())); NetworkType networkType = nic.getNicCompositionData().getNetworkType(); String networkId = nic.getNicCompositionData().getNetworkId(); if (networkType.equals(NetworkType.Internal) && networkId == null) { CompositionEntityValidationData compositionEntityValidationData = new CompositionEntityValidationData(CompositionEntityType.nic, nic.getId()); compositionEntityValidationData.setEntityName(nic.getNicCompositionData().getName()); ErrorCode nicInternalNetworkErrorBuilder = NicInternalNetworkErrorBuilder.getNicNullNetworkIdInternalNetworkIdErrorBuilder(); List<String> errors = new ArrayList<>(); errors.add(nicInternalNetworkErrorBuilder.message()); compositionEntityValidationData.setErrors(errors); validationData.add(compositionEntityValidationData); } }); } } private void validateImage(String vspId, Version version, Set<CompositionEntityValidationData> validationData, ComponentEntity component) { Collection<ImageEntity> images = imageDao.list(new ImageEntity(vspId, version, component.getId(), null)); if (CollectionUtils.isEmpty(images)) { CompositionEntityValidationData compositionEntityValidationData = new CompositionEntityValidationData(component.getType(), component.getId()); compositionEntityValidationData.setEntityName(component.getComponentCompositionData().getDisplayName()); ErrorCode vfcMissingImageErrorBuilder = ComponentErrorBuilder.vfcMissingImageErrorBuilder(); List<String> errors = new ArrayList<>(); errors.add(vfcMissingImageErrorBuilder.message()); compositionEntityValidationData.setErrors(errors); validationData.add(compositionEntityValidationData); } } private List<ErrorCode> validateVspFields(VspDetails vspDetails) { List<ErrorCode> errors = new ArrayList<>(); if (vspDetails.getName() == null) { errors.add(createMissingMandatoryFieldError("name")); } if (vspDetails.getDescription() == null) { errors.add(createMissingMandatoryFieldError("description")); } if (vspDetails.getVendorId() == null) { errors.add(createMissingMandatoryFieldError("vendor Id")); } if (vspDetails.getCategory() == null) { errors.add(createMissingMandatoryFieldError("category")); } if (vspDetails.getSubCategory() == null) { errors.add(createMissingMandatoryFieldError("sub category")); } return errors; } private List<ErrorCode> validateMandatoryLicenseFields(VspDetails vspDetails) { List<ErrorCode> errors = new ArrayList<>(); if (vspDetails.getVlmVersion() == null) { errors.add(createMissingMandatoryFieldError("licensing version")); } if (vspDetails.getLicenseAgreement() == null) { errors.add(createMissingMandatoryFieldError("license agreement")); } if (CollectionUtils.isEmpty(vspDetails.getFeatureGroups())) { errors.add(createMissingMandatoryFieldError("feature groups")); } return errors; } private Map<String, List<ErrorMessage>> compile(String vendorSoftwareProductId, Version version, ToscaServiceModel serviceModel) { if (isServiceModelMissing(serviceModel)) { return null; } enrichedServiceModelDao.deleteAll(vendorSoftwareProductId, version); if (CollectionUtils.isNotEmpty(serviceModel.getModelList())) { enrichedServiceModelDao.storeServiceModel(vendorSoftwareProductId, version, serviceModel); return Collections.emptyMap(); } final EnrichmentManager<ToscaServiceModel> enrichmentManager = EnrichmentManagerFactory.getInstance().createInterface(); enrichmentManager.init(vendorSoftwareProductId, version); enrichmentManager.setModel(serviceModel); final Map<String, List<ErrorMessage>> enrichErrors = enrichmentManager.enrich(); enrichedServiceModelDao.storeServiceModel(vendorSoftwareProductId, version, enrichmentManager.getModel()); return enrichErrors; } private Collection<ErrorCode> validateLicensingData(VspDetails vspDetails) { if (vspDetails.getVendorId() != null) { Optional<ErrorCode> errorCode = vendorLicenseFacade.validateVendorForUsage(vspDetails.getVendorId(), vspDetails.getVlmVersion()); if (errorCode.isPresent()) { return Collections.singleton(errorCode.get()); } } if (vspDetails.getVendorId() == null || vspDetails.getVlmVersion() == null || vspDetails.getLicenseAgreement() == null || CollectionUtils .isEmpty(vspDetails.getFeatureGroups())) { return Collections.emptyList(); } return vendorLicenseFacade.validateLicensingData(vspDetails.getVendorId(), vspDetails.getVlmVersion(), vspDetails.getLicenseAgreement(), vspDetails.getFeatureGroups()); } @Override public VspDetails createVsp(VspDetails vspDetails) { vspInfoDao.create(vspDetails); vspInfoDao.updateQuestionnaireData(vspDetails.getId(), vspDetails.getVersion(), new JsonSchemaDataGenerator(getVspQuestionnaireSchema(null)).generateData()); return vspDetails; } @Override public void updateVsp(VspDetails vspDetails) { VspDetails retrieved = vspInfoDao.get(vspDetails); if (retrieved == null) { throw new CoreException((new ErrorCode.ErrorCodeBuilder() .withMessage(String.format("Vsp with id %s and version %s does not exist.", vspDetails.getId(), vspDetails.getVersion().getId()))) .build()); } vspDetails.setOnboardingMethod(retrieved.getOnboardingMethod()); //If any existing feature group is removed from VSP which is also associated in DF then //update DF to remove feature group associations. updateDeploymentFlavor(vspDetails); updateUniqueName(retrieved.getName(), vspDetails.getName()); vspInfoDao.update(vspDetails); } private void updateDeploymentFlavor(VspDetails vspDetails) { final List<String> featureGroups = vspDetails.getFeatureGroups(); if (featureGroups != null) { final Collection<DeploymentFlavorEntity> deploymentFlavorEntities = deploymentFlavorDao .list(new DeploymentFlavorEntity(vspDetails.getId(), vspDetails.getVersion(), null)); if (Objects.nonNull(deploymentFlavorEntities)) { for (DeploymentFlavorEntity deploymentFlavorEntity : deploymentFlavorEntities) { updateDeploymentFlavourEntity(featureGroups, deploymentFlavorEntity); } } } } private void updateDeploymentFlavourEntity(List<String> featureGroups, DeploymentFlavorEntity deploymentFlavorEntity) { final String featureGroupId = deploymentFlavorEntity.getDeploymentFlavorCompositionData().getFeatureGroupId(); if (!featureGroups.contains(featureGroupId)) { DeploymentFlavor deploymentFlavorCompositionData = deploymentFlavorEntity.getDeploymentFlavorCompositionData(); deploymentFlavorCompositionData.setFeatureGroupId(null); deploymentFlavorEntity.setDeploymentFlavorCompositionData(deploymentFlavorCompositionData); deploymentFlavorDao.update(deploymentFlavorEntity); } } @Override public VspDetails getVsp(String vspId, Version version) { return getValidatedVsp(vspId, version); } private VspDetails getValidatedVsp(String vspId, Version version) { VspDetails vsp = vspInfoDao.get(new VspDetails(vspId, version)); if (vsp == null) { throw new CoreException(new VendorSoftwareProductNotFoundErrorBuilder(vspId).build()); } return vsp; } @Override public void deleteVsp(String vspId, Version version) { vspMergeDao.deleteHint(vspId, version); } @Override public List<PackageInfo> listPackages(String category, String subCategory) { return packageInfoDao.listByCategory(category, subCategory); } @Override public File getTranslatedFile(String vspId, Version version) { PackageInfo packageInfo = packageInfoDao.get(new PackageInfo(vspId, version)); if (packageInfo == null) { throw new CoreException(new PackageNotFoundErrorBuilder(vspId, version).build()); } ByteBuffer translatedFileBuffer = packageInfo.getTranslatedFile(); if (translatedFileBuffer == null) { throw new CoreException(new PackageInvalidErrorBuilder(vspId, version).build()); } File translatedFile = new File(VendorSoftwareProductConstants.VSP_PACKAGE_ZIP); try (FileOutputStream fos = new FileOutputStream(translatedFile)) { fos.write(translatedFileBuffer.array()); } catch (IOException exception) { throw new CoreException(new TranslationFileCreationErrorBuilder(vspId, version).build(), exception); } return translatedFile; } @Override public byte[] getOrchestrationTemplateFile(String vspId, Version version) { OrchestrationTemplateEntity uploadData = orchestrationTemplateDao.get(vspId, version); ByteBuffer contentData = uploadData.getContentData(); if (contentData == null) { return new byte[0]; } ByteArrayOutputStream baos = new ByteArrayOutputStream(); try (final ZipOutputStream zos = new ZipOutputStream(baos); ZipInputStream ignored = new ZipInputStream( new ByteArrayInputStream(contentData.array()))) { zos.write(contentData.array()); } catch (IOException exception) { throw new CoreException(new FileCreationErrorBuilder(vspId).build(), exception); } return baos.toByteArray(); } @Override public OrchestrationTemplateEntity getOrchestrationTemplateInfo(String vspId, Version version) { return orchestrationTemplateDao.getInfo(vspId, version); } @Override public Optional<FilesDataStructure> getOrchestrationTemplateStructure(String vspId, Version version) { Optional<String> jsonFileDataStructure = orchestrationTemplateDao.getOrchestrationTemplateStructure(vspId, version); if (jsonFileDataStructure.isPresent() && JsonUtil.isValidJson(jsonFileDataStructure.get())) { return Optional.of(JsonUtil.json2Object(jsonFileDataStructure.get(), FilesDataStructure.class)); } else { return Optional.empty(); } } @Override public PackageInfo createPackage(final String vspId, final Version version) throws IOException { final ToscaServiceModel toscaServiceModel = enrichedServiceModelDao.getServiceModel(vspId, version); final VspDetails vspDetails = vspInfoDao.get(new VspDetails(vspId, version)); final Version vlmVersion = vspDetails.getVlmVersion(); if (vlmVersion != null) { populateVersionsForVlm(vspDetails.getVendorId(), vlmVersion); } final PackageInfo packageInfo = createPackageInfo(vspDetails); final ToscaFileOutputServiceCsarImpl toscaServiceTemplateServiceCsar = new ToscaFileOutputServiceCsarImpl(); final FileContentHandler licenseArtifacts = licenseArtifactsService .createLicenseArtifacts(vspDetails.getId(), vspDetails.getVendorId(), vlmVersion, vspDetails.getFeatureGroups()); final ETSIService etsiService = new ETSIServiceImpl(); if (etsiService.hasEtsiSol261Metadata(toscaServiceModel.getArtifactFiles())) { final FileContentHandler handler = toscaServiceModel.getArtifactFiles(); final Manifest manifest = etsiService.getManifest(handler); final Optional<Map<String, Path>> fromToMovedPaths = etsiService.moveNonManoFileToArtifactFolder(handler); fromToMovedPaths.ifPresent(it -> etsiService.updateMainDescriptorPaths(toscaServiceModel, it)); packageInfo.setResourceType(etsiService.getResourceType(manifest).name()); if (CollectionUtils.isEmpty(vspDetails.getModelIdList())) { packageInfo.setVendorRelease(etsiService.getHighestCompatibleSpecificationVersion(handler).getOriginalValue()); } } packageInfo.setTranslatedFile(ByteBuffer.wrap(toscaServiceTemplateServiceCsar.createOutputFile(toscaServiceModel, licenseArtifacts))); packageInfoDao.create(packageInfo); return packageInfo; } void populateVersionsForVlm(String vlmId, Version vlmVersion) { VersioningManager versioningManager = VersioningManagerFactory.getInstance().createInterface(); versioningManager.list(vlmId).stream().filter(version -> version.getId().equalsIgnoreCase(vlmVersion.getId())).findAny() .ifPresent(version -> { vlmVersion.setMinor(version.getMinor()); vlmVersion.setMajor(version.getMajor()); }); } private PackageInfo createPackageInfo(final VspDetails vspDetails) { final var packageInfo = new PackageInfo(vspDetails.getId(), vspDetails.getVersion()); packageInfo.setVspName(vspDetails.getName()); packageInfo.setVspDescription(vspDetails.getDescription()); packageInfo.setCategory(vspDetails.getCategory()); packageInfo.setSubCategory(vspDetails.getSubCategory()); packageInfo.setVendorName(vspDetails.getVendorName()); packageInfo.setPackageType(VendorSoftwareProductConstants.CSAR); packageInfo.setVendorRelease("1.0"); //todo TBD if (CollectionUtils.isNotEmpty(vspDetails.getModelIdList())) { packageInfo.setModels(new HashSet<>(vspDetails.getModelIdList())); } return packageInfo; } @Override public QuestionnaireResponse getVspQuestionnaire(String vspId, Version version) { VspQuestionnaireEntity retrieved = vspInfoDao.getQuestionnaire(vspId, version); VersioningUtil.validateEntityExistence(retrieved, new VspQuestionnaireEntity(vspId, version), VspDetails.ENTITY_TYPE); String questionnaireData = retrieved.getQuestionnaireData(); QuestionnaireResponse questionnaireResponse = new QuestionnaireResponse(); questionnaireResponse.setData(questionnaireData); questionnaireResponse.setSchema(getVspQuestionnaireSchema(null)); return questionnaireResponse; } @Override public void updateVspQuestionnaire(String vspId, Version version, String questionnaireData) { vspInfoDao.updateQuestionnaireData(vspId, version, questionnaireData); } private Map<String, List<ErrorMessage>> validateOrchestrationTemplate(OrchestrationTemplateEntity orchestrationTemplate) throws IOException { if (isOrchestrationTemplateMissing(orchestrationTemplate)) { return null; } Map<String, List<ErrorMessage>> validationErrors = new HashMap<>(); FileContentHandler fileContentMap = CommonUtil .validateAndUploadFileContent(OnboardingTypesEnum.getOnboardingTypesEnum(orchestrationTemplate.getFileSuffix()), orchestrationTemplate.getContentData().array()); try (InputStream zipFileManifest = fileContentMap.getFileContentAsStream(SdcCommon.MANIFEST_NAME)) { addDummyHeatBase(zipFileManifest, fileContentMap); } catch (Exception e) { LOGGER.error("Invalid package content", e); } if (CommonUtil.isFileOriginFromZip(orchestrationTemplate.getFileSuffix())) { ValidationManager validationManager = ValidationManagerUtil.initValidationManager(fileContentMap); validationErrors.putAll(validationManager.validate()); } return MapUtils.isEmpty(MessageContainerUtil.getMessageByLevel(ErrorLevel.ERROR, validationErrors)) ? null : validationErrors; } private FileContentHandler addDummyHeatBase(InputStream zipFileManifest, FileContentHandler fileContentMap) { ManifestContent manifestContent = JsonUtil.json2Object(zipFileManifest, ManifestContent.class); for (FileData fileData : manifestContent.getData()) { if ((fileData.getFile()).contains("dummy_ignore.yaml")) { String filePath = new File("").getAbsolutePath() + "/resources"; File envFilePath = new File(filePath + "/base_template.env"); File baseFilePath = new File(filePath + "/base_template.yaml"); try (InputStream envStream = new FileInputStream(envFilePath); InputStream baseStream = new FileInputStream(baseFilePath);) { fileContentMap.addFile("base_template_dummy_ignore.env", envStream); fileContentMap.addFile("base_template_dummy_ignore.yaml", baseStream); } catch (Exception e) { LOGGER.error("File not found error {}", e); } } } return fileContentMap; } private QuestionnaireValidationResult validateQuestionnaire(String vspId, Version version, String onboardingMethod) { // The apis of CompositionEntityDataManager used here are stateful! // so, it must be re-created from scratch when it is used! CompositionEntityDataManager compositionEntityDataManager = CompositionEntityDataManagerFactory.getInstance().createInterface(); compositionEntityDataManager.addEntity(vspInfoDao.getQuestionnaire(vspId, version), null); Collection<NicEntity> nics = nicDao.listByVsp(vspId, version); Map<String, List<String>> nicNamesByComponent = new HashMap<>(); for (NicEntity nicEntity : nics) { compositionEntityDataManager.addEntity(nicEntity, null); Nic nic = nicEntity.getNicCompositionData(); if (nic != null && nic.getName() != null) { List<String> nicNames = nicNamesByComponent.computeIfAbsent(nicEntity.getComponentId(), k -> new ArrayList<>()); nicNames.add(nic.getName()); } } Collection<ComponentEntity> components = componentDao.listCompositionAndQuestionnaire(vspId, version); components.forEach(component -> compositionEntityDataManager.addEntity(component, new ComponentQuestionnaireSchemaInput(nicNamesByComponent.get(component.getId()), JsonUtil.json2Object(component.getQuestionnaireData(), Map.class), null, OnboardingMethod.Manual.name().equals(onboardingMethod)))); Collection<ComputeEntity> computes = computeDao.listByVsp(vspId, version); computes.forEach(compute -> compositionEntityDataManager.addEntity(compute, null)); if (OnboardingMethod.Manual.name().equals(onboardingMethod)) { Collection<ImageEntity> images = imageDao.listByVsp(vspId, version); images.forEach(image -> compositionEntityDataManager.addEntity(image, null)); } Map<CompositionEntityId, Collection<String>> errorsByEntityId = compositionEntityDataManager.validateEntitiesQuestionnaire(); if (MapUtils.isNotEmpty(errorsByEntityId)) { compositionEntityDataManager.buildTrees(); compositionEntityDataManager.addErrorsToTrees(errorsByEntityId); return new QuestionnaireValidationResult(compositionEntityDataManager.getAllErrorsByVsp(vspId)); } return null; } @Override public File getInformationArtifact(String vspId, Version version) { VspDetails vspDetails = vspInfoDao.get(new VspDetails(vspId, version)); if (vspDetails == null) { return null; } String vspName = vspDetails.getName(); ByteBuffer infoArtifactAsByteBuffer; File infoArtifactFile; try { infoArtifactAsByteBuffer = ByteBuffer.wrap(informationArtifactGenerator.generate(vspId, version).getBytes()); infoArtifactFile = new File(String.format(VendorSoftwareProductConstants.INFORMATION_ARTIFACT_NAME, vspName)); try (OutputStream out = new BufferedOutputStream(new FileOutputStream(infoArtifactFile))) { out.write(infoArtifactAsByteBuffer.array()); } } catch (IOException ex) { throw new CoreException(new InformationArtifactCreationErrorBuilder(vspId).build(), ex); } return infoArtifactFile; } String getVspQuestionnaireSchema(SchemaTemplateInput schemaInput) { return SchemaGenerator.generate(SchemaTemplateContext.questionnaire, CompositionEntityType.vsp, schemaInput); } @Override public Optional<Pair<String, byte[]>> get(String vspId, Version version) throws IOException { OrchestrationTemplateEntity orchestrationTemplateEntity = orchestrationTemplateDao.get(vspId, version); if (isOrchestrationTemplateMissing(orchestrationTemplateEntity)) { return Optional.empty(); } if (CommonUtil.isFileOriginFromZip(orchestrationTemplateEntity.getFileSuffix())) { return Optional.of(new ImmutablePair<>(OnboardingTypesEnum.ZIP.toString(), candidateService.getZipData(orchestrationTemplateEntity.getContentData()))); } return Optional.of(new ImmutablePair<>(orchestrationTemplateEntity.getFileSuffix(), orchestrationTemplateEntity.getContentData().array())); } void updateUniqueName(String oldVspName, String newVspName) { uniqueValueUtil.updateUniqueValue(VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, oldVspName, newVspName); } @Override public Collection<ComputeEntity> getComputeByVsp(String vspId, Version version) { return computeDao.listByVsp(vspId, version); } private boolean isOrchestrationTemplateMissing(OrchestrationTemplateEntity orchestrationTemplate) { return orchestrationTemplate == null || orchestrationTemplate.getContentData() == null || orchestrationTemplate.getFileSuffix() == null || orchestrationTemplate.getFileName() == null; } private boolean isServiceModelMissing(ToscaServiceModel serviceModel) { return serviceModel == null || serviceModel.getEntryDefinitionServiceTemplate() == null; } public static class Builder { private VspMergeDao vspMergeDao; private OrchestrationTemplateDao orchestrationTemplateDao; private OrchestrationTemplateCandidateManager orchestrationTemplateCandidateManager; private VendorSoftwareProductInfoDao vspInfoDao; private VendorLicenseFacade vendorLicenseFacade; private ServiceModelDao<ToscaServiceModel> serviceModelDao; private EnrichedServiceModelDao<ToscaServiceModel> enrichedServiceModelDao; private VendorLicenseArtifactsService licenseArtifactsService; private InformationArtifactGenerator informationArtifactGenerator; private PackageInfoDao packageInfoDao; private DeploymentFlavorDao deploymentFlavorDao; private ComponentDao componentDao; private ComponentDependencyModelDao componentDependencyModelDao; private NicDao nicDao; private ComputeDao computeDao; private ImageDao imageDao; private ManualVspToscaManager manualVspToscaManager; private UniqueValueDao uniqueValueDao; private CandidateService candidateService; public Builder vspMerge(VspMergeDao vspMergeDao) { this.vspMergeDao = vspMergeDao; return this; } public Builder orchestrationTemplate(OrchestrationTemplateDao orchestrationTemplateDao) { this.orchestrationTemplateDao = orchestrationTemplateDao; return this; } public Builder orchestrationTemplateCandidateManager(OrchestrationTemplateCandidateManager orchestrationTemplateCandidateManager) { this.orchestrationTemplateCandidateManager = orchestrationTemplateCandidateManager; return this; } public Builder vspInfo(VendorSoftwareProductInfoDao vspInfoDao) { this.vspInfoDao = vspInfoDao; return this; } public Builder vendorLicenseFacade(VendorLicenseFacade vendorLicenseFacade) { this.vendorLicenseFacade = vendorLicenseFacade; return this; } public Builder serviceModel(ServiceModelDao<ToscaServiceModel> serviceModelDao) { this.serviceModelDao = serviceModelDao; return this; } public Builder enrichedServiceModel(EnrichedServiceModelDao<ToscaServiceModel> enrichedServiceModelDao) { this.enrichedServiceModelDao = enrichedServiceModelDao; return this; } public Builder licenseArtifactsService(VendorLicenseArtifactsService licenseArtifactsService) { this.licenseArtifactsService = licenseArtifactsService; return this; } public Builder informationArtifactGenerator(InformationArtifactGenerator informationArtifactGenerator) { this.informationArtifactGenerator = informationArtifactGenerator; return this; } public Builder packageInfo(PackageInfoDao packageInfoDao) { this.packageInfoDao = packageInfoDao; return this; } public Builder deploymentFlavor(DeploymentFlavorDao deploymentFlavorDao) { this.deploymentFlavorDao = deploymentFlavorDao; return this; } public Builder component(ComponentDao componentDao) { this.componentDao = componentDao; return this; } public Builder componentDependencyModel(ComponentDependencyModelDao componentDependencyModelDao) { this.componentDependencyModelDao = componentDependencyModelDao; return this; } public Builder nic(NicDao nicDao) { this.nicDao = nicDao; return this; } public Builder compute(ComputeDao computeDao) { this.computeDao = computeDao; return this; } public Builder image(ImageDao imageDao) { this.imageDao = imageDao; return this; } public Builder manualVspToscaManager(ManualVspToscaManager manualVspToscaManager) { this.manualVspToscaManager = manualVspToscaManager; return this; } public Builder uniqueValue(UniqueValueDao uniqueValueDao) { this.uniqueValueDao = uniqueValueDao; return this; } public Builder candidateService(CandidateService candidateService) { this.candidateService = candidateService; return this; } private void registerToVersioning() { if (serviceModelDao != null) { serviceModelDao.registerVersioning(VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); } if (enrichedServiceModelDao != null) { enrichedServiceModelDao.registerVersioning(VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); } } public VendorSoftwareProductManager build() { VendorSoftwareProductManagerImpl vendorSoftwareProductManager = new VendorSoftwareProductManagerImpl(); vendorSoftwareProductManager.vspMergeDao = this.vspMergeDao; vendorSoftwareProductManager.orchestrationTemplateDao = this.orchestrationTemplateDao; vendorSoftwareProductManager.orchestrationTemplateCandidateManager = this.orchestrationTemplateCandidateManager; vendorSoftwareProductManager.vspInfoDao = this.vspInfoDao; vendorSoftwareProductManager.vendorLicenseFacade = this.vendorLicenseFacade; vendorSoftwareProductManager.serviceModelDao = this.serviceModelDao; vendorSoftwareProductManager.enrichedServiceModelDao = this.enrichedServiceModelDao; vendorSoftwareProductManager.licenseArtifactsService = this.licenseArtifactsService; vendorSoftwareProductManager.informationArtifactGenerator = this.informationArtifactGenerator; vendorSoftwareProductManager.packageInfoDao = this.packageInfoDao; vendorSoftwareProductManager.deploymentFlavorDao = this.deploymentFlavorDao; vendorSoftwareProductManager.componentDao = this.componentDao; vendorSoftwareProductManager.componentDependencyModelDao = this.componentDependencyModelDao; vendorSoftwareProductManager.nicDao = this.nicDao; vendorSoftwareProductManager.computeDao = this.computeDao; vendorSoftwareProductManager.imageDao = this.imageDao; vendorSoftwareProductManager.manualVspToscaManager = this.manualVspToscaManager; vendorSoftwareProductManager.uniqueValueUtil = new UniqueValueUtil(this.uniqueValueDao); vendorSoftwareProductManager.candidateService = candidateService; this.registerToVersioning(); return vendorSoftwareProductManager; } } }