/*!
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
import keyMirror from 'nfvo-utils/KeyMirror.js';
import i18n from 'nfvo-utils/i18n/i18n.js';
import InputOptions, {other as optionInputOther} from 'nfvo-components/input/inputOptions/InputOptions.jsx';
export const actionTypes = keyMirror({
LICENSE_KEY_GROUPS_LIST_LOADED: null,
DELETE_LICENSE_KEY_GROUP: null,
EDIT_LICENSE_KEY_GROUP: null,
ADD_LICENSE_KEY_GROUP: null,
LICENSE_KEY_GROUPS_DELETE_CONFIRM: null,
licenseKeyGroupsEditor: {
OPEN: null,
CLOSE: null,
DATA_CHANGED: null,
}
});
export const defaultState = {
licenseKeyGroupsEditor: {
type: '',
operationalScope: {choices: [], other: ''}
}
};
export const LKG_FORM_NAME = 'LKGFORM';
export const optionsInputValues = {
OPERATIONAL_SCOPE: [
{enum: '', title: i18n('please select…')},
{enum: 'Network_Wide', title: 'Network Wide'},
{enum: 'Availability_Zone', title: 'Availability Zone'},
{enum: 'Data_Center', title: 'Data Center'},
{enum: 'Tenant', title: 'Tenant'},
{enum: 'VM', title: 'VM'},
{enum: 'CPU', title: 'CPU'},
{enum: 'Core', title: 'Core'}
],
TYPE: [
{enum: '', title: i18n('please select…')},
{enum: 'Universal', title: 'Universal'},
{enum: 'Unique', title: 'Unique'},
{enum: 'One_Time', title: 'One Time'}
]
};
export const extractValue = (item) => {
if (item === undefined) {return '';} //TODO fix it later
return item ? item === optionInputOther.OTHER ? item : InputOptions.getTitleByName(optionsInputValues, item) : '';
};
export const getOperationalScopes = (operationalScope) => {
if(operationalScope.choices.toString() === i18n(optionInputOther.OTHER) && operationalScope.other !== '') {
return operationalScope.other;
}
else {
let allOpScopes = '';
for (let opScope of operationalScope.choices) {
allOpScopes += allOpScopes === '' ? InputOptions.getTitleByName(optionsInputValues, opScope) : `, ${InputOptions.getTitleByName(optionsInputValues, opScope)}`;
}
return allOpScopes;
}
};
{ color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
}
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
tosca_definitions_version: tosca_simple_openecomp_1_0
metadata:
filename: openecomp/nodes.yml
version: '1.0'
imports:
- openecomp_index:
file: _index.yml
node_types:
org.openecomp.resource.vl.nodes.network.Network:
derived_from: tosca.nodes.network.Network
properties:
vendor:
type: string
required: false
vl_name:
type: string
required: false
capabilities:
end_point:
type: tosca.capabilities.Endpoint
org.openecomp.resource.abstract.nodes.AbstractSubstitute:
derived_from: tosca.nodes.Root
properties:
service_template_filter:
description: Substitution Filter
type: org.openecomp.datatypes.substitution.SubstitutionFiltering
status: SUPPORTED
required: true
org.openecomp.resource.vl.extVL:
derived_from: org.openecomp.resource.vl.nodes.network.Network
description: VF Tenant oam protected network
properties:
network_type:
description: OPENECOMP supported network types.
type: string
required: true
network_role:
description: |
Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network
type: string
required: true
network_scope:
description: |
Uniquely identifies the network scope. Valid values for the network scope includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects the VFs within the service GLOBAL - Global network which can be shared by multiple services
type: string
constraints:
- valid_values:
- VF
- SERVICE
- GLOBAL
network_technology:
description: OPENECOMP supported network technology
type: string
required: true
network_ecomp_naming:
type: org.openecomp.datatypes.EcompNaming
required: true
network_homing:
type: org.openecomp.datatypes.EcompHoming
required: true
network_assignments:
type: org.openecomp.datatypes.network.NetworkAssignments
required: true
provider_network:
type: org.openecomp.datatypes.network.ProviderNetwork
required: true
network_flows:
type: org.openecomp.datatypes.network.NetworkFlows
required: false
org.openecomp.resource.vfc.nodes.Compute:
derived_from: tosca.nodes.Compute
capabilities:
disk.ephemeral.size:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
instance:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
memory:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.iops:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.read.requests:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
cpu.delta:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.capacity:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.read.bytes:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.write.bytes:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.latency:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.read.bytes.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.usage:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
cpu_util:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.allocation:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.write.requests.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.write.bytes.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.latency:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
cpu:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.write.requests:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.write.bytes:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.read.requests:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.root.size:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.write.bytes.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
vcpus:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.iops:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.usage:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.read.requests.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.write.requests.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.allocation:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.read.bytes.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.read.bytes:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
memory.usage:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.device.capacity:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
memory.resident:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
disk.write.requests:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
org.openecomp.resource.abstract.nodes.DFAbstractSubstitute:
derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
properties:
license_feature_group_ref:
description: refrence to license feature group
type: string
status: SUPPORTED
required: true
requirements:
- deployment_flavor:
capability: org.openecomp.capabilities.attachment.DeploymentFlavor
node: org.openecomp.resource.nodes.DeploymentFlavor
relationship: org.openecomp.relationships.AttachesTo
occurrences:
- 1
- UNBOUNDED
org.openecomp.resource.abstract.nodes.VFC:
derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
properties:
high_availablity:
description: high_availablity
type: string
status: SUPPORTED
required: false
vm_image_name:
description: Master image_name volume id
type: string
status: SUPPORTED
required: true
vm_flavor_name:
description: Master image_name volume id
type: string
status: SUPPORTED
required: true
nfc_naming_code:
description: nfc code for instance naming
type: string
status: SUPPORTED
required: false
vm_type_tag:
description: vm type based on naming Convention
type: string
status: SUPPORTED
required: false
vfc_naming:
description: vfc naming
type: org.openecomp.datatypes.Naming
status: SUPPORTED
default: false
required: false
min_instances:
description: Minimum number of VFC Instances
type: integer
status: SUPPORTED
default: 0
required: false
constraints:
- greater_or_equal: 0
max_instances:
description: Maximum number of VFC Instances
type: integer
status: SUPPORTED
required: false
constraints:
- greater_or_equal: 1
org.openecomp.resource.vl.ELine:
derived_from: org.openecomp.resource.vl.nodes.network.Network
capabilities:
linkable:
type: tosca.capabilities.network.Linkable
occurrences:
- 0
- 2
org.openecomp.resource.cp.nodes.network.SubInterface:
derived_from: tosca.nodes.network.Port
org.openecomp.resource.vl.internalVL:
derived_from: org.openecomp.resource.vl.nodes.network.Network
description: The AT&T internal (VF-level) Virtual Link
org.openecomp.resource.cp.nodes.network.Port:
derived_from: tosca.nodes.network.Port
properties:
network_role_tag:
description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
type: string
required: true
mac_requirements:
description: identifies MAC address assignments to the CP
type: org.openecomp.datatypes.network.MacRequirements
required: false
vlan_requirements:
description: identifies vlan address assignments to the CP
type: list
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
required: false
ip_requirements:
description: identifies IP requirements to the CP
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
required: true
capabilities:
network.incoming.packets.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.outgoing.bytes:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.outgoing.packets.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.outpoing.packets:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.incoming.bytes.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.incoming.bytes:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.outgoing.bytes.rate:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
network.incoming.packets:
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
type: org.openecomp.capabilities.metric.Ceilometer
occurrences:
- 1
- UNBOUNDED
org.openecomp.resource.nodes.DeploymentFlavor:
derived_from: tosca.nodes.Root
capabilities:
deployment_flavor:
description: Allowed deployment flavors of an abstract node
type: org.openecomp.capabilities.attachment.DeploymentFlavor
occurrences:
- 1
- UNBOUNDED
org.openecomp.resource.cp.extCP:
derived_from: tosca.nodes.Root
description: The AT&T Connection Point base type all other CP derive from
properties:
network_role:
description: identical to VL network_role
type: string
required: true
order:
description: The order of the CP on the compute instance (e.g. eth2).
type: integer
required: true
network_role_tag:
description: Must correlate to the set of defined “network-role�? tag identifiers from the associated HEAT template
type: string
required: true
mac_requirements:
description: identifies MAC address assignments to the CP
type: org.openecomp.datatypes.network.MacRequirements
required: false
vlan_requirements:
description: identifies vlan address assignments to the CP
type: list
entry_schema:
type: org.openecomp.datatypes.network.VlanRequirements
required: false
ip_requirements:
description: identifies IP requirements to the CP
type: list
entry_schema:
type: org.openecomp.datatypes.network.IpRequirements
required: true
capabilities:
internal_connectionPoint:
type: tosca.capabilities.Node
valid_source_types:
- tosca.nodes.network.Port
requirements:
- virtualLink:
capability: tosca.capabilities.network.Linkable
relationship: tosca.relationships.network.LinksTo
- virtualBinding:
capability: tosca.capabilities.network.Bindable
relationship: tosca.relationships.network.BindsTo
- external_virtualLink:
capability: tosca.capabilities.network.Linkable
node: org.openecomp.resource.vl.nodes.network.Network
relationship: tosca.relationships.network.LinksTo
org.openecomp.resource.vfc.nodes.volume:
derived_from: tosca.nodes.BlockStorage